Skip to content

Extension to parameterized queries and correct date handling#3

Open
grundrauschen wants to merge 20 commits intonew_masterfrom
fix_for_lana
Open

Extension to parameterized queries and correct date handling#3
grundrauschen wants to merge 20 commits intonew_masterfrom
fix_for_lana

Conversation

@grundrauschen
Copy link
Copy Markdown

This MR is intended to review the code and enhance code quality of the included changes.

As usage with DESCRIBE queries and parameters is currently not supported by Clickhouse (ClickHouse/ClickHouse#24301), I will not directly try to bring the changes upstream into Clickhousex.

After DESCRIBE queries are supported, I would rearrange the changes into two different MRs, one for the parameterized queries and one for type DateTime64 to integrate into upstream Clickhousex.

Attention: This MR will never be merged into MASTER as is, as this will conflict with upstream.
The MR is only intended to get feedback and enhance the code quality.

Tobias Deussing added 17 commits January 27, 2021 17:24
Before the change `INSERT INTO ... SELECT ...` statements
would not be matched correctly.
When selecting "NULL AS `columnname`", the column will contain only
NULL for the fields and no subsequent data type.
This change adds the correct clause to resume on an empty string
at the end of a data package without and unnecessary
concatenation operation.
As the functionality for a variable precision is not currently
implemented, the precision will be locked by the function header.
DateTime64 with different level of precision can be decoded
from binary protocol.
The extractor reads in the parts of the int in the wrong
order.
The behaviour in `Binary.decode` is the correct one when comparing
it to hand calculated examples of the LEB128 encoding.
This error lead to wrong handling of strings in column names.
Add default options in a centralized place to ease
extending of default options with other programmatic parameters.
DateTime objects can be encoded with different precision and
space needs.
To be able to use different modes in the software,
an option was added to parse Elixir DateTime objects into
different Clickhouse DateTime objects.
Tobias Deussing and others added 3 commits June 10, 2021 09:04
For very long queries like `CREATE` with large amounts
of columns, we run into limitations of the parameter length.
As it is only necessary to put the query into the URL for
INSERT statements, the default is now to send them in the body.

Further SHOW statements use the FORMAT statement for the
configured codec.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants