Can't input certain data in Firebird or HSQLDB database

Firebird

Error

Error inserting the new record at /build/libreoffice/parts/libreoffice/build/connectivity/source/commontools/dbtools.cxx:746

Error code: 1

firebird_sdbc error:
*validation error for column "Table1"."Date", value "*** null ***"
caused by
'isc_dsql_execute'
 at /build/libreoffice/parts/libreoffice/build/connectivity/source/drivers/firebird/Util.cxx:69

##Design

HSQLDB

Error

Error inserting the new record at /build/libreoffice/parts/libreoffice/build/connectivity/source/commontools/dbtools.cxx:746

SQL Status: 23000
Error code: -104

Violation of unique constraint SYS_PK_47: duplicate value(s) for column(s) "Date" in statement [INSERT INTO "Table1" ( "Date") VALUES ( ?)] at /build/libreoffice/parts/libreoffice/build/connectivity/source/drivers/jdbc/Object.cxx:173

Design

Simply use an automatic integer primary key.

How does that solve this?

It solves the problem by automatic insertion of a unique record identifier that can be referenced by other tables’ foreign keys. This is the essence of a relational database and a precondition for working forms, subforms and listboxes.

2 Likes

The errors were caused by the TIMESTAMP format supporting ISO 8601 (extended) and thus designating the data to be an invalid overflow, since Base defaulted to year 2099 after input sanitization.

The other error was caused by trying to access other tables before saving the data in the new record, since Base autosaves after every entry.

Just set your date format to VARCHAR, I suppose.