v0.9.5 — PostgreSQL-source sequences + native TIMESTAMP fractional
PostgreSQL → HeliosDB-Nano is now fully operational — tables, data, FKs, indexes, sequences, and views all migrate and validate.
Added
- PostgreSQL-source sequence migration. The PG source adapter now introspects sequences (
pg_sequences, falling back toinformation_schema.sequences) and preserves each SERIAL/IDENTITY column'sDEFAULT nextval('seq')(normalized to a bare, schema-unqualified reference). Each target sequence'sSTARTis set to the next value the source would produce (from livelast_value/is_called) so post-migration inserts resume past the loaded rows instead of colliding. Sequences are created before tables so aDEFAULT nextvalresolves atCREATE TABLEtime, and the emitter carries the sourceCACHEsize. The Oracle/MySQL emitters skip a PGnextval()default (those dialects spell auto-increment differently), so migrate-back is unaffected.- Validated Pagila → HeliosDB-Nano 3.60.0: 15 tables / 49,636 rows, all 13 sequences created with correct resume points (
actor200→201,customer599→600),DEFAULT nextvalfunctional (insert without the PK auto-increments), and TEST_COUNT / TEST_DATA / TEST_INDEX 15 / 15 / 15.
- Validated Pagila → HeliosDB-Nano 3.60.0: 15 tables / 49,636 rows, all 13 sequences created with correct resume points (
Fixed
- Native (Oracle-wire) TIMESTAMP fractional seconds dropped. python-oracledb defaults a
datetimebind toDB_TYPE_DATE(7-byte, no fractional seconds), truncating sub-second precision client-side before it reaches HeliosDB. The native driver now binds datetime positions asDB_TYPE_TIMESTAMP(setinputsizes), soTIMESTAMP(6)values round-trip exactly — completing the native Oracle → HeliosDB-Full path (TEST_DATA 0 mismatches incl. BLOB / RAW / fractional TIMESTAMP).
pip install -U any2heliosdb