Changelog

0.22.0 (2023-07-01)

Features

  • create local PostgreSQL copy and support pg_dump and pg_restore (#878) (ff0d5ea)
  • replace 'for update' clauses with LOCK_SCANNED_RANGES=exclusive hint (#699) (08b567c)
  • support replacement of DDL statements (#893) (7880f1f)

Bug Fixes

  • remove invalid BootstrapMessage length check (#910) (be431a8)

Dependencies

Documentation

0.21.0 (2023-06-07)

Features

  • support cursors and foreign data wrapper (#797) (5ee2200)
  • support setting the well-known client (#837) (045156c)

Documentation

0.20.0 (2023-05-26)

Features

Bug Fixes

  • latency benchmark should use random local port (#843) (e15711f)

0.19.1 (2023-05-17)

Performance Improvements

0.19.0 (2023-05-05)

Features

Documentation

0.18.4 (2023-04-15)

Documentation

Dependencies

  • bump JDBC driver to 42.6.0 (#747) (9bdb5f4)
  • bump Spanner client lib version to 6.40.0 (#781) (419c833)
  • pin the SQLAlchemy 2.x version used for tests (#759) (2a78f4c)

0.18.3 (2023-03-20)

Bug Fixes

Documentation

  • add psycopg3 sample with embedded PGAdapter (#733) (0250b21)
  • add sample application for JDBC (#592) (c1a5635)
  • document SQLAlchemy 2.x experimental support (#728) (6a40e9e)
  • pgx sample using embedded PGAdapter (#732) (7c95781)

0.18.2 (2023-03-17)

Bug Fixes

  • add support for getting arrays using npgsql (#722) (6988ad1)

Documentation

  • add documentation and sample for GKE sidecar proxy (#718) (f4246bd), closes #701

0.18.1 (2023-03-09)

Bug Fixes

  • the JDBC reWriteBatchedInserts=true option could cause errors in DML batches (#713) (36bff88)

0.18.0 (2023-03-06)

Features

Bug Fixes

  • add pg_sequence and pg_sequences views (#700) (2ad990a)
  • allow unquoted text values in arrays (#706) (b09f540)
  • support information_schema.sequences (#708) (c043c46), closes #705
  • timestamp arrays should use timestamptz_array OID (#691) (52cac8c)

0.17.0 (2023-02-24)

Features

  • allow timestamp param values in brackets (#661) (f84235f)
  • support ARRAY typed query parameters (#653) (104c200)

Bug Fixes

Performance Improvements

  • do not create a transaction for describe+execute (#660) (e3856ce)

Documentation

  • add example for using stale reads (#643) (a8022c2)
  • added jsonb in the sample (#647) (01785fa)
  • emphasize that internal debugging is for internal use (#612) (005b7f0)

Dependencies

0.16.0 (2023-02-05)

Features

  • allow unsupported OIDs as param types (#604) (5e9f95a)
  • make table and function replacements client-aware (#605) (ad49e99)

Bug Fixes

  • binary copy header should be included in first data message (#609) (2fbf89e)
  • copy to for a query would fail with a column list (#616) (16f030e)
  • CopyResponse did not return correct column format (#633) (dc0d482)
  • csv copy header was repeated for each row (#619) (622c49a)
  • empty copy from stdin statements could be unresponsive (#617) (c576124)
  • empty partitions could skip binary copy header (#615) (e7dd650)
  • show statements failed in pgx (#629) (734f521)
  • support end-of-data record in COPY (#602) (8b705e8)

Dependencies

Documentation

0.15.0 (2023-01-18)

Features

Bug Fixes

Performance Improvements

0.14.1 (2023-01-06)

Bug Fixes

  • enable gracefully stopping Docker container (#554) (80e9c8b)

Performance Improvements

  • reduce conversion time for timestamptz, date and bytea (#572) (bb73990)

0.14.0 (2022-12-16)

Features

  • support Connection API options in connection string (#542) (6247412)
  • support force_autocommit (#541) (52fba80)

Documentation

  • added sample application model for Django (#539) (72b173a)

0.13.1 (2022-12-09)

Bug Fixes

  • allow start ddl batch / run batch in one query string (#529) (2ffb290)
  • always return timestamp in microsecond precision (#513) (e385dd3)

Documentation

0.13.0 (2022-12-07)

Features

  • accept UUID as a parameter value (#518) (46941ab)
  • support 'select version()' and similar (#495) (fbd16ec)
  • Support Describe message for DDL statements and other no-result statements (#501) (cb616d8)
  • support DML RETURNING clause (#498) (c1d7e4e)
  • support more than 50 query parameters (#527) (9fca9ba)
  • use session timezone to format timestamps (#470) (d84564d)

Bug Fixes

  • client side results were not returned (#493) (5e9e85e)
  • pg_catalog tables were not replaced for information_schema queries (#494) (e1f02fe)

Documentation

0.12.0 (2022-11-02)

Features

  • reimplement COPY parser to support more options and legacy syntax (#410) (b8a38dd)
  • replace sequences query with empty table (#366) (170dc7c)

Bug Fixes

  • DDL batch errors halfway were not propagated (#444) (fc6efa4), closes #443

0.11.0 (2022-10-28)

Features

  • add setting for copy_commit_priority (#426) (6d23184)

Bug Fixes

  • close buffers used by Converter after use (#434) (4b0b500)
  • memory leak caused by ConnectionHandler not removed from map (#437) (6ef7240)
  • use copy commit timeout for all RPCs (#427) (0381a0c)

Documentation

0.10.1 (2022-10-21)

Performance Improvements

Documentation

0.10.0 (2022-10-14)

Features

  • add experimental support for node-postgres (#362) (9e3e952)
  • added support for Django specific statement (#382) (1137ed1)

Performance Improvements

  • copy binary can write directly to a byte buffer (#385) (18ddbdd)
  • do not create a new parser for each column (#383) (5352f79)
  • write converted values directly to a byte buffer (#384) (bec1657)

Documentation

  • document how to set a statement timeout (#390) (2db00f9)

0.9.0 (2022-10-11)

Features

  • added support for the set and show time zone (#361) (66e3788)

Bug Fixes

  • bind to all loopback addresses (#375) (82bc566)
  • exceptions without messages could cause NullPointerExceptions (#381) (3a9a55e)

Documentation

0.8.0 (2022-09-25)

Features

Bug Fixes

Documentation

0.7.0 (2022-09-10)

Features

  • add COPY settings to session state (#338) (31a2faf)
  • add ddl_transaction_mode and replace_pg_catalog_tables settings (#334) (aed2b4d)
  • allow setting the server version number in startup msg (#336) (808217e)
  • auto-convert explicit DDL transactions to batches (#292) (612fc44)
  • execute INFORMATION_SCHEMA in single-use transaction (#276) (fa7fe13)
  • ignore named primary keys with correct name (#286) (6d90366)
  • manage session state (#305) (9e4d391)
  • PREPARE statement support (#332) (980e764)
  • replace pg_catalog tables with common table expressions (#331) (4b01399)
  • select current_schema (#273) (b80069d)
  • set default PG version reported by PGAdapter to 14.1 (#303) (4dcceb1)
  • support (ignore) show and set search_path (#288) (93d8c14)
  • support pg_settings table as CTE (#307) (a5e5634)

Bug Fixes

  • ( and ) are allowed at the end of keywords (#312) (f3ebfb5)
  • allow 'T' in timestamp values in COPY operations (#319) (a239328)
  • backslash is not a valid quote escape (#317) (dc32af4)
  • catch unknown types in RowDescription (#343) (6562014)
  • correctly detect end of unquoted identifier (#301) (e31fd02)
  • hint for large copy operations missed 'spanner.' namespace (#304) (a5e8afc)
  • remove Spanner error prefixes (#306) (819a653)
  • translate queries for all table types in JDBC metadata (#295) (4cb43e6)
  • use a longer timeout for Commit for COPY (#308) (0f4dea7)
  • use main thread for CopyDataReceiver (#345) (687c952)

Performance Improvements

Dependencies

  • bump google-cloud-spanner from 6.27.0 to 6.28.0 (#324) (029da7e)

Documentation

0.6.1 (2022-07-13)

Bug Fixes

  • prepared statement could return error 'This ResultSet is closed' (#279) (3383738), closes #278

0.6.0 (2022-07-11)

Features

Bug Fixes

  • copy could return wrong error message (#252) (6ad4aa2)
  • COPY null values caused NullPointerException (#254) (cd34476)
  • order parameters by index and not textual value (#239) (d472639)
  • parse table names with schema prefix (#232) (cbdf28d)
  • respect result format code from Bind msg (#238) (708fa42)
  • skip bytes in an invalid stream defensively (#241) (1c60253)

Documentation

  • add authentication faq entry (#244) (d5cc7e3)
  • add connection tips for pgx (#234) (1ac2a70)
  • add connection tips for pgx (#234) (684a068)
  • document JDBC connection tips and performance considerations (#233) (5a09690)
  • move COPY documentation to separate file (#246) (54251aa)
  • update readme to reflect latest version (#229) (ea998bf)

0.5.1 (2022-06-22)

Bug Fixes

  • correctly skip nested block comments (#219) (c9903da)
  • unix domain sockets failed for msg size > 8Kb on MacOS (#188) (bc778ec)

Dependencies

Documentation

  • add documentation for connection options (#212) (837fe31)
  • mark drivers as having experimental support (#189) (5ab7caa)
  • update README to reflect recent updates (#190) (d0c52bf)

0.5.0 (2022-06-13)

Features

  • add support for describe statement (#125) (52452d7)
  • add support for extended query protocol batching (#168) (30607f0)
  • automatically detect client that is connected (#169) (f11f459)
  • enable authentication (#174) (2e34c84)
  • handle implicit transactions and errors in batches (#127) (23702ee)
  • support unix domain sockets (#150) (cec7d43)

Bug Fixes

  • clear statement tag before auto rollback (#147) (994976f), closes #146
  • error handling for extended query protocol (#149) (6696531)
  • handle errors if domain socket file is invalid (#164) (4a6d865)
  • lower case single statement commands were not recognized (#148) (f069eaf)
  • print version number at startup (#142) (9f4d230)
  • send comments to the backend to support hints (#170) (f329578)
  • split statement did not correctly parse escaped quotes (#152) (cfbec96)
  • terminate connection for invalid messages (#154) (6ed6266)
  • use assembly instead of fat jar (#145) (dd8d3d1)

Dependencies

Documentation

  • add FAQ and DDL options documentation (#171) (e3016d1)

0.4.2 (2022-05-03)

Dependencies

0.4.1 (2022-05-02)

Bug Fixes

  • update documentation to reflect \c support (#132) (10798df)

0.4.0 (2022-04-29)

Features

Bug Fixes

  • allow QueryMessage with empty query string (#113) (2a3f2eb)
  • invalid metadata command (#124) (4d2d37d)
  • remember parameter types of parsed statement (#114) (8f0d477)
  • return EmptyQueryResponse for empty statements (#126) (77e7421)

Documentation

0.3.0 (2022-04-07)

Features

Performance Improvements

Documentation

  • update README with instructions for running (#97) (bab6106)

0.2.1 (2022-03-31)

Bug Fixes

Performance Improvements

0.2.0 (2022-03-30)

Features

Bug Fixes

  • docker build command in GitHub Actions config (#90) (ec210ca)
  • handle connection failures better by returning an error response (#67) (c0bad6f)

Performance Improvements

  • reduce flushing the output stream (#77) (4871bc5)

0.1.0 (2022-03-18)

Features

  • Add Copy command parsing in QueryMessage and basic psql e2e test (#43) (184c00e)
  • Add support for multiple CopyData messages (#40) (24eeedc)
  • add support incoming binary values (#27) (2ef7563)
  • COPY supports large files and streaming input from PostgreSQL (#52) (b773999)
  • enable native JDBC connections (#28) (ceba433)
  • support JDBC metadata queries (#58) (021e131)
  • trigger release (#63) (62af37d)

Bug Fixes

  • add newly added view to expected result (4ca4411)
  • add support for arrays in ResultSets (#36) (90bd661)
  • CI integration tests ignored environment variable values (#31) (c37d2e4)
  • command should determine result type (#29) (1a39338)
  • remove all GSQL headers (#60) (755592a)
  • return correct transaction status (69c4017)
  • Statements with no results would return an error (#57) (398afbe), closes #56
  • support null parameters (#35) (4fde6c3)
  • Update Copy parser to handle ',' separated option list (#49) (7c6530f)

Dependencies

  • bump Spanner client lib to 6.21 (#54) (020471b)
  • upgrade jdbc to 2.5.6-pg-SNAPSHOT (f3f0f87)
  • upgrade jdbc to 2.5.7-pg-SNAPSHOT (0f61776)