|
|
Change Log
Next Version (unreleased)
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 ###"
- 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
Version 2.0.204 (2021-12-21)
- Issue #3291: Add Legacy and Strict modes
- Issue #3287: SELECT statement works on 1.4.200 but fails on 2.0.202 with "Column XYZ must be in the GROUP BY list"
- PR #3284: Remove unused UNDO_LOG setting
- Issue #3251: Table with GEOMETRY column can't have a TriggerAdapter-based trigger any more
- PR #3281: DateTimeFormatter-based FORMATDATETIME and PARSEDATETIME and other changes
- Issue #3246: Spatial predicates with comparison are broken in MySQL compatibility mode
- Issue #3270: org.h2.jdbc.JdbcSQLFeatureNotSupportedException: Feature not supported: "Unsafe comparison or cast"
- Issue #3268 / PR #3275: Add TO_DATE and TO_TIMESTAMP to PostgreSQL compatibility mode
- PR #3274: Remove some dead code and unused params
- Issue #3266: Oracle compatibility NUMBER without precision and scale should have variable scale
- Issue #3263: Unable to store BigDecimal with negative scale in NUMERIC(19,6) column
- PR #3261: Small optimization for MIN and MAX
- Issue #3258 / PR #3259: Prevent incorrect optimization of COUNT(*) and other changes
- PR #3255: Throw proper exception when type of argument isn't known
- Issue #3249: Multi-column assignment with subquery throws exception when subquery doesn't return any rows
- PR #3248: Remove redundant uniqueness check, correct version in pom
- PR #3247: Avoid AIOBE exception in TestCrashAPI and in Transaction
- Issue #3241: ResultSetMetaData::getColumnTypeName should produce the correct ARRAY type
- Issue #3204: H2 Tools Web Console: Unicode 32
- Issue #3227: Regression when referencing outer joined column from correlated subquery
- Issue #3237: Can no longer cast CHAR(n) to BOOLEAN with n > 1
- Issue #3235: Regression in IN predicate with empty in list
- Issue #3236: NullPointerException in DatabaseMetaData::getIndexInfo when querying the info for views
- Issue #3233: General error when using NULL predicate on _ROWID_ column
- Issue #3223: TRUNC(v, p) with negative precisions no longer works
- Issue #3221: NullPointerException when creating domain
- Issue #3186: ResultSetMetaData.getSchemaName() returns empty string for aliased columns
|