Skip to content

feat(dialect): render types from the JDBC type, not the model name - #42

Merged
stbischof merged 1 commit into
eclipse-daanse:mainfrom
stbischof:wip/sqlquery-querymap
Aug 4, 2026
Merged

feat(dialect): render types from the JDBC type, not the model name#42
stbischof merged 1 commit into
eclipse-daanse:mainfrom
stbischof:wip/sqlquery-querymap

Conversation

@stbischof

Copy link
Copy Markdown
Contributor

nativeType asks the JDBC type instead of the model's type name, so a model may say BOOLEAN or CHARACTER VARYING and each database still gets a spelling it accepts. NUMERIC and DECIMAL stay distinct.

New hooks: booleanTypeName, timestampTypeName, bigintTypeName, createTableSuffix, analyzeSchema, analyzeTable, supportsTransactions.

Filled in: BOOLEAN as SMALLINT (duckdb, derby, oracle, sqlite, clickhouse), TINYINT(1) (mysql, mariadb), BIT (mssql); TIMESTAMP as DATETIME (mysql, mariadb, mssql); BIGINT as DECIMAL(15,0) with one-row inserts on oracle; MergeTree and Nullable(T) on clickhouse; ANALYZE on h2 and postgres.

nativeType asks the JDBC type instead of the model's type name, so a
model may say BOOLEAN or CHARACTER VARYING and each database still gets
a spelling it accepts. NUMERIC and DECIMAL stay distinct.

New hooks: booleanTypeName, timestampTypeName, bigintTypeName,
createTableSuffix, analyzeSchema, analyzeTable, supportsTransactions.

Filled in: BOOLEAN as SMALLINT (duckdb, derby, oracle, sqlite,
clickhouse), TINYINT(1) (mysql, mariadb), BIT (mssql); TIMESTAMP as
DATETIME (mysql, mariadb, mssql); BIGINT as DECIMAL(15,0) with one-row
inserts on oracle; MergeTree and Nullable(T) on clickhouse; ANALYZE on
h2 and postgres.

Signed-off-by: Stefan Bischof <stbischof@bipolis.org>
@stbischof
stbischof merged commit 82bfbed into eclipse-daanse:main Aug 4, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant