I have a really odd issue with one table for a project I am working on. It is a MariaDB database.
The table in Clarion:
YEAR_OPTIONS FILE,DRIVER(‘ODBC’,OWNER(gConnectionString),NAME(‘wp_year_options’),PRE(YOP),BINDABLE,THREAD
ID_KEY KEY(YOP:ID),NOCASE,PRIMARY
YEAR_OPTION_CODE_KEY KEY(YOP:YEAR_ACTIVE,YOP:OPTION_CODE),NOCASE
Record RECORD,PRE()
ID LONG
YEAR_ACTIVE SHORT
OPTION_CODE CSTRING(4)
DESCRIPTION CSTRING(51)
REFERENCE BYTE
REFERENCE_LOCATION CSTRING(11)
REFERENCE_VALUE CSTRING(4)
END
END
and the table in MariaDB
CREATE TABLE IF NOT EXISTS wp_year_options (
id INT(14) AUTO_INCREMENT,
year_active SMALLINT NOT NULL,
option_code VARCHAR(3) NOT NULL,
description VARCHAR(50) NOT NULL,
reference TINYINT UNSIGNED NOT NULL DEFAULT 0,
reference_location VARCHAR(10),
reference_value VARCHAR(3),
PRIMARY KEY (ID),
UNIQUE year_option_code_key (YEAR_ACTIVE, OPTION_CODE)
);
Now for the weird part, for this table when I insert a new record, the year_active is a primed value and the option_code and description are entered. When I do that, the year_active is put into the database, but the option_code and description are blank. Then I go back into the record and change the values, then they are saved. I put on logging and no errors are reported and when I look at the values for those two columns with internal logging on insert, they are set.
UPDATE: I recreated the table and started off fresh and the same app worked. Everything is identical in the tables. I ran CHECK TABLE on the table that is giving me fits and it did not find any errors.
Any ideas for me to check?

