| AutoNumber |
INTEGER key with a generator and a BEFORE INSERT trigger. |
New rows continue from the highest id the copy or a sync wrote, so inserts can resume without resetting anything. |
| Currency, Decimal |
Currency becomes NUMERIC(18,4); Decimal keeps its precision and scale as NUMERIC(p,s). |
Firebird 3 holds 18 digits, so a wider Decimal is declared with 18 there. A value that does not fit is refused by name, never stored as a different number. Firebird 4 and 5 take the full width. |
| Byte, Integer, Long, Single, Double |
SMALLINT, SMALLINT, INTEGER, FLOAT, DOUBLE PRECISION. |
Each value range fits its target. |
| Yes/No |
BOOLEAN NOT NULL DEFAULT FALSE. |
Access has no empty Yes/No, so the target column has none either. |
| Date/Time |
TIMESTAMP. |
Dates from the year 1000 to the last second of 9999 arrive as they were. |
| Short Text, Long Text (Memo) |
VARCHAR(n) and BLOB SUB_TYPE TEXT, both UTF8. |
Long Text values of any length arrive whole. |
| Binary, OLE Object |
VARCHAR(n) CHARACTER SET OCTETS and a binary BLOB. |
Bytes are copied as bytes. |
| Replication ID (GUID) |
CHAR(38) holding {...} in upper case. |
Firebird has no GUID type; the log names the column. A sync matches a GUID key however the other side spells it. |
| Attachment, multi-value fields |
Text: the values joined with ;, or the attached file names. |
The attached files themselves are not copied. The log names each such column. |
| Default values |
Now() and Date() become CURRENT_TIMESTAMP and CURRENT_DATE; numbers and text literals are kept. |
A default that is an expression is dropped and named in the log. |