MySQL Unsigned Types
NuoDB datatypes are always signed (UNSIGNED modifiers are not allowed), therefore allowed ranges for MySQL UNSIGNED and NuoDB signed types will be different:
| Column | MySQL Type | MySQL Range | NuoDB Type | NuoDB Range |
|---|---|---|---|---|
f1 |
|
|
[-32768,32767] |
|
f2 |
|
|
[-2147483648,2147483647] |
|
f3 |
|
|
[-2147483648,2147483647] |
|
f4 |
|
|
[-9223372036854775808,9223372036854775807] |
nuodb-migrator converts each MySQL UNSIGNED type to the closest NuoDB numeric type, so that value loss and numeric overflow does not happen during data migration.
Consider the following MySQL table (note the UNSIGNED modifier):
CREATE TABLE `t2` (`f1` SMALLINT UNSIGNED, `f2` MEDIUMINT UNSIGNED, `f3` INT UNSIGNED, `f4` BIGINT UNSIGNED);
INSERT INTO `t2` VALUES (65535, 16777215, 4294967295, 18446744073709551615);
This will be converted to:
CREATE TABLE "t2" ("f1" INTEGER, "f2" INTEGER, "f3" BIGINT, "f4" NUMERIC(21));
Table data will be migrated properly using the nuodb-migrator dump […] and nuodb-migrator load […] commands.