[
画像: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 here yet
Version 2.4.240 (2025年09月22日)
PR #4273
: SHUTDOWN COMPACT: parallel map copy (¼ cores default, override with h2.compactThreads)
PR #4258
: Fix compaction of encrypted databases
Issue #4263
: Documentation: SET TRUNCATE_LARGE_LENGTH is broken
Issue #4208
: Lost update when attempting to atomically increment a value using SELECT FOR UPDATE
PR #4133
: DROP SYNONYM isn't dropping the synonym right away
PR #4256
: Support KANZI and BZIP2 in RunScript
PR #4254
: feat: direct recovery into a compressed SQL file using pipes
Issue #4247
: Compaction causes missing chunks and data loss
Issue #4217
: JdbcPreparedStatement ignores query fetch size
Issue #4225
: Incompatibility in FullTextLucene with Lucene version 10.x onward
Issue #4198
: NullPointerException when running MERGE statement with correlated subquery in ON clause
Issue #4191
: Recover JSON column fail
PR #4184
: Code cleanup
PR #4182
: GCD, LCM, GCD_AGG, and LCM_AGG functions
Issue #4178
: SELECT MIN/MAX(_ROWID_) can be optimized
Issue #4179
: Support for SQL Server DATETIMEOFFSET data type
PR #4177
: Code cleanup around Table.getConstraints()/getIndexes()
Issue #4021
: h2 does not correctly report the name of a violated unique constraint
PR #4168
: simplify Store#close
Issue #4161
: h2 uses wrong index
Issue #4159
: Consider storing NO ACTION in the INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS columns when this is the declaration
Issue #4152
: NPE in convertToTimestampTimeZone on timestamp comparison
PR #4150
: fix:Fix some errors in the javadoc
PR #4149
: fix:Possible overflow issues with CacheLongKeyLIRS.getMisses()
Issue #4144
: [2.3.232] Regression in ORDER BY ... DESC with WHERE ... IN and OR clauses
Issue #4139
: Oracle compatibility mode: unexpected Column alias is not specified exception in CTE
Issue #4136
: ArrayIndexOutOfBoundsException with compound index
Issue #4124
: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "[0]" is null
Issue #4116
: Optimizer chooses wrong execution plan in some cases when index-sorted optimization is possible
Issue #4114
: Regression when using CAST expressions in ROW IN predicates
Issue #4111
: ALTER TYPE name ADD VALUE new_enum_value is not supported
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
AltStyle
によって変換されたページ
(->オリジナル)
/
アドレス:
モード:
デフォルト
音声ブラウザ
ルビ付き
配色反転
文字拡大
モバイル