Botond Dénes
6c3f104b67
cql3: store raw query string in utils::chunked_string
...
Read query as fragmented string from the input stream in
transport/server.cc, propagate it a such to query_processor::prepare()
and also store it as such in cql3::cql_statement::raw_cql_statement.
Unfortunately, the query still has to be linearized for parsing, as
ANTLR -- although allows for custom InputStream implementation -- plays
pointer arithmetics games with the pointers obtained from them, so
fragmented input cannot be used.
To amortize the cost of this linearization, the query string is
linearized through utils::reusable_buffer. The parser can be
invoked recursively, nested invokations linearize directly.
Still, this patch limits the places where the query is linearized to the
following:
* Parsing
* Audit
* Logs and error messages
So the normal query paths for queries that actually can get arbitrarily
large (UPDATE and INSERT) should only linearize the query temporarily
for parsing.
2026-05-26 09:08:06 +03:00
..
2026-04-19 20:57:03 +03:00
2026-05-26 09:08:06 +03:00
2026-04-17 09:58:08 +02:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-05-19 08:52:47 +02:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 08:51:53 +03:00
2026-04-21 21:52:26 +02:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-15 18:57:22 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-05-26 00:19:03 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 08:51:24 +03:00
2026-04-16 08:51:24 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-05-13 08:43:24 +02:00
2026-05-13 08:43:24 +02:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 08:52:19 +03:00
2026-04-16 08:52:19 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-15 14:40:15 +03:00
2026-04-15 14:40:15 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-22 01:46:11 +02:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-05-25 10:09:11 +03:00
2026-05-25 10:09:11 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-19 20:57:03 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-05-19 08:52:47 +02:00
2026-04-19 20:57:03 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-05-26 09:08:06 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-05-25 10:09:11 +03:00
2026-04-19 20:57:03 +03:00
2026-04-16 07:57:25 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00