You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
H2 officially supports only OFFSET / FETCH from the SQL Standard: https://h2database.com/html/commands.html#select
H2 accepts it unconditionally (even in compatibility modes for database systems without its support).
But H2Dialect produces non-standard LIMIT / OFFSET for a some reason:
The text was updated successfully, but these errors were encountered:
katzyn
changed the title
H2Dialectу.LimitClause produces invalid SQL instead of standard OFFSET / FETCH
H2Dialect.LimitClause produces invalid SQL instead of standard OFFSET / FETCH
Jul 6, 2022
Reuse H2 dialect settings in R2DBC-specific H2 dialect.
Refactor ArrayColumns support classes, into toplevel-types. Let R2DBC H2 sublass the relational H2Dialect to decouple from Postgres.
See #1287
Original pull request #1297
H2 officially supports only OFFSET / FETCH from the SQL Standard:
https://h2database.com/html/commands.html#select
H2 accepts it unconditionally (even in compatibility modes for database systems without its support).
But
H2Dialect
produces non-standardLIMIT
/OFFSET
for a some reason:spring-data-relational/spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/H2Dialect.java
Lines 48 to 60 in ae9d42e
H2 accepts this legacy syntax only in Regular, Legacy, DB2, HSQLDB, MariaDB, MySQL, and PostgreSQL compatibility modes.
https://h2database.com/html/features.html#compatibility
It isn't accepted in Strict, Derby, MSSQLServer, and Oracle compatibility modes and it causes syntax errors like that one:
https://stackoverflow.com/questions/72880912/spring-boot-2-7-1-with-data-r2dbc-findbyid-fails-when-using-h2-with-mssqlserve
The text was updated successfully, but these errors were encountered: