Consider the below test case.
CREATE TABLE t0(c0 VARCHAR(500), c1 INT);
CREATE UNIQUE INDEX t0i0 ON t0(c0 , c1 ) WHERE (t0.c1 BETWEEN false AND true);
INSERT INTO t0(c0, c1) VALUES (1, 2);
When executing the above statements by using isql, the following error is returned, which I suppose is unexpected. I could not simply exit the isql session by Ctrl+C, and had to kill the process.
Statement failed, SQLSTATE = 22018
Error during savepoint backout - transaction invalidated
-conversion error from string "2"
Besides, if executes the above statements by using JDBC, the firebird server would crash.
Connection conn = DriverManager.getConnection("jdbc:firebirdsql://localhost:10009//app/default?user=SYSDBA&password=masterkey");
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE t0(c0 VARCHAR(500), c1 INT)");
stmt.execute("CREATE UNIQUE INDEX t0i0 ON t0(c0 , c1 ) WHERE (t0.c1 BETWEEN false AND true)");
stmt.execute("INSERT INTO t0(c0, c1) VALUES (1, 2)");
The environment I used: (I manually built the firebird from the source code in a docker image.)
- Database version: LI-T6.0.0.253 (f4e725f)
- JDBC: jaybird 5.0.3.java11
- Java: 17.0.8.1
Consider the below test case.
When executing the above statements by using
isql, the following error is returned, which I suppose is unexpected. I could not simply exit theisqlsession byCtrl+C, and had to kill the process.Besides, if executes the above statements by using JDBC, the firebird server would crash.
The environment I used: (I manually built the firebird from the source code in a docker image.)