public class ErrorCode
extends java.lang.Object
{ error message (possibly translated; may include quoted data) } { error message in English if different } { SQL statement if applicable } { [ error code - build number ] }Example:
Syntax error in SQL statement "SELECT * FORM[*] TEST "; SQL statement: select * form test [42000-125]The [*] marks the position of the syntax error (FORM instead of FROM in this case). The error code is 42000, and the build number is 125, meaning version 1.2.125.
Modifier and Type | Field and Description |
---|---|
static int |
ACCESS_DENIED_TO_CLASS_1
The error with code
90134 is thrown when
trying to load a Java class that is not part of the allowed classes. |
static int |
ADMIN_RIGHTS_REQUIRED
The error with code
90040 is thrown when
a user that is not administrator tries to execute a statement
that requires admin privileges. |
static int |
AGGREGATE_NOT_FOUND_1
The error with code
90132 is thrown when
trying to drop a user-defined aggregate function that doesn't exist. |
static int |
AMBIGUOUS_COLUMN_NAME_1
The error with code
90059 is thrown when
a query contains a column that could belong to multiple tables. |
static int |
ARRAY_ELEMENT_ERROR_2
The error with code
22034 is thrown when an
attempt is made to read non-existing element of an array. |
static int |
AUTHENTICATOR_NOT_AVAILABLE
The error with code
90144 is thrown when
user trying to login into a database with AUTHREALM set and
the target database doesn't have an authenticator defined |
static int |
CAN_ONLY_ASSIGN_TO_VARIABLE_1
The error with code
90137 is thrown when
trying to assign a value to something that is not a variable. |
static int |
CANNOT_CHANGE_SETTING_WHEN_OPEN_1
The error with code
90133 is thrown when
trying to change a specific database property while the database is
already open. |
static int |
CANNOT_DROP_2
The error with code
90107 is thrown when
trying to drop an object because another object would become invalid. |
static int |
CANNOT_DROP_CURRENT_USER
The error with code
90019 is thrown when
trying to drop the current user, if there are no other admin users. |
static int |
CANNOT_DROP_LAST_COLUMN
The error with code
90084 is thrown when
trying to drop the last column of a table. |
static int |
CANNOT_DROP_TABLE_1
The error with code
90118 is thrown when
trying to drop a table can not be dropped. |
static int |
CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS
The error with code
90123 is thrown when
trying mix regular parameters and indexed parameters in the same
statement. |
static int |
CANNOT_TRUNCATE_1
The error with code
90106 is thrown when
trying to truncate a table that can not be truncated. |
static int |
CHECK_CONSTRAINT_INVALID
The error with code
23514 is thrown when
evaluation of a check constraint resulted in an error. |
static int |
CHECK_CONSTRAINT_VIOLATED_1
The error with code
23513 is thrown when
a check constraint is violated. |
static int |
CLASS_NOT_FOUND_1
The error with code
90086 is thrown when
a class can not be loaded because it is not in the classpath
or because a related class is not in the classpath. |
static int |
CLUSTER_ERROR_DATABASE_RUNS_ALONE
The error with code
90093 is thrown when
trying to connect to a clustered database that runs in standalone
mode. |
static int |
CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1
The error with code
90094 is thrown when
trying to connect to a clustered database that runs together with a
different cluster node setting than what is used when trying to connect. |
static int |
COLLATION_CHANGE_WITH_DATA_TABLE_1
The error with code
90089 is thrown when
trying to change the collation while there was already data in
the database. |
static int |
COLUMN_ALIAS_IS_NOT_SPECIFIED_1
The error with code
90156 is thrown when trying to create a
view or a table from a select and some expression doesn't have a column
name or alias when it is required by a compatibility mode. |
static int |
COLUMN_CONTAINS_NULL_VALUES_1
The error with code
90081 is thrown when
trying to alter a column to not allow NULL, if there
is already data in the table where this column is NULL. |
static int |
COLUMN_COUNT_DOES_NOT_MATCH
The error with code
21002 is thrown when the number of
columns does not match. |
static int |
COLUMN_IS_PART_OF_INDEX_1
The error with code
90075 is thrown when
trying to alter a table and allow null for a column that is part of a
primary key or hash index. |
static int |
COLUMN_IS_REFERENCED_1
The error with code
90083 is thrown when
trying to drop a column that is part of a constraint. |
static int |
COLUMN_MUST_NOT_BE_NULLABLE_1
The error with code
90023 is thrown when trying to set a
primary key on a nullable column or when trying to drop NOT NULL
constraint on primary key or identity column. |
static int |
COLUMN_NOT_FOUND_1
The error with code
42122 is thrown when
referencing an non-existing column. |
static int |
COMMIT_ROLLBACK_NOT_ALLOWED
The error with code
90058 is thrown when trying to call
commit or rollback inside a trigger, or when trying to call a method
inside a trigger that implicitly commits the current transaction, if an
object is locked. |
static int |
COMPRESSION_ERROR
The error with code
90104 is thrown when
the data can not be de-compressed. |
static int |
CONCURRENT_UPDATE_1
The error with code
90131 is thrown when using multi version
concurrency control, and trying to update the same row from within two
connections at the same time, or trying to insert two rows with the same
key from two connections. |
static int |
CONNECTION_BROKEN_1
The error with code
90067 is thrown when the client could
not connect to the database, or if the connection was lost. |
static int |
CONSTANT_ALREADY_EXISTS_1
The error with code
90114 is thrown when
trying to create a constant if a constant with this name already exists. |
static int |
CONSTANT_NOT_FOUND_1
The error with code
90115 is thrown when
trying to drop a constant that does not exists. |
static int |
CONSTRAINT_ALREADY_EXISTS_1
The error with code
90045 is thrown when trying to create a
constraint if an object with this name already exists. |
static int |
CONSTRAINT_IS_USED_BY_CONSTRAINT_2
The error with code
90152 is thrown when trying to manually
drop a unique or primary key constraint that is referenced by a foreign
key constraint without a CASCADE clause. |
static int |
CONSTRAINT_NOT_FOUND_1
The error with code
90057 is thrown when
trying to drop a constraint that does not exist. |
static int |
CURRENT_SEQUENCE_VALUE_IS_NOT_DEFINED_IN_SESSION_1
The error with code
90148 is thrown when trying to access
the current value of a sequence before execution of NEXT VALUE FOR
sequenceName in the current session. |
static int |
DATA_CONVERSION_ERROR_1
The error with code
22018 is thrown when
trying to convert a value to a data type where the conversion is
undefined, or when an error occurred trying to convert. |
static int |
DATABASE_ALREADY_OPEN_1
The error with code
90020 is thrown when trying to open a
database in embedded mode if this database is already in use in another
process (or in a different class loader). |
static int |
DATABASE_CALLED_AT_SHUTDOWN
The error with code
90121 is thrown when
a database operation is started while the virtual machine exits
(for example in a shutdown hook), or when the session is closed. |
static int |
DATABASE_IS_CLOSED
The error with code
90098 is thrown when the database has
been closed, for example because the system ran out of memory or because
the self-destruction counter has reached zero. |
static int |
DATABASE_IS_IN_EXCLUSIVE_MODE
The error with code
90135 is thrown when
trying to open a connection to a database that is currently open
in exclusive mode. |
static int |
DATABASE_IS_NOT_PERSISTENT
The error with code
90126 is thrown when
trying to call the BACKUP statement for an in-memory database. |
static int |
DATABASE_IS_READ_ONLY
The error with code
90097 is thrown when
trying to delete or update a database if it is open in read-only mode. |
static int |
DATABASE_NOT_FOUND_1
The error with code
90013 is thrown when when trying to access
a database object with a catalog name that does not match the database
name. |
static int |
DATABASE_NOT_FOUND_WITH_IF_EXISTS_1
The error with code
90146 is thrown when trying to open a
database that does not exist using the flag IFEXISTS=TRUE |
static int |
DEADLOCK_1
The error with code
40001 is thrown when
the database engine has detected a deadlock. |
static int |
DESERIALIZATION_FAILED_1
The error with code
90027 is thrown when
an object could not be de-serialized. |
static int |
DIVISION_BY_ZERO_1
The error with code
22012 is thrown when trying to divide
a value by zero. |
static int |
DOMAIN_ALREADY_EXISTS_1
The error with code
90119 is thrown when
trying to create a domain if an object with this name already exists,
or when trying to overload a built-in data type. |
static int |
DOMAIN_NOT_FOUND_1
The error with code
90120 is thrown when
trying to drop a domain that doesn't exist. |
static int |
DRIVER_VERSION_ERROR_2
The error with code
90047 is thrown when
trying to connect to a TCP server with an incompatible client. |
static int |
DUPLICATE_COLUMN_NAME_1
The error with code
42121 is thrown when trying to create
a table or insert into a table and use the same column name twice. |
static int |
DUPLICATE_KEY_1
The error with code
23505 is thrown when trying to insert
a row that would violate a unique index or primary key. |
static int |
DUPLICATE_PROPERTY_1
The error with code
90066 is thrown when
the same property appears twice in the database URL or in
the connection properties. |
static int |
ENUM_DUPLICATE
The error with code
22033 is thrown when an
attempt is made to add or modify an ENUM-typed column so
that it would have duplicate values. |
static int |
ENUM_EMPTY
The error with code
22032 is thrown when an
attempt is made to add or modify an ENUM-typed column so
that one or more of its enumerators would be empty. |
static int |
ENUM_VALUE_NOT_PERMITTED
The error with code
22030 is thrown when
an attempt is made to INSERT or UPDATE an ENUM-typed cell,
but the value is not one of the values enumerated by the
type. |
static int |
ERROR_ACCESSING_LINKED_TABLE_2
The error with code
90111 is thrown when
an exception occurred while accessing a linked table. |
static int |
ERROR_CREATING_TRIGGER_OBJECT_3
The error with code
90043 is thrown when
there is an error initializing the trigger, for example because the
class does not implement the Trigger interface. |
static int |
ERROR_EXECUTING_TRIGGER_3
The error with code
90044 is thrown when
an exception or error occurred while calling the triggers fire method. |
static int |
ERROR_OPENING_DATABASE_1
The error with code
8000 is thrown when
there was a problem trying to create a database lock. |
static int |
ERROR_SETTING_DATABASE_EVENT_LISTENER_2
The error with code
90099 is thrown when an error occurred
trying to initialize the database event listener. |
static int |
EXCEPTION_IN_FUNCTION_1
The error with code
90105 is thrown when
an exception occurred in a user-defined method. |
static int |
EXCEPTION_OPENING_PORT_2
The error with code
90061 is thrown when
trying to start a server if a server is already running at the same port. |
static int |
FEATURE_NOT_SUPPORTED_1
The error with code
50100 is thrown when calling an
unsupported JDBC method or database feature. |
static int |
FILE_CORRUPTED_1
The error with code
90030 is thrown when
the database engine has detected a checksum mismatch in the data
or index. |
static int |
FILE_CREATION_FAILED_1
The error with code
90062 is thrown when
a directory or file could not be created. |
static int |
FILE_DELETE_FAILED_1
The error with code
90025 is thrown when
a file could not be deleted, because it is still in use
(only in Windows), or because an error occurred when deleting. |
static int |
FILE_ENCRYPTION_ERROR_1
The error with code
90049 is thrown when
trying to open an encrypted database with the wrong file encryption
password or algorithm. |
static int |
FILE_NOT_FOUND_1
The error with code
90124 is thrown when
trying to access a file that doesn't exist. |
static int |
FILE_RENAME_FAILED_2
The error with code
90024 is thrown when
a file could not be renamed. |
static int |
FILE_VERSION_ERROR_1
The error with code
90048 is thrown when
the file header of a database files (*.db) does not match the
expected version, or if it is corrupted. |
static int |
FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
The error with code
90145 is thrown when trying to execute a
SELECT statement with non-window aggregates, DISTINCT, GROUP BY, or
HAVING clauses together with FOR UPDATE clause. |
static int |
FUNCTION_ALIAS_ALREADY_EXISTS_1
The error with code
90076 is thrown when
trying to create a function alias for a system function or for a function
that is already defined. |
static int |
FUNCTION_ALIAS_NOT_FOUND_1
The error with code
90077 is thrown when
trying to drop a system function or a function alias that does not exist. |
static int |
FUNCTION_MUST_RETURN_RESULT_SET_1
The error with code
90000 is thrown when
a function that does not return a result set was used in the FROM clause. |
static int |
FUNCTION_NOT_FOUND_1
The error with code
90022 is thrown when
trying to call a unknown function. |
static int |
GENERAL_ERROR_1
The error with code
50000 is thrown when
something unexpected occurs, for example an internal stack
overflow. |
static int |
GENERATED_COLUMN_CANNOT_BE_ASSIGNED_1
The error with code
90154 is thrown when trying to assign a
value to a generated column. |
static int |
GENERATED_COLUMN_CANNOT_BE_UPDATABLE_BY_CONSTRAINT_2
The error with code
90155 is thrown when trying to create a
referential constraint that can update a referenced generated column. |
static int |
GROUP_BY_NOT_IN_THE_RESULT
The error with code
90157 is thrown when the integer
index that is used in the GROUP BY is not in the SELECT list |
static int |
HEX_STRING_ODD_1
The error with code
90003 is thrown when
trying to convert a String to a binary value. |
static int |
HEX_STRING_WRONG_1
The error with code
90004 is thrown when
trying to convert a text to binary, but the expression contains
a non-hexadecimal character. |
static int |
IDENTICAL_EXPRESSIONS_SHOULD_BE_USED
The error with code
42131 is thrown when
identical expressions should be used, but different
expressions were found. |
static int |
INDEX_ALREADY_EXISTS_1
The error with code
42111 is thrown when
trying to create an index if an index with the same name already exists. |
static int |
INDEX_BELONGS_TO_CONSTRAINT_2
The error with code
90085 is thrown when
trying to manually drop an index that was generated by the system
because of a unique or referential constraint. |
static int |
INDEX_NOT_FOUND_1
The error with code
42112 is thrown when
trying to drop or reference an index that does not exist. |
static int |
INVALID_CLASS_2
The error with code
90125 is thrown when
PreparedStatement.setBigDecimal is called with object that extends the
class BigDecimal, and the system property h2.allowBigDecimalExtensions is
not set. |
static int |
INVALID_DATABASE_NAME_1
The error with code
90138 is thrown when
trying to open a persistent database using an incorrect database name. |
static int |
INVALID_DATETIME_CONSTANT_2
The error with code
22007 is thrown when
a text can not be converted to a date, time, or timestamp constant. |
static int |
INVALID_NAME_1
The error with code
42602 is thrown when
invalid name of identifier is used. |
static int |
INVALID_PARAMETER_COUNT_2
The error with code
7001 is thrown when
trying to call a function with the wrong number of parameters. |
static int |
INVALID_PRECEDING_OR_FOLLOWING_1
The error with code
22013 is thrown when preceding or
following size in a window function is null or negative. |
static int |
INVALID_TO_CHAR_FORMAT
The error with code
90010 is thrown when
trying to format a timestamp or number using TO_CHAR
with an invalid format. |
static int |
INVALID_TO_DATE_FORMAT
The error with code
90056 is thrown when trying to format a
timestamp using TO_DATE and TO_TIMESTAMP with an invalid format. |
static int |
INVALID_TRIGGER_FLAGS_1
The error with code
90005 is thrown when
trying to create a trigger with invalid combination of flags. |
static int |
INVALID_USE_OF_AGGREGATE_FUNCTION_1
The error with code
90054 is thrown when
an aggregate function is used where it is not allowed. |
static int |
INVALID_VALUE_2
The error with code
90008 is thrown when
trying to use a value that is not valid for the given operation. |
static int |
INVALID_VALUE_PRECISION
The error with code
90150 is thrown when
trying to use an invalid precision. |
static int |
INVALID_VALUE_SCALE
The error with code
90151 is thrown when
trying to use an invalid scale or fractional seconds precision. |
static int |
IO_EXCEPTION_1
The error with code
90028 is thrown when
an input / output error occurred. |
static int |
IO_EXCEPTION_2
The error with code
90031 is thrown when
an input / output error occurred. |
static int |
JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE
The error with code
90141 is thrown when
trying to change the java object serializer while there was already data
in the database. |
static int |
LIKE_ESCAPE_ERROR_1
The error with code
22025 is thrown when using an invalid
escape character sequence for LIKE or REGEXP. |
static int |
LITERALS_ARE_NOT_ALLOWED
The error with code
90116 is thrown when
trying use a literal in a SQL statement if literals are disabled. |
static int |
LOB_CLOSED_ON_TIMEOUT_1
The error with code
90039 is thrown when
trying to access a CLOB or BLOB object that timed out. |
static int |
LOCK_TIMEOUT_1
The error with code
50200 is thrown when
another connection locked an object longer than the lock timeout
set for this connection, or when a deadlock occurred. |
static int |
METHOD_DISABLED_ON_AUTOCOMMIT_TRUE
The error with code
90147 is thrown when trying to execute a
statement which closes the transaction (such as commit and rollback) and
autocommit mode is on. |
static int |
METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT
The error with code
90130 is thrown when
an execute method of PreparedStatement was called with a SQL statement. |
static int |
METHOD_NOT_ALLOWED_FOR_QUERY
The error with code
90001 is thrown when
Statement.executeUpdate() was called for a SELECT statement. |
static int |
METHOD_NOT_FOUND_1
The error with code
90087 is thrown when
a method with matching number of arguments was not found in the class. |
static int |
METHOD_ONLY_ALLOWED_FOR_QUERY
The error with code
90002 is thrown when
Statement.executeQuery() was called for a statement that does
not return a result set (for example, an UPDATE statement). |
static int |
METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2
The error with code
90073 is thrown when trying to create
an alias for a Java method, if two methods exists in this class that have
this name and the same number of parameters. |
static int |
MUST_GROUP_BY_COLUMN_1
The error with code
90016 is thrown when
a column was used in the expression list or the order by clause of a
group or aggregate query, and that column is not in the GROUP BY clause. |
static int |
NAME_TOO_LONG_2
The error with code
42622 is thrown when
name of identifier is too long. |
static int |
NO_DATA_AVAILABLE
The error with code
2000 is thrown when
the result set is positioned before the first or after the last row, or
not on a valid row for the given operation. |
static int |
NO_DEFAULT_SET_1
The error with code
23507 is thrown when
updating or deleting from a table with a foreign key constraint
that should set the default value, but there is no default value defined. |
static int |
NOT_ENOUGH_RIGHTS_FOR_1
The error with code
90096 is thrown when
trying to perform an operation with a non-admin user if the
user does not have enough rights. |
static int |
NOT_ON_UPDATABLE_ROW
The error with code
90029 is thrown when
calling ResultSet.deleteRow(), insertRow(), or updateRow()
when the current row is not updatable. |
static int |
NULL_NOT_ALLOWED
The error with code
23502 is thrown when
trying to insert NULL into a column that does not allow NULL. |
static int |
NUMERIC_VALUE_OUT_OF_RANGE_1
The error with code
22003 is thrown when a value is out of
range when converting to another data type. |
static int |
NUMERIC_VALUE_OUT_OF_RANGE_2
The error with code
22004 is thrown when a value is out of
range when converting to another column's data type. |
static int |
OBJECT_CLOSED
The error with code
90007 is thrown when
trying to call a JDBC method on an object that has been closed. |
static int |
ORDER_BY_NOT_IN_RESULT
The error with code
90068 is thrown when the given
expression that is used in the ORDER BY is not in the result list. |
static int |
OUT_OF_MEMORY
The error with code
90108 is thrown when not enough heap
memory was available. |
static int |
PARAMETER_NOT_SET_1
The error with code
90012 is thrown when
trying to execute a statement with an parameter. |
static int |
PARSE_ERROR_1
The error with code
90014 is thrown when
trying to parse a date with an unsupported format string, or
when the date can not be parsed. |
static int |
PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1
The error with code
90139 is thrown when
the specified public static Java method was not found in the class. |
static int |
REFERENTIAL_INTEGRITY_VIOLATED_CHILD_EXISTS_1
The error with code
23503 is thrown when trying to delete
or update a row when this would violate a referential constraint, because
there is a child row that would become an orphan. |
static int |
REFERENTIAL_INTEGRITY_VIOLATED_PARENT_MISSING_1
The error with code
23506 is thrown when trying to insert
or update a row that would violate a referential constraint, because the
referenced row does not exist. |
static int |
REMOTE_CONNECTION_NOT_ALLOWED
The error with code
90117 is thrown when
trying to connect to a TCP server from another machine, if remote
connections are not allowed. |
static int |
REMOTE_DATABASE_NOT_FOUND_1
The error with code
90149 is thrown when trying to open a
database that does not exist remotely without enabling remote database
creation first. |
static int |
RESULT_SET_NOT_SCROLLABLE
The error with code
90128 is thrown when
trying to call a method of the ResultSet that is only supported
for scrollable result sets, and the result set is not scrollable. |
static int |
RESULT_SET_NOT_UPDATABLE
The error with code
90127 is thrown when
trying to update or delete a row in a result set if the result set is
not updatable. |
static int |
RESULT_SET_READONLY
The error with code
90140 is thrown when trying to update or
delete a row in a result set if the statement was not created with
updatable concurrency. |
static int |
ROLE_ALREADY_EXISTS_1
The error with code
90069 is thrown when
trying to create a role if an object with this name already exists. |
static int |
ROLE_ALREADY_GRANTED_1
The error with code
90074 is thrown when
trying to grant a role that has already been granted. |
static int |
ROLE_CAN_NOT_BE_DROPPED_1
The error with code
90091 is thrown when
trying to drop the role PUBLIC. |
static int |
ROLE_NOT_FOUND_1
The error with code
90070 is thrown when
trying to drop or grant a role that does not exists. |
static int |
ROLES_AND_RIGHT_CANNOT_BE_MIXED
The error with code
90072 is thrown when
trying to grant or revoke both roles and rights at the same time. |
static int |
ROW_NOT_FOUND_IN_PRIMARY_INDEX
The error with code
90143 is thrown when
trying to fetch a row from the primary index and the row is not there. |
static int |
ROW_NOT_FOUND_WHEN_DELETING_1
The error with code
90112 is thrown when a row was deleted
twice while locking was disabled. |
static int |
SAVEPOINT_IS_INVALID_1
The error with code
90063 is thrown when
trying to rollback to a savepoint that is not defined. |
static int |
SAVEPOINT_IS_NAMED
The error with code
90065 is thrown when
Savepoint.getSavepointId() is called on a named savepoint. |
static int |
SAVEPOINT_IS_UNNAMED
The error with code
90064 is thrown when
Savepoint.getSavepointName() is called on an unnamed savepoint. |
static int |
SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW
The error with code
90053 is thrown when
a subquery that is used as a value contains more than one row. |
static int |
SCHEMA_ALREADY_EXISTS_1
The error with code
90078 is thrown when
trying to create a schema if an object with this name already exists. |
static int |
SCHEMA_CAN_NOT_BE_DROPPED_1
The error with code
90090 is thrown when
trying to drop a schema that may not be dropped (the schema PUBLIC
and the schema INFORMATION_SCHEMA). |
static int |
SCHEMA_NAME_MUST_MATCH
The error with code
90080 is thrown when
trying to rename a object to a different schema, or when trying to
create a related object in another schema. |
static int |
SCHEMA_NOT_FOUND_1
The error with code
90079 is thrown when
trying to drop a schema that does not exist. |
static int |
SECOND_PRIMARY_KEY
The error with code
90017 is thrown when
trying to define a second primary key constraint for this table. |
static int |
SEQUENCE_ALREADY_EXISTS_1
The error with code
90035 is thrown when
trying to create a sequence if a sequence with this name already
exists. |
static int |
SEQUENCE_ATTRIBUTES_INVALID_7
The error with code
90009 is thrown when
trying to create a sequence with an invalid combination
of attributes (min value, max value, start value, etc). |
static int |
SEQUENCE_BELONGS_TO_A_TABLE_1
The error with code
90082 is thrown when
trying to drop a system generated sequence. |
static int |
SEQUENCE_EXHAUSTED
The error with code
90006 is thrown when
trying to get a value from a sequence that has run out of numbers
and does not have cycling enabled. |
static int |
SEQUENCE_NOT_FOUND_1
The error with code
90036 is thrown when
trying to access a sequence that does not exist. |
static int |
SERIALIZATION_FAILED_1
The error with code
90026 is thrown when
an object could not be serialized. |
static int |
STATEMENT_WAS_CANCELED
The error with code
57014 is thrown when
a statement was canceled using Statement.cancel() or
when the query timeout has been reached. |
static int |
STEP_SIZE_MUST_NOT_BE_ZERO
The error with code
90142 is thrown when
trying to set zero for step size. |
static int |
STRING_FORMAT_ERROR_1
The error with code
90095 is thrown when
calling the method STRINGDECODE with an invalid escape sequence. |
static int |
SUBQUERY_IS_NOT_SINGLE_COLUMN
The error with code
90052 is thrown when a single-column
subquery is expected but a subquery with other number of columns was
specified. |
static int |
SUM_OR_AVG_ON_WRONG_DATATYPE_1
The error with code
90015 is thrown when
using an aggregate function with a data type that is not supported. |
static int |
SYNTAX_ERROR_1
The error with code
42000 is thrown when
trying to execute an invalid SQL statement. |
static int |
SYNTAX_ERROR_2
The error with code
42001 is thrown when
trying to execute an invalid SQL statement. |
static int |
TABLE_OR_VIEW_ALREADY_EXISTS_1
The error with code
42101 is thrown when
trying to create a table or view if an object with this name already
exists. |
static int |
TABLE_OR_VIEW_NOT_FOUND_1
The error with code
42102 is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database. |
static int |
TABLE_OR_VIEW_NOT_FOUND_DATABASE_EMPTY_1
The error with code
42104 is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database but it is empty anyway. |
static int |
TABLE_OR_VIEW_NOT_FOUND_WITH_CANDIDATES_2
The error with code
42103 is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database but similar names were found. |
static int |
TOO_MANY_COLUMNS_1
The error with code
54011 is thrown when
too many columns were specified in a table, select statement,
or row value. |
static int |
TRACE_CONNECTION_NOT_CLOSED
The error with code
90018 is thrown when
the connection was opened, but never closed. |
static int |
TRACE_FILE_ERROR_2
The error with code
90034 is thrown when
writing to the trace file failed, for example because the there
is an I/O exception. |
static int |
TRANSACTION_NOT_FOUND_1
The error with code
90129 is thrown when
trying to commit a transaction that doesn't exist. |
static int |
TRIGGER_ALREADY_EXISTS_1
The error with code
90041 is thrown when
trying to create a trigger and there is already a trigger with that name. |
static int |
TRIGGER_NOT_FOUND_1
The error with code
90042 is thrown when
trying to drop a trigger that does not exist. |
static int |
TYPES_ARE_NOT_COMPARABLE_2
The error with code
90110 is thrown when
trying to compare values of incomparable data types. |
static int |
UNCOMPARABLE_REFERENCED_COLUMN_2
The error with code
90153 is thrown when trying to reference
a column of another data type when data types aren't comparable or don't
have a session-independent compare order between each other. |
static int |
UNKNOWN_DATA_TYPE_1
The error with code
50004 is thrown when
creating a table with an unsupported data type, or
when the data type is unknown because parameters are used. |
static int |
UNKNOWN_MODE_1
The error with code
90088 is thrown when
trying to switch to an unknown mode. |
static int |
UNSUPPORTED_CIPHER
The error with code
90055 is thrown when
trying to open a database with an unsupported cipher algorithm. |
static int |
UNSUPPORTED_COMPRESSION_ALGORITHM_1
The error with code
90103 is thrown when
trying to use an unsupported compression algorithm. |
static int |
UNSUPPORTED_COMPRESSION_OPTIONS_1
The error with code
90102 is thrown when
trying to use unsupported options for the given compression algorithm. |
static int |
UNSUPPORTED_LOCK_METHOD_1
The error with code
90060 is thrown when
trying to use a file locking mechanism that is not supported. |
static int |
UNSUPPORTED_SETTING_1
The error with code
90113 is thrown when
the database URL contains unsupported settings. |
static int |
UNSUPPORTED_SETTING_COMBINATION
The error with code
90021 is thrown when
trying to change a specific database property that conflicts with other
database properties. |
static int |
URL_FORMAT_ERROR_2
The error with code
90046 is thrown when
trying to open a connection to a database using an unsupported URL
format. |
static int |
URL_RELATIVE_TO_CWD
The error with code
90011 is thrown when
trying to open a connection to a database using an implicit relative
path, such as "jdbc:h2:test" (in which case the database file would be
stored in the current working directory of the application). |
static int |
USER_ALREADY_EXISTS_1
The error with code
90033 is thrown when
trying to create a user or role if a user with this name already exists. |
static int |
USER_DATA_TYPE_ALREADY_EXISTS_1
Deprecated.
|
static int |
USER_DATA_TYPE_NOT_FOUND_1
Deprecated.
|
static int |
USER_NOT_FOUND_1
The error with code
90032 is thrown when
trying to drop or alter a user that does not exist. |
static int |
USER_OR_ROLE_NOT_FOUND_1
The error with code
90071 is thrown when
trying to grant or revoke if no role or user with that name exists. |
static int |
VALUE_TOO_LONG_2
The error with code
22001 is thrown when
trying to insert a value that is too long for the column. |
static int |
VIEW_ALREADY_EXISTS_1
The error with code
90038 is thrown when
trying to create a view if a view with this name already
exists. |
static int |
VIEW_IS_INVALID_2
The error with code
90109 is thrown when
trying to run a query against an invalid view. |
static int |
VIEW_NOT_FOUND_1
The error with code
90037 is thrown when
trying to drop or alter a view that does not exist. |
static int |
WINDOW_NOT_FOUND_1
The error with code
90136 is thrown when
trying to reference a window that does not exist. |
static int |
WITH_TIES_WITHOUT_ORDER_BY
The error with code
90122 is thrown when
WITH TIES clause is used without ORDER BY clause. |
static int |
WRONG_PASSWORD_FORMAT
The error with code
90050 is thrown when trying to open an
encrypted database, but not separating the file password from the user
password. |
static int |
WRONG_USER_OR_PASSWORD
The error with code
28000 is thrown when
there is no such user registered in the database, when the user password
does not match, or when the database encryption password does not match
(if database encryption is used). |
static int |
WRONG_XID_FORMAT_1
The error with code
90101 is thrown when
the XA API detected unsupported transaction names. |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
getState(int errorCode)
INTERNAL
|
static boolean |
isCommon(int errorCode)
INTERNAL
|
public static final int NO_DATA_AVAILABLE
2000
is thrown when
the result set is positioned before the first or after the last row, or
not on a valid row for the given operation.
Example of wrong usage:
ResultSet rs = stat.executeQuery("SELECT * FROM DUAL"); rs.getString(1);Correct:
ResultSet rs = stat.executeQuery("SELECT * FROM DUAL"); rs.next(); rs.getString(1);
public static final int INVALID_PARAMETER_COUNT_2
7001
is thrown when
trying to call a function with the wrong number of parameters.
Example:
CALL ABS(1, 2)
public static final int ERROR_OPENING_DATABASE_1
8000
is thrown when
there was a problem trying to create a database lock.
See the message and cause for details.public static final int COLUMN_COUNT_DOES_NOT_MATCH
21002
is thrown when the number of
columns does not match. Possible reasons are: for an INSERT or MERGE
statement, the column count does not match the table or the column list
specified. For a SELECT UNION statement, both queries return a different
number of columns. For a constraint, the number of referenced and
referencing columns does not match. Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR); INSERT INTO TEST VALUES('Hello');
public static final int VALUE_TOO_LONG_2
22001
is thrown when
trying to insert a value that is too long for the column.
Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR(2)); INSERT INTO TEST VALUES(1, 'Hello');
public static final int NUMERIC_VALUE_OUT_OF_RANGE_1
22003
is thrown when a value is out of
range when converting to another data type. Example:
CALL CAST(1000000 AS TINYINT); SELECT CAST(124.34 AS DECIMAL(2, 2));
public static final int NUMERIC_VALUE_OUT_OF_RANGE_2
22004
is thrown when a value is out of
range when converting to another column's data type.public static final int INVALID_DATETIME_CONSTANT_2
22007
is thrown when
a text can not be converted to a date, time, or timestamp constant.
Examples:
CALL DATE '2007-January-01'; CALL TIME '14:61:00'; CALL TIMESTAMP '2001-02-30 12:00:00';
public static final int DIVISION_BY_ZERO_1
22012
is thrown when trying to divide
a value by zero. Example:
CALL 1/0;
public static final int INVALID_PRECEDING_OR_FOLLOWING_1
22013
is thrown when preceding or
following size in a window function is null or negative. Example:
FIRST_VALUE(N) OVER(ORDER BY N ROWS -1 PRECEDING)
public static final int DATA_CONVERSION_ERROR_1
22018
is thrown when
trying to convert a value to a data type where the conversion is
undefined, or when an error occurred trying to convert. Example:
CALL CAST(DATE '2001-01-01' AS BOOLEAN); CALL CAST('CHF 99.95' AS INT);
public static final int LIKE_ESCAPE_ERROR_1
22025
is thrown when using an invalid
escape character sequence for LIKE or REGEXP. The default escape
character is '\'. The escape character is required when searching for
the characters '%', '_' and the escape character itself. That means if
you want to search for the text '10%', you need to use LIKE '10\%'. If
you want to search for 'C:\temp' you need to use 'C:\\temp'. The escape
character can be changed using the ESCAPE clause as in LIKE '10+%' ESCAPE
'+'. Example of wrong usage:
CALL 'C:\temp' LIKE 'C:\temp'; CALL '1+1' LIKE '1+1' ESCAPE '+';Correct:
CALL 'C:\temp' LIKE 'C:\\temp'; CALL '1+1' LIKE '1++1' ESCAPE '+';
public static final int ENUM_VALUE_NOT_PERMITTED
22030
is thrown when
an attempt is made to INSERT or UPDATE an ENUM-typed cell,
but the value is not one of the values enumerated by the
type.
Example:
CREATE TABLE TEST(CASE ENUM('sensitive','insensitive')); INSERT INTO TEST VALUES('snake');
public static final int ENUM_EMPTY
22032
is thrown when an
attempt is made to add or modify an ENUM-typed column so
that one or more of its enumerators would be empty.
Example:
CREATE TABLE TEST(CASE ENUM(' '));
public static final int ENUM_DUPLICATE
22033
is thrown when an
attempt is made to add or modify an ENUM-typed column so
that it would have duplicate values.
Example:
CREATE TABLE TEST(CASE ENUM('sensitive', 'sensitive'));
public static final int ARRAY_ELEMENT_ERROR_2
22034
is thrown when an
attempt is made to read non-existing element of an array.
Example:
VALUES ARRAY[1, 2][3]
public static final int NULL_NOT_ALLOWED
23502
is thrown when
trying to insert NULL into a column that does not allow NULL.
Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR NOT NULL); INSERT INTO TEST(ID) VALUES(1);
public static final int REFERENTIAL_INTEGRITY_VIOLATED_CHILD_EXISTS_1
23503
is thrown when trying to delete
or update a row when this would violate a referential constraint, because
there is a child row that would become an orphan. Example:
CREATE TABLE TEST(ID INT PRIMARY KEY, PARENT INT); INSERT INTO TEST VALUES(1, 1), (2, 1); ALTER TABLE TEST ADD CONSTRAINT TEST_ID_PARENT FOREIGN KEY(PARENT) REFERENCES TEST(ID) ON DELETE RESTRICT; DELETE FROM TEST WHERE ID = 1;
public static final int DUPLICATE_KEY_1
23505
is thrown when trying to insert
a row that would violate a unique index or primary key. Example:
CREATE TABLE TEST(ID INT PRIMARY KEY); INSERT INTO TEST VALUES(1); INSERT INTO TEST VALUES(1);
public static final int REFERENTIAL_INTEGRITY_VIOLATED_PARENT_MISSING_1
23506
is thrown when trying to insert
or update a row that would violate a referential constraint, because the
referenced row does not exist. Example:
CREATE TABLE PARENT(ID INT PRIMARY KEY); CREATE TABLE CHILD(P_ID INT REFERENCES PARENT(ID)); INSERT INTO CHILD VALUES(1);
public static final int NO_DEFAULT_SET_1
23507
is thrown when
updating or deleting from a table with a foreign key constraint
that should set the default value, but there is no default value defined.
Example:
CREATE TABLE TEST(ID INT PRIMARY KEY, PARENT INT); INSERT INTO TEST VALUES(1, 1), (2, 1); ALTER TABLE TEST ADD CONSTRAINT TEST_ID_PARENT FOREIGN KEY(PARENT) REFERENCES TEST(ID) ON DELETE SET DEFAULT; DELETE FROM TEST WHERE ID = 1;
public static final int CHECK_CONSTRAINT_VIOLATED_1
23513
is thrown when
a check constraint is violated. Example:
CREATE TABLE TEST(ID INT CHECK (ID>0)); INSERT INTO TEST VALUES(0);
public static final int CHECK_CONSTRAINT_INVALID
23514
is thrown when
evaluation of a check constraint resulted in an error.public static final int WRONG_USER_OR_PASSWORD
28000
is thrown when
there is no such user registered in the database, when the user password
does not match, or when the database encryption password does not match
(if database encryption is used).public static final int DEADLOCK_1
40001
is thrown when
the database engine has detected a deadlock. The transaction of this
session has been rolled back to solve the problem. A deadlock occurs when
a session tries to lock a table another session has locked, while the
other session wants to lock a table the first session has locked. As an
example, session 1 has locked table A, while session 2 has locked table
B. If session 1 now tries to lock table B and session 2 tries to lock
table A, a deadlock has occurred. Deadlocks that involve more than two
sessions are also possible. To solve deadlock problems, an application
should lock tables always in the same order, such as always lock table A
before locking table B. For details, see Wikipedia Deadlock.public static final int SYNTAX_ERROR_1
42000
is thrown when
trying to execute an invalid SQL statement.
Example:
CREATE ALIAS REMAINDER FOR "IEEEremainder";
public static final int SYNTAX_ERROR_2
42001
is thrown when
trying to execute an invalid SQL statement.
Example:
CREATE TABLE TEST(ID INT); INSERT INTO TEST(1);
public static final int TABLE_OR_VIEW_ALREADY_EXISTS_1
42101
is thrown when
trying to create a table or view if an object with this name already
exists. Example:
CREATE TABLE TEST(ID INT); CREATE TABLE TEST(ID INT PRIMARY KEY);
public static final int TABLE_OR_VIEW_NOT_FOUND_1
42102
is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database. A common cause is that the wrong
database was opened.
Example:
SELECT * FROM ABC;
public static final int TABLE_OR_VIEW_NOT_FOUND_WITH_CANDIDATES_2
42103
is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database but similar names were found. A common cause
is that the names are written in different case.
Example:
SELECT * FROM ABC;
public static final int TABLE_OR_VIEW_NOT_FOUND_DATABASE_EMPTY_1
42104
is thrown when
trying to query, modify or drop a table or view that does not exists
in this schema and database but it is empty anyway. A common cause is
that the wrong database was opened.
Example:
SELECT * FROM ABC;
public static final int INDEX_ALREADY_EXISTS_1
42111
is thrown when
trying to create an index if an index with the same name already exists.
Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR); CREATE INDEX IDX_ID ON TEST(ID); CREATE TABLE ADDRESS(ID INT); CREATE INDEX IDX_ID ON ADDRESS(ID);
public static final int INDEX_NOT_FOUND_1
42112
is thrown when
trying to drop or reference an index that does not exist.
Example:
DROP INDEX ABC;
public static final int DUPLICATE_COLUMN_NAME_1
42121
is thrown when trying to create
a table or insert into a table and use the same column name twice.
Example:
CREATE TABLE TEST(ID INT, ID INT);
public static final int COLUMN_NOT_FOUND_1
42122
is thrown when
referencing an non-existing column.
Example:
CREATE TABLE TEST(ID INT); SELECT NAME FROM TEST;
public static final int IDENTICAL_EXPRESSIONS_SHOULD_BE_USED
42131
is thrown when
identical expressions should be used, but different
expressions were found.
Example:
SELECT MODE(A ORDER BY B) FROM TEST;
public static final int INVALID_NAME_1
42602
is thrown when
invalid name of identifier is used.
Example:
statement.enquoteIdentifier("\"", true);
public static final int NAME_TOO_LONG_2
42622
is thrown when
name of identifier is too long.
Example:
char[] c = new char[1000]; Arrays.fill(c, 'A'); statement.executeQuery("SELECT 1 " + new String(c));
public static final int TOO_MANY_COLUMNS_1
54011
is thrown when
too many columns were specified in a table, select statement,
or row value.
Example:
CREATE TABLE TEST(C1 INTEGER, C2 INTEGER, ..., C20000 INTEGER);
public static final int GENERAL_ERROR_1
50000
is thrown when
something unexpected occurs, for example an internal stack
overflow. For details about the problem, see the cause of the
exception in the stack trace.public static final int UNKNOWN_DATA_TYPE_1
50004
is thrown when
creating a table with an unsupported data type, or
when the data type is unknown because parameters are used.
Example:
CREATE TABLE TEST(ID VERYSMALLINT);
public static final int FEATURE_NOT_SUPPORTED_1
50100
is thrown when calling an
unsupported JDBC method or database feature. See the stack trace for
details.public static final int LOCK_TIMEOUT_1
50200
is thrown when
another connection locked an object longer than the lock timeout
set for this connection, or when a deadlock occurred.
Example:
CREATE TABLE TEST(ID INT); -- connection 1: SET AUTOCOMMIT FALSE; INSERT INTO TEST VALUES(1); -- connection 2: SET AUTOCOMMIT FALSE; INSERT INTO TEST VALUES(1);
public static final int STATEMENT_WAS_CANCELED
57014
is thrown when
a statement was canceled using Statement.cancel() or
when the query timeout has been reached.
Examples:
stat.setQueryTimeout(1); stat.cancel();
public static final int FUNCTION_MUST_RETURN_RESULT_SET_1
90000
is thrown when
a function that does not return a result set was used in the FROM clause.
Example:
SELECT * FROM SIN(1);
public static final int METHOD_NOT_ALLOWED_FOR_QUERY
90001
is thrown when
Statement.executeUpdate() was called for a SELECT statement.
This is not allowed according to the JDBC specs.public static final int METHOD_ONLY_ALLOWED_FOR_QUERY
90002
is thrown when
Statement.executeQuery() was called for a statement that does
not return a result set (for example, an UPDATE statement).
This is not allowed according to the JDBC specs.public static final int HEX_STRING_ODD_1
90003
is thrown when
trying to convert a String to a binary value. Two hex digits
per byte are required. Example of wrong usage:
CALL X'00023'; Hexadecimal string with odd number of characters: 00023Correct:
CALL X'000023';
public static final int HEX_STRING_WRONG_1
90004
is thrown when
trying to convert a text to binary, but the expression contains
a non-hexadecimal character.
Example:
CALL X'ABCDEFGH'; CALL CAST('ABCDEFGH' AS BINARY);Conversion from text to binary is supported, but the text must represent the hexadecimal encoded bytes.
public static final int INVALID_TRIGGER_FLAGS_1
90005
is thrown when
trying to create a trigger with invalid combination of flags.public static final int SEQUENCE_EXHAUSTED
90006
is thrown when
trying to get a value from a sequence that has run out of numbers
and does not have cycling enabled.public static final int OBJECT_CLOSED
90007
is thrown when
trying to call a JDBC method on an object that has been closed.public static final int INVALID_VALUE_2
90008
is thrown when
trying to use a value that is not valid for the given operation.
Example:
CREATE SEQUENCE TEST INCREMENT 0;
public static final int SEQUENCE_ATTRIBUTES_INVALID_7
90009
is thrown when
trying to create a sequence with an invalid combination
of attributes (min value, max value, start value, etc).public static final int INVALID_TO_CHAR_FORMAT
90010
is thrown when
trying to format a timestamp or number using TO_CHAR
with an invalid format.public static final int URL_RELATIVE_TO_CWD
90011
is thrown when
trying to open a connection to a database using an implicit relative
path, such as "jdbc:h2:test" (in which case the database file would be
stored in the current working directory of the application). This is not
allowed because it can lead to confusion where the database file is, and
can result in multiple databases because different working directories
are used. Instead, use "jdbc:h2:~/name" (relative to the current user
home directory), use an absolute path, set the base directory (baseDir),
use "jdbc:h2:./name" (explicit relative path), or set the system property
"h2.implicitRelativePath" to "true" (to prevent this check). For Windows,
an absolute path also needs to include the drive ("C:/..."). Please see
the documentation on the supported URL format. Example:
jdbc:h2:test
public static final int PARAMETER_NOT_SET_1
90012
is thrown when
trying to execute a statement with an parameter.
Example:
CALL SIN(?);
public static final int DATABASE_NOT_FOUND_1
90013
is thrown when when trying to access
a database object with a catalog name that does not match the database
name.
SELECT * FROM database_that_does_not_exist.table_name
public static final int PARSE_ERROR_1
90014
is thrown when
trying to parse a date with an unsupported format string, or
when the date can not be parsed.
Example:
CALL PARSEDATETIME('2001 January', 'yyyy mm');
public static final int SUM_OR_AVG_ON_WRONG_DATATYPE_1
90015
is thrown when
using an aggregate function with a data type that is not supported.
Example:
SELECT SUM('Hello') FROM DUAL;
public static final int MUST_GROUP_BY_COLUMN_1
90016
is thrown when
a column was used in the expression list or the order by clause of a
group or aggregate query, and that column is not in the GROUP BY clause.
Example of wrong usage:
CREATE TABLE TEST(ID INT, NAME VARCHAR); INSERT INTO TEST VALUES(1, 'Hello'), (2, 'World'); SELECT ID, MAX(NAME) FROM TEST; Column ID must be in the GROUP BY list.Correct:
SELECT ID, MAX(NAME) FROM TEST GROUP BY ID;
public static final int SECOND_PRIMARY_KEY
90017
is thrown when
trying to define a second primary key constraint for this table.
Example:
CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR); ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY(NAME);
public static final int TRACE_CONNECTION_NOT_CLOSED
90018
is thrown when
the connection was opened, but never closed. In the finalizer of the
connection, this forgotten close was detected and the connection was
closed automatically, but relying on the finalizer is not good practice
as it is not guaranteed and behavior is virtual machine dependent. The
application should close the connection. This exception only appears in
the .trace.db file. Example of wrong usage:
Connection conn; conn = DriverManager.getConnection("jdbc:h2:˜/test"); conn = null; The connection was not closed by the application and is garbage collectedCorrect:
conn.close();
public static final int CANNOT_DROP_CURRENT_USER
90019
is thrown when
trying to drop the current user, if there are no other admin users.
Example:
DROP USER SA;
public static final int DATABASE_ALREADY_OPEN_1
90020
is thrown when trying to open a
database in embedded mode if this database is already in use in another
process (or in a different class loader). Multiple connections to the
same database are supported in the following cases:
public static final int UNSUPPORTED_SETTING_COMBINATION
90021
is thrown when
trying to change a specific database property that conflicts with other
database properties.public static final int FUNCTION_NOT_FOUND_1
90022
is thrown when
trying to call a unknown function.
Example:
CALL SPECIAL_SIN(10);
public static final int COLUMN_MUST_NOT_BE_NULLABLE_1
90023
is thrown when trying to set a
primary key on a nullable column or when trying to drop NOT NULL
constraint on primary key or identity column.
Examples:
CREATE TABLE TEST(ID INT, NAME VARCHAR); ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY(ID);
CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR); ALTER TABLE TEST ALTER COLUMN ID DROP NOT NULL;
CREATE TABLE TEST(ID INT GENERATED ALWAYS AS IDENTITY, NAME VARCHAR); ALTER TABLE TEST ALTER COLUMN ID DROP NOT NULL;
public static final int FILE_RENAME_FAILED_2
90024
is thrown when
a file could not be renamed.public static final int FILE_DELETE_FAILED_1
90025
is thrown when
a file could not be deleted, because it is still in use
(only in Windows), or because an error occurred when deleting.public static final int SERIALIZATION_FAILED_1
90026
is thrown when
an object could not be serialized.public static final int DESERIALIZATION_FAILED_1
90027
is thrown when
an object could not be de-serialized.public static final int IO_EXCEPTION_1
90028
is thrown when
an input / output error occurred. For more information, see the root
cause of the exception.public static final int NOT_ON_UPDATABLE_ROW
90029
is thrown when
calling ResultSet.deleteRow(), insertRow(), or updateRow()
when the current row is not updatable.
Example:
ResultSet rs = stat.executeQuery("SELECT * FROM TEST"); rs.next(); rs.insertRow();
public static final int FILE_CORRUPTED_1
90030
is thrown when
the database engine has detected a checksum mismatch in the data
or index. To solve this problem, restore a backup or use the
Recovery tool (org.h2.tools.Recover).public static final int IO_EXCEPTION_2
90031
is thrown when
an input / output error occurred. For more information, see the root
cause of the exception.public static final int USER_NOT_FOUND_1
90032
is thrown when
trying to drop or alter a user that does not exist.
Example:
DROP USER TEST_USER;
public static final int USER_ALREADY_EXISTS_1
90033
is thrown when
trying to create a user or role if a user with this name already exists.
Example:
CREATE USER TEST_USER; CREATE USER TEST_USER;
public static final int TRACE_FILE_ERROR_2
90034
is thrown when
writing to the trace file failed, for example because the there
is an I/O exception. This message is printed to System.out,
but only once.public static final int SEQUENCE_ALREADY_EXISTS_1
90035
is thrown when
trying to create a sequence if a sequence with this name already
exists.
Example:
CREATE SEQUENCE TEST_SEQ; CREATE SEQUENCE TEST_SEQ;
public static final int SEQUENCE_NOT_FOUND_1
90036
is thrown when
trying to access a sequence that does not exist.
Example:
SELECT NEXT VALUE FOR SEQUENCE XYZ;
public static final int VIEW_NOT_FOUND_1
90037
is thrown when
trying to drop or alter a view that does not exist.
Example:
DROP VIEW XYZ;
public static final int VIEW_ALREADY_EXISTS_1
90038
is thrown when
trying to create a view if a view with this name already
exists.
Example:
CREATE VIEW DUMMY AS SELECT * FROM DUAL; CREATE VIEW DUMMY AS SELECT * FROM DUAL;
public static final int LOB_CLOSED_ON_TIMEOUT_1
90039
is thrown when
trying to access a CLOB or BLOB object that timed out.
See the database setting LOB_TIMEOUT.public static final int ADMIN_RIGHTS_REQUIRED
90040
is thrown when
a user that is not administrator tries to execute a statement
that requires admin privileges.public static final int TRIGGER_ALREADY_EXISTS_1
90041
is thrown when
trying to create a trigger and there is already a trigger with that name.
CREATE TABLE TEST(ID INT); CREATE TRIGGER TRIGGER_A AFTER INSERT ON TEST CALL "org.h2.samples.TriggerSample$MyTrigger"; CREATE TRIGGER TRIGGER_A AFTER INSERT ON TEST CALL "org.h2.samples.TriggerSample$MyTrigger";
public static final int TRIGGER_NOT_FOUND_1
90042
is thrown when
trying to drop a trigger that does not exist.
Example:
DROP TRIGGER TRIGGER_XYZ;
public static final int ERROR_CREATING_TRIGGER_OBJECT_3
90043
is thrown when
there is an error initializing the trigger, for example because the
class does not implement the Trigger interface.
See the root cause for details.
Example:
CREATE TABLE TEST(ID INT); CREATE TRIGGER TRIGGER_A AFTER INSERT ON TEST CALL "java.lang.String";
public static final int ERROR_EXECUTING_TRIGGER_3
90044
is thrown when
an exception or error occurred while calling the triggers fire method.
See the root cause for details.public static final int CONSTRAINT_ALREADY_EXISTS_1
90045
is thrown when trying to create a
constraint if an object with this name already exists. Example:
CREATE TABLE TEST(ID INT NOT NULL); ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY(ID); ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY(ID);
public static final int URL_FORMAT_ERROR_2
90046
is thrown when
trying to open a connection to a database using an unsupported URL
format. Please see the documentation on the supported URL format and
examples. Example:
jdbc:h2:;;
public static final int DRIVER_VERSION_ERROR_2
90047
is thrown when
trying to connect to a TCP server with an incompatible client.public static final int FILE_VERSION_ERROR_1
90048
is thrown when
the file header of a database files (*.db) does not match the
expected version, or if it is corrupted.public static final int FILE_ENCRYPTION_ERROR_1
90049
is thrown when
trying to open an encrypted database with the wrong file encryption
password or algorithm.public static final int WRONG_PASSWORD_FORMAT
90050
is thrown when trying to open an
encrypted database, but not separating the file password from the user
password. The file password is specified in the password field, before
the user password. A single space needs to be added between the file
password and the user password; the file password itself may not contain
spaces. File passwords (as well as user passwords) are case sensitive.
Example of wrong usage:
String url = "jdbc:h2:˜/test;CIPHER=AES"; String passwords = "filePasswordUserPassword"; DriverManager.getConnection(url, "sa", pwds);Correct:
String url = "jdbc:h2:˜/test;CIPHER=AES"; String passwords = "filePassword userPassword"; DriverManager.getConnection(url, "sa", pwds);
public static final int SUBQUERY_IS_NOT_SINGLE_COLUMN
90052
is thrown when a single-column
subquery is expected but a subquery with other number of columns was
specified.
Example:
VALUES ARRAY(SELECT A, B FROM TEST)
public static final int SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW
90053
is thrown when
a subquery that is used as a value contains more than one row.
Example:
CREATE TABLE TEST(ID INT, NAME VARCHAR); INSERT INTO TEST VALUES(1, 'Hello'), (1, 'World'); SELECT X, (SELECT NAME FROM TEST WHERE ID=X) FROM DUAL;
public static final int INVALID_USE_OF_AGGREGATE_FUNCTION_1
90054
is thrown when
an aggregate function is used where it is not allowed.
Example:
CREATE TABLE TEST(ID INT); INSERT INTO TEST VALUES(1), (2); SELECT MAX(ID) FROM TEST WHERE ID = MAX(ID) GROUP BY ID;
public static final int UNSUPPORTED_CIPHER
90055
is thrown when
trying to open a database with an unsupported cipher algorithm.
Supported is AES.
Example:
jdbc:h2:~/test;CIPHER=DES
public static final int INVALID_TO_DATE_FORMAT
90056
is thrown when trying to format a
timestamp using TO_DATE and TO_TIMESTAMP with an invalid format.public static final int CONSTRAINT_NOT_FOUND_1
90057
is thrown when
trying to drop a constraint that does not exist.
Example:
CREATE TABLE TEST(ID INT); ALTER TABLE TEST DROP CONSTRAINT CID;
public static final int COMMIT_ROLLBACK_NOT_ALLOWED
90058
is thrown when trying to call
commit or rollback inside a trigger, or when trying to call a method
inside a trigger that implicitly commits the current transaction, if an
object is locked. This is not because it would release the lock too
early.public static final int AMBIGUOUS_COLUMN_NAME_1
90059
is thrown when
a query contains a column that could belong to multiple tables.
Example:
CREATE TABLE PARENT(ID INT, NAME VARCHAR); CREATE TABLE CHILD(PID INT, NAME VARCHAR); SELECT ID, NAME FROM PARENT P, CHILD C WHERE P.ID = C.PID;
public static final int UNSUPPORTED_LOCK_METHOD_1
90060
is thrown when
trying to use a file locking mechanism that is not supported.
Currently only FILE (the default) and SOCKET are supported
Example:
jdbc:h2:~/test;FILE_LOCK=LDAP
public static final int EXCEPTION_OPENING_PORT_2
90061
is thrown when
trying to start a server if a server is already running at the same port.
It could also be a firewall problem. To find out if another server is
already running, run the following command on Windows:
netstat -anoThe column PID is the process id as listed in the Task Manager. For Linux, use:
netstat -npl
public static final int FILE_CREATION_FAILED_1
90062
is thrown when
a directory or file could not be created. This can occur when
trying to create a directory if a file with the same name already
exists, or vice versa.public static final int SAVEPOINT_IS_INVALID_1
90063
is thrown when
trying to rollback to a savepoint that is not defined.
Example:
ROLLBACK TO SAVEPOINT S_UNKNOWN;
public static final int SAVEPOINT_IS_UNNAMED
90064
is thrown when
Savepoint.getSavepointName() is called on an unnamed savepoint.
Example:
Savepoint sp = conn.setSavepoint(); sp.getSavepointName();
public static final int SAVEPOINT_IS_NAMED
90065
is thrown when
Savepoint.getSavepointId() is called on a named savepoint.
Example:
Savepoint sp = conn.setSavepoint("Joe"); sp.getSavepointId();
public static final int DUPLICATE_PROPERTY_1
90066
is thrown when
the same property appears twice in the database URL or in
the connection properties.
Example:
jdbc:h2:~/test;LOCK_TIMEOUT=0;LOCK_TIMEOUT=1
public static final int CONNECTION_BROKEN_1
90067
is thrown when the client could
not connect to the database, or if the connection was lost. Possible
reasons are: the database server is not running at the given port, the
connection was closed due to a shutdown, or the server was stopped. Other
possible causes are: the server is not an H2 server, or the network
connection is broken.public static final int ORDER_BY_NOT_IN_RESULT
90068
is thrown when the given
expression that is used in the ORDER BY is not in the result list. This
is required for distinct queries, otherwise the result would be
ambiguous.
Example of wrong usage:
CREATE TABLE TEST(ID INT, NAME VARCHAR); INSERT INTO TEST VALUES(2, 'Hello'), (1, 'Hello'); SELECT DISTINCT NAME FROM TEST ORDER BY ID; Order by expression ID must be in the result list in this caseCorrect:
SELECT DISTINCT ID, NAME FROM TEST ORDER BY ID;
public static final int ROLE_ALREADY_EXISTS_1
90069
is thrown when
trying to create a role if an object with this name already exists.
Example:
CREATE ROLE TEST_ROLE; CREATE ROLE TEST_ROLE;
public static final int ROLE_NOT_FOUND_1
90070
is thrown when
trying to drop or grant a role that does not exists.
Example:
DROP ROLE TEST_ROLE_2;
public static final int USER_OR_ROLE_NOT_FOUND_1
90071
is thrown when
trying to grant or revoke if no role or user with that name exists.
Example:
GRANT SELECT ON TEST TO UNKNOWN;
public static final int ROLES_AND_RIGHT_CANNOT_BE_MIXED
90072
is thrown when
trying to grant or revoke both roles and rights at the same time.
Example:
GRANT SELECT, TEST_ROLE ON TEST TO SA;
public static final int METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2
90073
is thrown when trying to create
an alias for a Java method, if two methods exists in this class that have
this name and the same number of parameters.
Example of wrong usage:
CREATE ALIAS GET_LONG FOR "java.lang.Long.getLong";Correct:
CREATE ALIAS GET_LONG FOR "java.lang.Long.getLong(java.lang.String, java.lang.Long)";
public static final int ROLE_ALREADY_GRANTED_1
90074
is thrown when
trying to grant a role that has already been granted.
Example:
CREATE ROLE TEST_A; CREATE ROLE TEST_B; GRANT TEST_A TO TEST_B; GRANT TEST_B TO TEST_A;
public static final int COLUMN_IS_PART_OF_INDEX_1
90075
is thrown when
trying to alter a table and allow null for a column that is part of a
primary key or hash index.
Example:
CREATE TABLE TEST(ID INT PRIMARY KEY); ALTER TABLE TEST ALTER COLUMN ID NULL;
public static final int FUNCTION_ALIAS_ALREADY_EXISTS_1
90076
is thrown when
trying to create a function alias for a system function or for a function
that is already defined.
Example:
CREATE ALIAS SQRT FOR "java.lang.Math.sqrt"
public static final int FUNCTION_ALIAS_NOT_FOUND_1
90077
is thrown when
trying to drop a system function or a function alias that does not exist.
Example:
DROP ALIAS SQRT;
public static final int SCHEMA_ALREADY_EXISTS_1
90078
is thrown when
trying to create a schema if an object with this name already exists.
Example:
CREATE SCHEMA TEST_SCHEMA; CREATE SCHEMA TEST_SCHEMA;
public static final int SCHEMA_NOT_FOUND_1
90079
is thrown when
trying to drop a schema that does not exist.
Example:
DROP SCHEMA UNKNOWN;
public static final int SCHEMA_NAME_MUST_MATCH
90080
is thrown when
trying to rename a object to a different schema, or when trying to
create a related object in another schema.
For CREATE LINKED TABLE, it is thrown when multiple tables with that
name exist in different schemas.
Example:
CREATE SCHEMA TEST_SCHEMA; CREATE TABLE TEST(ID INT); CREATE INDEX TEST_ID ON TEST(ID); ALTER INDEX TEST_ID RENAME TO TEST_SCHEMA.IDX_TEST_ID;
public static final int COLUMN_CONTAINS_NULL_VALUES_1
90081
is thrown when
trying to alter a column to not allow NULL, if there
is already data in the table where this column is NULL.
Example:
CREATE TABLE TEST(ID INT); INSERT INTO TEST VALUES(NULL); ALTER TABLE TEST ALTER COLUMN ID VARCHAR NOT NULL;
public static final int SEQUENCE_BELONGS_TO_A_TABLE_1
90082
is thrown when
trying to drop a system generated sequence.public static final int COLUMN_IS_REFERENCED_1
90083
is thrown when
trying to drop a column that is part of a constraint.
Example:
CREATE TABLE TEST(ID INT, PID INT REFERENCES(ID)); ALTER TABLE TEST DROP COLUMN PID;
public static final int CANNOT_DROP_LAST_COLUMN
90084
is thrown when
trying to drop the last column of a table.
Example:
CREATE TABLE TEST(ID INT); ALTER TABLE TEST DROP COLUMN ID;
public static final int INDEX_BELONGS_TO_CONSTRAINT_2
90085
is thrown when
trying to manually drop an index that was generated by the system
because of a unique or referential constraint. To find
the owner of the index without attempt to drop it run
SELECT CONSTRAINT_SCHEMA, CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE INDEX_SCHEMA = '<index schema>' AND INDEX_NAME = '<index name>' FETCH FIRST ROW ONLYExample of wrong usage:
CREATE TABLE TEST(ID INT, CONSTRAINT UID UNIQUE(ID)); DROP INDEX UID_INDEX_0; Index UID_INDEX_0 belongs to constraint UIDCorrect:
ALTER TABLE TEST DROP CONSTRAINT UID;
public static final int CLASS_NOT_FOUND_1
90086
is thrown when
a class can not be loaded because it is not in the classpath
or because a related class is not in the classpath.
Example:
CREATE ALIAS TEST FOR "java.lang.invalid.Math.sqrt";
public static final int METHOD_NOT_FOUND_1
90087
is thrown when
a method with matching number of arguments was not found in the class.
Example:
CREATE ALIAS TO_BINARY FOR "java.lang.Long.toBinaryString(long)"; CALL TO_BINARY(10, 2);
public static final int UNKNOWN_MODE_1
90088
is thrown when
trying to switch to an unknown mode.
Example:
SET MODE UNKNOWN;
public static final int COLLATION_CHANGE_WITH_DATA_TABLE_1
90089
is thrown when
trying to change the collation while there was already data in
the database. The collation of the database must be set when the
database is empty.
Example of wrong usage:
CREATE TABLE TEST(NAME VARCHAR PRIMARY KEY); INSERT INTO TEST VALUES('Hello', 'World'); SET COLLATION DE; Collation cannot be changed because there is a data table: PUBLIC.TESTCorrect:
SET COLLATION DE; CREATE TABLE TEST(NAME VARCHAR PRIMARY KEY); INSERT INTO TEST VALUES('Hello', 'World');
public static final int SCHEMA_CAN_NOT_BE_DROPPED_1
90090
is thrown when
trying to drop a schema that may not be dropped (the schema PUBLIC
and the schema INFORMATION_SCHEMA).
Example:
DROP SCHEMA PUBLIC;
public static final int ROLE_CAN_NOT_BE_DROPPED_1
90091
is thrown when
trying to drop the role PUBLIC.
Example:
DROP ROLE PUBLIC;
public static final int CLUSTER_ERROR_DATABASE_RUNS_ALONE
90093
is thrown when
trying to connect to a clustered database that runs in standalone
mode. This can happen if clustering is not enabled on the database,
or if one of the clients disabled clustering because it can not see
the other cluster node.public static final int CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1
90094
is thrown when
trying to connect to a clustered database that runs together with a
different cluster node setting than what is used when trying to connect.public static final int STRING_FORMAT_ERROR_1
90095
is thrown when
calling the method STRINGDECODE with an invalid escape sequence.
Only Java style escape sequences and Java properties file escape
sequences are supported.
Example:
CALL STRINGDECODE('\i');
public static final int NOT_ENOUGH_RIGHTS_FOR_1
90096
is thrown when
trying to perform an operation with a non-admin user if the
user does not have enough rights.public static final int DATABASE_IS_READ_ONLY
90097
is thrown when
trying to delete or update a database if it is open in read-only mode.
Example:
jdbc:h2:~/test;ACCESS_MODE_DATA=R CREATE TABLE TEST(ID INT);
public static final int DATABASE_IS_CLOSED
90098
is thrown when the database has
been closed, for example because the system ran out of memory or because
the self-destruction counter has reached zero. This counter is only used
for recovery testing, and not set in normal operation.public static final int ERROR_SETTING_DATABASE_EVENT_LISTENER_2
90099
is thrown when an error occurred
trying to initialize the database event listener. Example:
jdbc:h2:˜/test;DATABASE_EVENT_LISTENER='java.lang.String'
public static final int WRONG_XID_FORMAT_1
90101
is thrown when
the XA API detected unsupported transaction names. This can happen
when mixing application generated transaction names and transaction names
generated by this databases XAConnection API.public static final int UNSUPPORTED_COMPRESSION_OPTIONS_1
90102
is thrown when
trying to use unsupported options for the given compression algorithm.
Example of wrong usage:
CALL COMPRESS(STRINGTOUTF8(SPACE(100)), 'DEFLATE l 10');Correct:
CALL COMPRESS(STRINGTOUTF8(SPACE(100)), 'DEFLATE l 9');
public static final int UNSUPPORTED_COMPRESSION_ALGORITHM_1
90103
is thrown when
trying to use an unsupported compression algorithm.
Example:
CALL COMPRESS(STRINGTOUTF8(SPACE(100)), 'BZIP');
public static final int COMPRESSION_ERROR
90104
is thrown when
the data can not be de-compressed.
Example:
CALL EXPAND(X'00FF');
public static final int EXCEPTION_IN_FUNCTION_1
90105
is thrown when
an exception occurred in a user-defined method.
Example:
CREATE ALIAS SYS_PROP FOR "java.lang.System.getProperty"; CALL SYS_PROP(NULL);
public static final int CANNOT_TRUNCATE_1
90106
is thrown when
trying to truncate a table that can not be truncated.
Tables with referential integrity constraints can not be truncated.
Also, system tables and view can not be truncated.
Example:
TRUNCATE TABLE INFORMATION_SCHEMA.SETTINGS;
public static final int CANNOT_DROP_2
90107
is thrown when
trying to drop an object because another object would become invalid.
Example:
CREATE TABLE COUNT(X INT); CREATE TABLE ITEMS(ID INT DEFAULT SELECT MAX(X)+1 FROM COUNT); DROP TABLE COUNT;
public static final int OUT_OF_MEMORY
90108
is thrown when not enough heap
memory was available. A possible solutions is to increase the memory size
using java -Xmx128m ...
. Another solution is to reduce
the cache size.public static final int VIEW_IS_INVALID_2
90109
is thrown when
trying to run a query against an invalid view.
Example:
CREATE FORCE VIEW TEST_VIEW AS SELECT * FROM TEST; SELECT * FROM TEST_VIEW;
public static final int TYPES_ARE_NOT_COMPARABLE_2
90110
is thrown when
trying to compare values of incomparable data types.
Example:
CREATE TABLE test (id INT NOT NULL, name VARCHAR); select * from test where id = (1, 2);
public static final int ERROR_ACCESSING_LINKED_TABLE_2
90111
is thrown when
an exception occurred while accessing a linked table.public static final int ROW_NOT_FOUND_WHEN_DELETING_1
90112
is thrown when a row was deleted
twice while locking was disabled. This is an intern exception that should
never be thrown to the application, because such deleted should be
detected and the resulting exception ignored inside the database engine.
Row not found when trying to delete from index UID_INDEX_0
public static final int UNSUPPORTED_SETTING_1
90113
is thrown when
the database URL contains unsupported settings.
Example:
jdbc:h2:~/test;UNKNOWN=TRUE
public static final int CONSTANT_ALREADY_EXISTS_1
90114
is thrown when
trying to create a constant if a constant with this name already exists.
Example:
CREATE CONSTANT TEST VALUE 1; CREATE CONSTANT TEST VALUE 1;
public static final int CONSTANT_NOT_FOUND_1
90115
is thrown when
trying to drop a constant that does not exists.
Example:
DROP CONSTANT UNKNOWN;
public static final int LITERALS_ARE_NOT_ALLOWED
90116
is thrown when
trying use a literal in a SQL statement if literals are disabled.
If literals are disabled, use PreparedStatement and parameters instead
of literals in the SQL statement.
Example:
SET ALLOW_LITERALS NONE; CALL 1+1;
public static final int REMOTE_CONNECTION_NOT_ALLOWED
90117
is thrown when
trying to connect to a TCP server from another machine, if remote
connections are not allowed. To allow remote connections,
start the TCP server using the option -tcpAllowOthers as in:
java org.h2.tools.Server -tcp -tcpAllowOthersOr, when starting the server from an application, use:
Server server = Server.createTcpServer("-tcpAllowOthers"); server.start();
public static final int CANNOT_DROP_TABLE_1
90118
is thrown when
trying to drop a table can not be dropped.
Example:
DROP TABLE INFORMATION_SCHEMA.SETTINGS;
public static final int DOMAIN_ALREADY_EXISTS_1
90119
is thrown when
trying to create a domain if an object with this name already exists,
or when trying to overload a built-in data type.
Example:
CREATE DOMAIN INTEGER AS VARCHAR; CREATE DOMAIN EMAIL AS VARCHAR CHECK LOCATE('@', VALUE) > 0; CREATE DOMAIN EMAIL AS VARCHAR CHECK LOCATE('@', VALUE) > 0;
@Deprecated public static final int USER_DATA_TYPE_ALREADY_EXISTS_1
DOMAIN_ALREADY_EXISTS_1
instead.public static final int DOMAIN_NOT_FOUND_1
90120
is thrown when
trying to drop a domain that doesn't exist.
Example:
DROP DOMAIN UNKNOWN;
@Deprecated public static final int USER_DATA_TYPE_NOT_FOUND_1
DOMAIN_NOT_FOUND_1
instead.public static final int DATABASE_CALLED_AT_SHUTDOWN
90121
is thrown when
a database operation is started while the virtual machine exits
(for example in a shutdown hook), or when the session is closed.public static final int WITH_TIES_WITHOUT_ORDER_BY
90122
is thrown when
WITH TIES clause is used without ORDER BY clause.public static final int CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS
90123
is thrown when
trying mix regular parameters and indexed parameters in the same
statement. Example:
SELECT ?, ?1 FROM DUAL;
public static final int FILE_NOT_FOUND_1
90124
is thrown when
trying to access a file that doesn't exist. This can occur when trying to
read a lob if the lob file has been deleted by another application.public static final int INVALID_CLASS_2
90125
is thrown when
PreparedStatement.setBigDecimal is called with object that extends the
class BigDecimal, and the system property h2.allowBigDecimalExtensions is
not set. Using extensions of BigDecimal is dangerous because the database
relies on the behavior of BigDecimal. Example of wrong usage:
BigDecimal bd = new MyDecimal("$10.3"); prep.setBigDecimal(1, bd); Invalid class, expected java.math.BigDecimal but got MyDecimalCorrect:
BigDecimal bd = new BigDecimal("10.3"); prep.setBigDecimal(1, bd);
public static final int DATABASE_IS_NOT_PERSISTENT
90126
is thrown when
trying to call the BACKUP statement for an in-memory database.
Example:
jdbc:h2:mem: BACKUP TO 'test.zip';
public static final int RESULT_SET_NOT_UPDATABLE
90127
is thrown when
trying to update or delete a row in a result set if the result set is
not updatable. Result sets are only updatable if:
the statement was created with updatable concurrency;
all columns of the result set are from the same table;
the table is a data table (not a system table or view);
all columns of the primary key or any unique index are included;
all columns of the result set are columns of that table.public static final int RESULT_SET_NOT_SCROLLABLE
90128
is thrown when
trying to call a method of the ResultSet that is only supported
for scrollable result sets, and the result set is not scrollable.
Example:
rs.first();
public static final int TRANSACTION_NOT_FOUND_1
90129
is thrown when
trying to commit a transaction that doesn't exist.
Example:
PREPARE COMMIT ABC; COMMIT TRANSACTION TEST;
public static final int METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT
90130
is thrown when
an execute method of PreparedStatement was called with a SQL statement.
This is not allowed according to the JDBC specification. Instead, use
an execute method of Statement.
Example of wrong usage:
PreparedStatement prep = conn.prepareStatement("SELECT * FROM TEST"); prep.execute("DELETE FROM TEST");Correct:
Statement stat = conn.createStatement(); stat.execute("DELETE FROM TEST");
public static final int CONCURRENT_UPDATE_1
90131
is thrown when using multi version
concurrency control, and trying to update the same row from within two
connections at the same time, or trying to insert two rows with the same
key from two connections. Example:
jdbc:h2:~/test Session 1: CREATE TABLE TEST(ID INT); INSERT INTO TEST VALUES(1); SET AUTOCOMMIT FALSE; UPDATE TEST SET ID = 2; Session 2: SET AUTOCOMMIT FALSE; UPDATE TEST SET ID = 3;
public static final int AGGREGATE_NOT_FOUND_1
90132
is thrown when
trying to drop a user-defined aggregate function that doesn't exist.
Example:
DROP AGGREGATE UNKNOWN;
public static final int CANNOT_CHANGE_SETTING_WHEN_OPEN_1
90133
is thrown when
trying to change a specific database property while the database is
already open.public static final int ACCESS_DENIED_TO_CLASS_1
90134
is thrown when
trying to load a Java class that is not part of the allowed classes. By
default, all classes are allowed, but this can be changed using the
system property h2.allowedClasses.public static final int DATABASE_IS_IN_EXCLUSIVE_MODE
90135
is thrown when
trying to open a connection to a database that is currently open
in exclusive mode. The exclusive mode is set using:
SET EXCLUSIVE TRUE;
public static final int WINDOW_NOT_FOUND_1
90136
is thrown when
trying to reference a window that does not exist.
Example:
SELECT LEAD(X) OVER W FROM TEST;
public static final int CAN_ONLY_ASSIGN_TO_VARIABLE_1
90137
is thrown when
trying to assign a value to something that is not a variable.
SELECT AMOUNT, SET(@V, COALESCE(@V, 0)+AMOUNT) FROM TEST;
public static final int INVALID_DATABASE_NAME_1
90138
is thrown when
trying to open a persistent database using an incorrect database name.
The name of a persistent database contains the path and file name prefix
where the data is stored. The file name part of a database name must be
at least two characters.
Example of wrong usage:
DriverManager.getConnection("jdbc:h2:~/t"); DriverManager.getConnection("jdbc:h2:~/test/");Correct:
DriverManager.getConnection("jdbc:h2:~/te"); DriverManager.getConnection("jdbc:h2:~/test/te");
public static final int PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1
90139
is thrown when
the specified public static Java method was not found in the class.
Example:
CREATE ALIAS TEST FOR "java.lang.Math.test";
public static final int RESULT_SET_READONLY
90140
is thrown when trying to update or
delete a row in a result set if the statement was not created with
updatable concurrency. Result sets are only updatable if the statement
was created with updatable concurrency, and if the result set contains
all columns of the primary key or of a unique index of a table.public static final int JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE
90141
is thrown when
trying to change the java object serializer while there was already data
in the database. The serializer of the database must be set when the
database is empty.public static final int STEP_SIZE_MUST_NOT_BE_ZERO
90142
is thrown when
trying to set zero for step size.public static final int ROW_NOT_FOUND_IN_PRIMARY_INDEX
90143
is thrown when
trying to fetch a row from the primary index and the row is not there.public static final int AUTHENTICATOR_NOT_AVAILABLE
90144
is thrown when
user trying to login into a database with AUTHREALM set and
the target database doesn't have an authenticator defined
Authenticator experimental feature can be enabled by
SET AUTHENTICATOR TRUE
public static final int FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
90145
is thrown when trying to execute a
SELECT statement with non-window aggregates, DISTINCT, GROUP BY, or
HAVING clauses together with FOR UPDATE clause.
SELECT DISTINCT NAME FOR UPDATE; SELECT MAX(VALUE) FOR UPDATE;
public static final int DATABASE_NOT_FOUND_WITH_IF_EXISTS_1
90146
is thrown when trying to open a
database that does not exist using the flag IFEXISTS=TRUE
jdbc:h2:./database_that_does_not_exist
public static final int METHOD_DISABLED_ON_AUTOCOMMIT_TRUE
90147
is thrown when trying to execute a
statement which closes the transaction (such as commit and rollback) and
autocommit mode is on.public static final int CURRENT_SEQUENCE_VALUE_IS_NOT_DEFINED_IN_SESSION_1
90148
is thrown when trying to access
the current value of a sequence before execution of NEXT VALUE FOR
sequenceName in the current session. Example:
SELECT CURRENT VALUE FOR SEQUENCE XYZ;
public static final int REMOTE_DATABASE_NOT_FOUND_1
90149
is thrown when trying to open a
database that does not exist remotely without enabling remote database
creation first.
jdbc:h2:./database_that_does_not_exist
public static final int INVALID_VALUE_PRECISION
90150
is thrown when
trying to use an invalid precision.
Example:
CREATE TABLE TABLE1 ( FAIL INTERVAL YEAR(20) );
public static final int INVALID_VALUE_SCALE
90151
is thrown when
trying to use an invalid scale or fractional seconds precision.
Example:
CREATE TABLE TABLE1 ( FAIL TIME(10) );
public static final int CONSTRAINT_IS_USED_BY_CONSTRAINT_2
90152
is thrown when trying to manually
drop a unique or primary key constraint that is referenced by a foreign
key constraint without a CASCADE clause.
CREATE TABLE PARENT(ID INT CONSTRAINT P1 PRIMARY KEY); CREATE TABLE CHILD(ID INT CONSTRAINT P2 PRIMARY KEY, CHILD INT CONSTRAINT C REFERENCES PARENT); ALTER TABLE PARENT DROP CONSTRAINT P1 RESTRICT;
public static final int UNCOMPARABLE_REFERENCED_COLUMN_2
90153
is thrown when trying to reference
a column of another data type when data types aren't comparable or don't
have a session-independent compare order between each other.
CREATE TABLE PARENT(T TIMESTAMP UNIQUE); CREATE TABLE CHILD(T TIMESTAMP WITH TIME ZONE REFERENCES PARENT(T));
public static final int GENERATED_COLUMN_CANNOT_BE_ASSIGNED_1
90154
is thrown when trying to assign a
value to a generated column.
CREATE TABLE TEST(A INT, B INT GENERATED ALWAYS AS (A + 1)); INSERT INTO TEST(A, B) VALUES (1, 1);
public static final int GENERATED_COLUMN_CANNOT_BE_UPDATABLE_BY_CONSTRAINT_2
90155
is thrown when trying to create a
referential constraint that can update a referenced generated column.
CREATE TABLE PARENT(ID INT PRIMARY KEY, K INT GENERATED ALWAYS AS (ID) UNIQUE); CREATE TABLE CHILD(ID INT PRIMARY KEY, P INT); ALTER TABLE CHILD ADD FOREIGN KEY(P) REFERENCES PARENT(K) ON DELETE SET NULL;
public static final int COLUMN_ALIAS_IS_NOT_SPECIFIED_1
90156
is thrown when trying to create a
view or a table from a select and some expression doesn't have a column
name or alias when it is required by a compatibility mode.
SET MODE DB2; CREATE TABLE T1(A INT, B INT); CREATE TABLE T2 AS (SELECT A + B FROM T1) WITH DATA;
public static final int GROUP_BY_NOT_IN_THE_RESULT
90157
is thrown when the integer
index that is used in the GROUP BY is not in the SELECT listpublic static boolean isCommon(int errorCode)
errorCode
- to checkpublic static java.lang.String getState(int errorCode)
errorCode
- to get state for