Change Log - H2 Database Engine

Có thể bạn quan tâm

H2 database logo
Translate
Search:
Highlight keyword(s)
Home Download Cheat Sheet Documentation Quickstart Installation Tutorial Features Security Performance Advanced Reference Commands Functions • Aggregate • Window Data Types SQL Grammar System Tables Javadoc PDF (2 MB) Support FAQ Error Analyzer Google Group Appendix History License Build Links MVStore Architecture Migration to 2.0
Change Log

Next Version (unreleased)

  • Nothing yet

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)

  • Issue #3883 Performance regression in 2.2.222

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

Từ khóa » H2 1.4.200