|
|
Change Log
Next Version (unreleased)
Version 2.3.232 (2024-08-11)
- Issue #4005: Add optional version to RANDOM_UUID function and generator of version 7 in addition to existing version 4
- Issue #3945: Column not found in correlated subquery, when referencing outer column from LEFT JOIN .. ON clause
- Issue #4097: StackOverflowException when using multiple SELECT statements in one query (2.3.230)
- Issue #3982: Potential issue when using ROUND
- Issue #3894: Race condition causing stale data in query last result cache
- Issue #4075: infinite loop in compact
- Issue #4091: Wrong case with linked table to postgresql
- Issue #4088: BadGrammarException when the same alias is used within two different CTEs
- Issue #4079: [2.3.230] Regression in ORDER BY ... DESC on dates
Version 2.3.230 (2024-07-15)
- Issue #4091: Wrong case with linked table to postgresql
- Issue #2752: Fix for "double mark" error at database backup opening
- Issue #4052: Allow 0 as a valid chunk id
- Issue #4012: Fix "Chunk not found" database corruption by ensure proper prologue/epilogue for every SQL statement in JDBC ";" - separated list
- Issue #3960: Fix NPE in page rewrite
- Issue #3909: Reduce resource consumption of too aggressive disk space housekeeping
- Issue #701: An available index is never used for ordering, when the requested order is DESC
- Issue #4036: NULLS NOT DISTINCT constraint changed after column dropped
- Issue #4033: Wrong array produced when using ARRAY_AGG() on UNNEST(ARRAY[CAST(? AS INT)]) expression
in a PreparedStatement
- Issue #3909: Maintenance taking too much resources since 2.2.222
- Issue #4010: org.h2.jdbc.JdbcConnection.getTypeMap() returns null
- PR #4007: Update pom.xml related to CVE-2024-1597
- Issue #3907: MvStoreTool unable to Repair() or Rollback() [2.1.214]
- RP #3997: Server-side batch execution for prepared statements
- Issue #3106: Trailing commas in SELECT are accepted by the parser
- PR #3992: Add IPv6 support to H2 Console
- Issue #3966: Unable to insert null into a JSON column
- Issue #3554: Regression in 2.1.214 when joining 2 recursive CTE containing bind values
- PR #3989: Refactor CTE-related code and reduce recompilations
- Issue #3987: Allow empty <with column list>
- Issue #822: WITH clauses' column aliases are not maintained correctly when selecting from CTE from within a derived
table
- Issue #910: Common Table Expressions (CTE) inside WITH should have their own identifier scope
- Issue #3981: Unexpected result when using trigonometric functions
- Issue #3983: INVISIBLE columns should be ignored in INSERT statement without explicit column list
- Issue #3960: NullPointerException when executing batch insert
- Issue #3972: Constraints of local temporary tables aren't listed in INFORMATION_SCHEMA
- PR #3973: Fix Tool.showUsage() for GUIConsole
- Issue #3968: Add possibility to get index size on disk
- Issue #3909: Maintenance taking too much resources since 2.2.222
- Issue #3950: JdbcSQLIntegrityConstraintViolationException: Unique index or primary key violation
- PR #3947: Compound index search fix
- Issue #3940: Wrong estimation of a query execution cost with spatial index
- Issue #3931: MVStoreTool -dump throws a NullPointerException or returns binary data
- Issue #3910: Small error in the tutorial regarding full text search
- PR #3915: Improving search by compound indexes
- RP #3893: Fixed unit test is support en_GB locale
- Issue #2834: MERGE INTO fails with an error "Timeout trying to lock table"
- Issue #3883: Performance regression in 2.2.222
- PR #3879: Require Java 11
Version 2.2.224 (2023-09-17)
Version 2.2.222 (2023-08-22)
- Fixed race condition in MVStore causing database corruption "File corrupted in chunk ###"
- PR #3873: ToC cache is effectively not used after the first shutdown
- Issue #3868: INFORMATION_SCHEMA.SESSIONS.ISOLATION_LEVEL returns isolation level of the current session in all rows
- PR #3865: Add possibility to enable virtual worker threads in TCP, Web, and PG servers on Java 21+
- PR #3864: Improve performance of TCP client driver when it is used from virtual threads
- Issue #2665: Parser shouldn't suggest compatibility syntax elements on parsing error
- Issue #3089: GREATEST and LEAST aren't fully compliant with the SQL Standard
- PR #3861: Improve SET EXCLUSIVE 2 and use stable time source for timeout exceptions
- PR #3859: Fix conversion of PK columns to identity columns
- Issue #3855: StackOverflowError when using TRACE_LEVEL_SYSTEM_OUT=4
- PR #3854: Fix issues with newer JVMs
- PR #3851: Remove lift configuration
- PR #3847: Fix the NullPointerException caused by accessing 'user' after the session has been closed
- PR #3846: Make DB_CLOSE_ON_EXIT safer
- PR #3842: Adds support of quotedNulls in CSV handling
Version 2.2.220 (2023-07-04)
- PR #3834: Increase database format version
- PR #3833: Disallow plain webAdminPassword values to force usage of hashes
- PR #3831: Add Oracle-style NOWAIT, WAIT n, and SKIP LOCKED to FOR UPDATE clause
- PR #3830: Fix time zone of time/timestamp with time zone AT LOCAL
- PR #3822 / Issue #2671: Add quantified comparison predicates with array
- PR #3820: Add partial implementation of JSON simplified accessor
- PR #3818: Add support of underscores in numeric literals
- PR #3817: Add ANY_VALUE() aggregate function
- PR #3814: Fix regression in comparisons with infinities and NaNs
- Issue #3040: System objectIds are recycled twice when CTE queries are executed.
- PR #3812: UNIQUE null treatment
- PR #3811: BTRIM function, octal and binary literals and other changes
- Issue #352: In comparison text values are converted to INT even when they should be converted to BIGINT
- PR #3797: MSSQL mode: Discard table hints on plain UPDATE statements
- PR #3791: Formatted cast of datetimes to/from character strings
- Issue #3785: CSVRead: Fails to translate empty Numbers, when cells are quoted
- Issue #3762: Comparison predicates with row values don't create index conditions
- PR #3761: LAST_DAY function and other changes
- Issue #3705: Oracle DATE type: milliseconds (second fractions) rounded in H2 but truncated in Oracle (fixed in SYSDATE only)
- Issue #3642: AssertionError in mvstore.FileStore.serializeAndStore
- Issue #3675: H2 2.x cannot read PostgreSQL-style sequence generator start with option without WITH keyword
- Issue #3757: FORMATDATETIME function doesn't handle time with time zone properly
- PR #3756: Limit the row list allocation based on the row count
- PR #3753: Add missing NEWSEQUENTIALID function in MSSQLServer mode
- Issue #3730: FILE_READ from JAR filesystem on classpath results in file of length 0
- PR #3749: Fix min/max description for sequences
- PR #3739: Fix count(*) for linked table to Oracle
- Issue #3731: Division result exceeds numeric precision constraint
- PR #3718: Add test coverage for JDK 17
- Issue #3580: TestCrashAPI: NPE in ParserUtil.getTokenType() (called by Parser.readIfDataType1())
- PR #3709: Update copyright years and fix building of documentation
- Issue #3701: CLOBs can cause ClassCastExceptions
- Issue #3698: MySQL mode show columns from table, if modificationMetaId changed between prepared and execute.
Then error occurred.
- PR #3699: Upgrade to the latest OSGi JDBC specification
- Issue #3659: User-defined variable "sticky" if used in view with join
- Issue #3693: Wrong result when intersecting unnested arrays
- PR #3691: GitHub Workflows security hardening
- PR #3688: Construct FormatTokenEnum.TOKENS during class initialization
- Issue #3682: MVStoreException at accountForRemovedPage
- Issue #3664: [2.1.214] NullPointerException in org.h2.command.query.Select.queryDistinct
- PR #3650: fix version number in the archives html table
- PR #3649: Basic implementation of materialized view
- Issue #3646: org.h2.mvstore.MVStoreException: Chunk metadata too long
- Issue #3645: The BITCOUNT function incorrectly counts BINARY/VARBINARY values of >=16 bytes.
- Issue #3637: DB content massacred when opening a 2.1.214 DB with current master
- Issue #3636: "This store is closed" after two-phase commit
- PR #3639: Add random_uuid() alias to be compatible with postgres
- Issue #3640: SOUNDEX function should not be case-sensitive
- Issue #3633: Memory leak in case of in-memory database
- PR #3629 Better separation between MVStore and FileStore
- PR #3626: Improve memory estimation of CacheLongKeyLIRS and correct some passed memory sizes
- Issue #3619: PostgreSQL mode: STRING_AGG with prepared statement parameter not working
- Issue #3615: H2 Console connecting to Oracle DB will not show the list of tables
- PR #3613: Fix infinite loop in Tokenizer when special whitespace character is used
- Issue #3606: Support for GraalVMs native-image
- Issue #3607: [MySQL] UNIX_TIMESTAMP should return NULL
- Issue #3604: Improper FROM_1X implementation corrupts some BLOBs during migration
- Issue #3597: Support array element assignments in UPDATE statements
- Issue #3599: [2.1.214][MariaDB] DELETE query failure
- Issue #3600: NPE in MVTable.lock(), version 2.1.214
- Issue #3601: InvalidPathException when saving lock file
- Issue #3583: lob cleaner issue
- Issue #3585: Misuse ValueReal.DECIMAL_PRECISION when optimize typeinfo from DOUBLE to DECFLOAT
- Issue #3575: Possible syntax mismatch for json_object in MySQL compatibility mode
- PR #3577: Add support of TINYINT and DECFLOAT to TO_CHAR
- Issue #3567: No AUTO_INCREMENT in DatabaseMetaData.getTypeInfo()
- PR #3555: Add missing check for -webExternalNames flag
- Issue #3543: PostgreSQL mode, update with "from", why "NULL not allowed" error?
- PR #3542: Fix failed to delete a readonly file on Windows file systems
Version 2.1.214 (2022-06-13)
- Issue #3538: In Postgres compatibility mode the NUMERIC type w/o scale should not default to 0
- Issue #3534: Subquery has incorrect empty parameters since 2.1.210 that breaks sameResultAsLast()
- Issue #3390: "ROW" cannot be set as a non keyword in 2.x
- Issue #3448: With linked table to postgreSQL, case-sensitive column names not respected in where part
- Issue #3434: JavaTableFunction is not closing underlying ResultSet when reading column list
- Issue #3468: Invalid DB format exception (for 1.x DB in 2.x h2) should have a specific SQLException vendorCode
- Issue #3528: Weird syntax error with HAVING clause in Oracle Mode
- Issue #3307: Fix SHUTDOWN DEFRAG for encrypted databases
- Issue #3515: Support for NEXTVAL property in DB2 mode
- Issue #3444: Conversion 'text' to 'integer' doesn't work anymore
- Issue #3493: org.h2.tools.DeleteDbFiles won't delete files under certain circumstances
- Issue #3486: FilePathDisk.newDirectoryStream() may fail on remote drive on Windows due to AccessDeniedException in Path.toRealPath()
- Issue #3484: LOB issue
Version 2.1.212 (2022-04-09)
- Issue #3512: BITNOT(BIT_NAND_AGG(...) OVER ()) produces wrong result
- Issue #3510: PreparedStatement execution with java.io.tmpdir pointing to a directory symlink results in FileAlreadyExistsException
- PR #3504: Fix TypeInfo.getHigherGeometry() for types with and without SRID
- PR #3481: Add support for standard interval literals with precision
- Issue #3471: Possibility of corruption after SHUTDOWN DEFRAG
- Issue #3473: DROP TABLE/INDEX causes memory leak
- PR #3464 / Issue #3457: increase max length of VAR* types
- PR #3460: fix bug in readStoreHeader()
- PR #3458: Add performance tests for SQLite
- Issue #1808: Occasional NPE in concurrent update of LOB
- Issue #3439: Cannot use enum values in JSON without explicit casts
- Issue #3426: Regression: BIT(1) is not accepted in MySQL compatibility mode
- PR #3422: Allow combination of any geometry types with the same SRID
- Issue #3414: H2 2.1.210: Query with Parameters throws NPE
- Issue #3413: Parser can't parse REFERENCES … NOT NULL
- Issue #3410: OOME with nested derived tables
- Issue #3405: Enhance SCRIPT to support operations on STDOUT
- Issue #3406 / PR #3407: FunctionMultiReturn.polar2CartesianArray result set iteration throws ClassCastException
- Issue #3400: Regression: ORDER BY ROWNUM fails with General error: "Unexpected code path"
- Issue #3387: SYSDATE behavior changed in 2.x
- Issue #3394: SYSDATE Considered Identifier when used in inner select
- Issue #3391: Hang on merge statement with data change delta table
- PR #3384: Remove abandoned Java to C converter and fix some warnings from Sonatype Lift
- PR #3382: Use secure parser in H2AuthConfigXml to avoid future reports
Version 2.1.210 (2022-01-17)
- PR #3381: Add IDENTITY() and SCOPE_IDENTITY() to LEGACY mode
- Issue #3376: Data cannot be read after insert of clob data > MAX_LENGTH_INPLACE_LOB with data change delta table
- PR #3377: Add -webExternalNames setting and fix WebServer.getConnection()
- PR #3367: Use faster checks of dimension systems of geometries
- PR #3369: Added v2 changes in migration docs
- Issue #3361: MemoryEstimator.estimateMemory() can return negative size
- PR #3362: Use BufferedReader instead of BufferedInputStream to avoid Illegal seek exception
- Issue #3353: Wrong rownum() scope for DML with change delta table
- PR #3352: make Javadoc happier
- Issue #3344: Changelog could link to github issue
- Issue #3340: JDBC index type seems wrong
- Issue #3336: FT_INIT error when mode=MySQL
- Issue #3334: Regression with CREATE ALIAS - Parameter "#2" is not set
- Issue #3321: Insert Primary Key after import CSV Data does not work
- PR #3323: Tokenize SQL before parsing and preserve tokens for recompilation
- PR #3320: Add Servlet 5-compatible servlet for H2 Console
- Issue #918: Parser fails recognising set operations in correlated subqueries
- Issue #2050: PostgreSQL with recursive fail with union in the final query
- PR #3316: Update copyright years
- PR #3315: Never put read locks into lockSharedSessions and other minor changes
- Issue #492: H2 does not correctly parse <parenthesized joined table>
- Issue #3311: Parser creates wrong join graph in some cases and uses wrong tables for column mapping
- FORCE_JOIN_ORDER setting is removed
- Issue #1983: Official build script is not compatible with Java 13
- PR #3305: Add UNIQUE(VALUE) and remove some non-standard keywords
- PR #3299: Remove useless StringBuilder.toString() call
- PR #3298: Delete unused sqlTypes array
Version 2.0.206 (2022-01-04)
- Issue #3322: Create linked table fails when the table contains a Geometry with a data type specified
- Issue #3297: Unexpected GROUP BY results with indexed IGNORECASE column
|