Finish preparing earlier versions of 12.10 databases for JSON compatibility
To make databases that were created with earlier versions of Informix® 12.10 JSON compatible, you must complete some post-migration steps.
-
Prepare any databases that were created in 12.10.xC1 for JSON
compatibility.
If you upgraded to 12.10.xC4 or later fixpacks, skip this step because all databases are made JSON compatible during conversion.
If you upgraded to 12.10.xC3 or 12.10.xC2, complete these steps:
- Run the appropriate script on the upgraded server as
user informix or as a user with DBA privileges.
- Informix 12.10.xC3: convTovNoSQL1210.sql
- Informix 12.10.xC2: convTovNoSQL1210X2.sql
For example, in Informix 12.10.xC3, to make the db_name database JSON compatible, you would run the following command as user informix or as a user with DBA privileges:- UNIX
- dbaccess -e db_name $INFORMIXDIR/etc/convTovNoSQL1210.sql
- Windows
- dbaccess -e db_name %INFORMIXDIR%\etc\convTovNoSQL1210.sql
- Configure and start the wire listener.
- Run the appropriate script on the upgraded server as
user informix or as a user with DBA privileges.
- If you used the wire listener in 12.10.xC2 or 12.10.xC3, after you upgrade to 12.10.xC4 or later fixpacks you must drop and recreate any indexes that you created on your collections. You do not need to drop and recreate the index that is automatically created on the _id field of a collection.
-
If you had binary JSON (BSON) DATE fields in your documents
in 12.10.xC2, you must load the data from the external table that
you created before you upgraded to a later 12.10 fix pack. On the upgraded server:
- Rename the table that contains the BSON column with
DATE fields. For example, use the ALTER table statement to rename the table from datetab to datetab_original.
- Create a new table that has the original table name.
For example:
create table datetab(j int, i bson);
- Load data into the new table from the external table
that you created in your 12.10.xC2 server. During the load, convert
the data from JSON format to BSON format. For example:
insert into datetab select j, i::json::bson from ext_datetab;
- Verify that the data loaded successfully.
- Drop the original, renamed table (for example, datetab_original) after you are certain that the data loaded successfully into the new table (for example, datetab).
- Rename the table that contains the BSON column with
DATE fields.
- If you used the wire listener in 12.10.xC2 with a database that has any uppercase letters in its name, after you upgrade to a later fix pack you must update your applications to use only lowercase letters in the database name.