Mendix upgrade from 3 to 4 Bitand question in script
We are busy planning to upgrade from mendix 3.3.7 to 4.8.9 and then 5.10. We have an oracle database and are trying to limit the upgrade time. All tables together are about 3 billion rows to update to the the ID (20) values (and only have 9 hours to do our upgrade.) Can we remove the - BITAND("ID", 25051272927248384) parts of the upgrade script as the effect is 0 which is meaningless. To exclude the calculation it might help with the upgrade time. example extract of the upgrade script: UPDATE SNAP2011."CAPTURE$LOG_LINE" SET "ID" = "ID" + 25051272927248384 - BITAND("ID", 25051272927248384);
You are right. You can remove the - BITAND("ID", number) part in this kind of queries.
The construction "ID" + number - BITAND("ID", number)
simulates a BITOR expression. Oracle does not support BITOR, so we use this construction. However, in the case of the ID changes from Mendix 3 to 4, the BITOR is not needed because the number is always a 64 bits number where the right 48 bits are always 0, so a simple "ID" + number is enough.
For migration from Mendix 3 to 5, it is necessary to open your project in Modeler 4 and then Modeler 5. However, you can run a Mendix 5 project on a Mendix 3 database. The database will be migrated then directly from 3 to 5. However, in that case the migration SQL script will be even bigger...