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
Dependencies
Documentation
- add Cloud Run sample for Java (#883) (ddbba41)
- add Cloud Run sample for Python (#884) (576a56a)
- add sample for Node.js with Cloud Run (#885) (7b03c4e)
- Go sample equal to the other samples (#886) (f7ef506)
- update IntelliJ example to allow all databases (#890) (62afdf9)
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
- add support for Ruby ActiveRecord (#749) (442e45c)
- detect relation not found errors (#834) (8d21df7)
Bug Fixes
0.19.1 (2023-05-17)
Performance Improvements
0.19.0 (2023-05-05)
Features
- automatically add LIMIT clause (#792) (c382392)
- emulate pg_class and related tables (#766) (e602750)
- support savepoints (#796) (570fb96)
Documentation
- add sample for Cloud Run (#770) (751030d)
- document psycopg3 and SQLAlchemy 2.x support (#801) (fe73c63)
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
Documentation
0.18.1 (2023-03-09)
Bug Fixes
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
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
- add dependabot for ecosystem tests and samples (#675) (3a6ee4e)
- bump node-postgres to 8.9.0 (#663) (ee436f0)
- setup dependabot for npgsql tests (#668) (e85d38c)
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
- allow decimal values to be used for int params (#564) (3aecf34)
- auto-detect npgsql (#559) (e1e8526)
- support more timestamp values for query parameters (#565) (5905213)
- support TRUNCATE (#533) (293aaaa)
- support VACUUM as a no-op (#532) (20dc062)
Bug Fixes
- potential session leak when using prepared statements in autocommit mode (#591) (185dcd5)
- support (#586) (c91fe66), closes #581
Performance Improvements
0.14.1 (2023-01-06)
Bug Fixes
Performance Improvements
0.14.0 (2022-12-16)
Features
- support Connection API options in connection string (#542) (6247412)
- support force_autocommit (#541) (52fba80)
Documentation
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
- [WIP] Hibernate sample (#373) (7125c91)
- document Liquibase Pilot Support (#485) (745089f)
- document Support for gorm (#469) (0b962af)
- remove limitation for RETURNING and generated columns for gorm (#526) (0420e99)
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
0.11.0 (2022-10-28)
Features
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
0.9.0 (2022-10-11)
Features
Bug Fixes
- bind to all loopback addresses (#375) (82bc566)
- exceptions without messages could cause NullPointerExceptions (#381) (3a9a55e)
Documentation
- add docs tag for dependency (#374) (a619595)
- add sample for gorm (#351) (840ab53)
- document support for JDBC and pgx (#352) (847a2e3)
0.8.0 (2022-09-25)
Features
- enable SSL connections (#358) (c856ce2)
- JSONB support (#328) (0ec6c7c)
- make guess types configurable (#347) (87415dd)
- support OAuth2 token authentication (#360) (0cedf15)
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
Documentation
- document all command line arguments (#296) (e4b32e2)
- document COPY TO STDOUT (#297) (3dbb19f)
- document psycopg2 usage (#344) (4144c2d)
- Liquibase samples and tests (#291) (d471056)
0.6.1 (2022-07-13)
Bug Fixes
0.6.0 (2022-07-11)
Features
- COPY my_table FROM STDIN BINARY (#261) (7155783)
- COPY my_table TO STDOUT (#269) (393b520)
- COPY my_table TO STDOUT BINARY (#271) (d8c4c77)
- support \l meta command (#215) (b9d0363)
- support COPY statement in a batch of sql statements (#217) (d39cec8)
- support IF [NOT] EXISTS for DDL statements (#224) (703a25d)
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
- bump junixsockets to 2.5.0 (#186) (58d09cb)
- enable dependabot (#187) (1bf14c8)
- remove custom Maven plugin versions (#214) (1392a7a)
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
- bump Spanner to 6.24 (#155) (836271e)
- bump Spanner to 6.25 (#161) (d66e0e6)
- bump Spanner to 6.25.5 (#172) (c986a25)
Documentation
0.4.2 (2022-05-03)
Dependencies
0.4.1 (2022-05-02)
Bug Fixes
0.4.0 (2022-04-29)
Features
- all statement batching (#108) (1d88311)
- support connecting to different databases (#121) (2bc0355)
- support fetching rows in multiple steps (#122) (d5b76ca)
- support more JDBC parameter types (#118) (21a7bd0)
- support pgx in extended mode (#82) (1fbb35d)
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
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
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)