Created attachment 146837 [details]
The Firbird support in Base added CLOB to the list recently.
Using the table editor to create a CLOB field in a table works initially.
However if you attempt to alter the table structure subsequently by adding a new column then during the ALTER TABLE process the CLOB field is first erroneously reported as needing to be dropped and added to the back of the table columns, but will change the type of field from CLOB to BLOB.
Steps to reproduce:
1 - download and open the attached test file.
2 - Open the table TABLE2 with the Table Editor
3 - Add a new column after Notes of any name and type
4 - Click on save changes.
User is prompted (see second attachment for screen shot) that the Notes field can not be changed (OK) and instead should it be dropped and appended with new format.
This is because what the application really wants to do is change the column type to BLOB (a type that was supported with older versions of LO/Firebird when it did not support CLOB), so if you the user answers yes it does just that (which looses any data currently in the column for all records) and the user is now unable to edit, insert, etc any data in the changed field. If the user is sharp and answers no there is no harm.
The application adds the new column silently.
Setting this to priority 'High' because of the data loss potential.
Created attachment 146838 [details]
Screen shot of erroneous error message
screen shot of error box message.
I have tested it with both tables:
The "notes"-field, defined as BLOB[BLOB], needs an <OBJECT> for input.
The "notes"-field, defined as CLOB[BLOB], could contain text.
Both fields show the same irritating and wrong errormessage. You have to switch to "No" to prevent dataloss.
By the way: What is the real type of the fields? With HSQLDB the real type is described in square brackets, and this is the same here ([BLOB]).
Tested with LO 220.127.116.11, OpenSUSE 15, 64bit rpm Linux
BLOB and CLOB are two types of LOB, to be AR about it.
From Firebird perspective a CLOB is a specialized sub type of BLOB with the C in CLOB standing for Character and the BLOB being a generic binary encoded large object. CLOB signifies to client software that the binary data may be retrieved as character data.
Same is true of the Image field type in Base, which is another BLOB sub type.
So, it is accurate in the table editor to, as it does, display the types as:
The actual equivalent to the CLOB [BLOB] field in the HSQLdb SDBC was the field type MEMO [BLOB].
This bug is also in LibreOffice Version: 18.104.22.168 ("Stable Version")