History of Changes
Introduction and explanation of symbols
Changes are sorted by "type" and then chronologically with the most recent at the top. These symbols
denote the various action types:=add,
=fix,
=remove,
=update
Version 42.5.0 (2022-08-23)
Notable changes
Changed
Added
Fixed
Commits by author
Dave Cramer (5):
fix: revert change in PRPR 2597 where float was aliased to float4 from float8. float now aliases to float8 (#2598)
Version 42.4.2 (2022-08-17)
Notable changes
Changed
- fix: add alias to the generated getUDT() query for clarity (PR #2553)[https://github.com/pgjdbc/pgjdbc/pull/2553]
Added
- fix: make setObject accept UUID array PR #2587
Fixed
- fix: regression with GSS. Changes introduced to support building with Java 17 caused failures Issue #2588
- fix: set a timeout to get the return from requesting SSL upgrade. PR #2572
- feat: synchronize statement executions (e.g. avoid deadlock when Connection.isValid is executed from concurrent threads)
Commits by author
Dave Cramer (7):
Revert revert commits made in PR 2580 PR 2583
fix mismatched types for invokeExact. Have to tell invokeExact what type we are expecting PR 2589
update last copyright year PR 2593
fix erroneous method signature and null subjectCallAs PR 2595
Sasa Vilic (1):
fix: make setObject accept UUID array PR 2587
Andrei Lurie (1):
fix: add alias to the generated getUDT() query for clarity (PR #2553)[https://github.com/pgjdbc/pgjdbc/pull/2553]
Version 42.4.1 (2022-08-03)
Notable changes
Security
- fix: CVE-2022-31197 Fixes SQL generated in PgResultSet.refresh() to escape column identifiers so as to prevent SQL injection.
- Previously, the column names for both key and data columns in the table were copied as-is into the generated
SQL. This allowed a malicious table with column names that include statement terminator to be parsed and
executed as multiple separate commands.
- Also adds a new test class ResultSetRefreshTest to verify this change.
- Reported by Sho Kato
Changed
- chore: skip publishing pgjdbc-osgi-test to Central
- chore: bump Gradle to 7.5
- test: update JUnit to 5.8.2
Added
- chore: added Gradle Wrapper Validation for verifying gradle-wrapper.jar
- chore: added "permissions: contents: read" for GitHub Actions to avoid unintentional modifications by the CI
- chore: support building pgjdbc with Java 17
Commits by author
Dave Cramer (9):
bump gradle to version 3 to fix compile errors with jdk17 PR 2550
update the website content PR 2578
Sehrope Sarkuni (1):
Fix SQL generated in PgResultSet.refresh() to escape column identifiers so as to prevent SQL injection.
Vladimir Sitnikov (34):
bump system-stubs-jupiter to 2.0.1 to support Java 16+
update JUnit to 5.8.2
migrate DriverTest to JUnit5
bump Gradle to 7.5
Version 42.4.0 (2022-06-09)
Notable changes
Changed
- fix: added GROUPSTARTUPPARAMETERS boolean property to determine whether or not to group
startup parameters in a transaction (default=false like 42.2.x) fixes Issue #2425
pgbouncer cannot deal with transactions in statement pooling mode PR #2425
Fixed
- fix: queries with up to 65535 (inclusive) parameters are supported now (previous limit was 32767)
PR #2525, Issue #1311
- fix: workaround JarIndex parsing issue by using groupId/artifactId-version directory namings.
Regression since 42.2.13. PR #2531, issue #2527
- fix: use Locale.ROOT for toUpperCase() toLowerCase() calls
- doc: add Vladimir Sitnikov's PGP key
- fix: return correct base type for domain from getUDTs PR #2520 Issue #2522
- perf: utcTz static and renamed to UTC_TIMEZONE PR #2519
- doc: fix release version for #2377 (it should be 42.3.6, not 42.3.5)
Commits by author
Andrei Lurie (1):
fix: return correct base type for domain from getUDTs PR 2520 (#2522)
Dave Cramer (3):
fix: added GROUPSTARTUPPARAMETERS boolean property to determine whether or not to group startup parameters in a transaction or not fixes Issue 2423 pgbouncer cannot deal with transactions in statement pooling mode PR 2425
Jorge Solórzano (1):
chore: Make the readme version agnostic PR 2540
Sven Diedrichsen (1):
Made utcTz static and renamed to UTC_TIMEZONE PR 2519
Vladimir Sitnikov (24):
doc: fix release version for PR 2377 (it should be 42.3.6, not 42.3.5)
Version 42.3.6 (2022-05-24)
Notable changes
Changed
Added
Fixed
- fix: close refcursors when underlying cursor==null instead of relying on defaultRowFetchSize PR #2377
Commits by author
Dave Cramer (2):
Fix heading format for version numbers PR 2504
Vladimir Sitnikov (1):
fix: close refcursors when underlying cursor==null instead of relying on defaultRowFetchSize PR #2377
Version 42.3.5 (2022-05-04)
Notable changes
Known issues
- Regression since 42.3.2: "cursor does not exist" when using ResultSet.setFetchSize from CallableStatement, fixed in 42.3.6 (see PG #2377)
Changed
- test: polish TimestampUtilsTest
- chore: use GitHub Action concurrency feature to terminate CI jobs on fast PR pushes
Added
- Added KEYS file to allow for verifying artifacts PR 2499
Fixed
- perf: enable tcpNoDelay by default PR 2495.
This is a regression from 42.2.x versions where tcpNoDelay defaulted to true
- docs: fix readme.md after PR 2495 PR 2496
- feat: targetServerType=preferPrimary connection parameter PR 2483
- fix: revert removal of toOffsetDateTime(String timestamp) fixes Issue #2497 PR 2501
Commits by author
Dave Cramer (4):
move version to 42.3.5 PR 2493
Added KEYS file to allow for verifying artifacts PR 2499
fix: revert removal of toOffsetDateTime(String timestamp) fixes #Issue 2497 PR 2501
Dmitriy Mukhin (1):
feat: targetServerType=preferPrimary connection parameter PR 2483
Olivier Bourgain (2):
perf: enable tcpNoDelay by default PR 2495
docs: fix readme.md after PR 2495 (#2496)
Vladimir Sitnikov (1):
test: polish TimestampUtilsTest
chore: use GitHub Action concurrency feature to terminate CI jobs on fast PR pushes
Version 42.3.4 (2022-04-15)
Notable changes
Known issues
- Regression since 42.3.2: "cursor does not exist" when using ResultSet.setFetchSize from CallableStatement, fixed in 42.3.6 (see PG #2377)
Changed
- fix: change name of build cache PR 2471
- feat: add support for ResultSet#getObject(OffsetTime.class) and PreparedStatement#setObject(OffsetTime.class) PR 2467
- fix: Use non-synchronized getTimeZone in TimestampUtils PR 2451
- docs: Fix CHANGELOG.md misformatted markdown headings PR 2461
- docs: remove loggerLevel and loggerFile from docs and issues #2489
- feat: use direct wire format -> LocalDate conversion without resorting to java.util.Date, java.util.Calendar,
and default timezones PR 2464 fixes Issue #2221
Added
Fixed
- docs: Update testing documentation PR 2446
- fix: Throw an exception if the driver cannot parse the URL instead of returning NULL fixes Issue #2421 PR 2441
- fix: Use PGProperty instead of the property names directly PR 2444
- docs: update changelog, missing links at bottom and formatting PR 2460
- fix: Remove isDeprecated from PGProperty. It was originally intended to help produce automated docs. Fixes #Issue 2479 PR 2480
- fix: change PGInterval parseISO8601Format to support fractional second PR 2457
- fix: More test and fix for issues discovered by PR #2476 PR #2488
Commits by author
Dave Cramer (8):
- docs: Update testing documentation PR 2446
- fix: Throw an exception if the driver cannot parse the URL instead of returning NULL fixes Issue PR 2421 (#2441)
- fix: Use PGProperty instead of the property names directly PR 2444
- docs: update changelog, missing links at bottom and formatting PR 2460
- added post for 42.2.25 PR 2466
- change name of build cache PR 2471
- Remove isDeprecated from PGProperty. It was originally intended to help produce automated docs. Fixes #Issue 2479 PR 2480
Fabio Cechinel Veronez (1):
- docs: Fix CHANGELOG.md misformatted markdown headings PR 2461
Uwe Schindler (2):
- feat: add support for ResultSet#getObject(OffsetTime.class) and PreparedStatement#setObject(OffsetTime.class) PR 2467
Wei Su (1):
* GSS login to use TGT from keytab fixes Issue 2469 PR 2470
paulo-kluh (1):
- fix: change PGInterval parseISO8601Format to support fractional second PR 2457
吴伟杰 (1):
- Use non-synchronized getTimeZone in TimestampUtils PR 2451
Contributors to this release
We thank the following people for their contributions to this release.
Uwe Schindler
Wei Su
Fabio Cechinel Veronez
paulo-kluh
吴伟杰
Version 42.3.3 (2022-02-15)
Notable changes
Known issues
- Regression since 42.3.2: "cursor does not exist" when using ResultSet.setFetchSize from CallableStatement, fixed in 42.3.6 (see PG #2377)
Changed
- fix: Removed loggerFile and loggerLevel configuration. While the properties still exist.
They can no longer be used to configure the driver logging. Instead use java.util.logging
configuration mechanisms such as
logging.properties
.
Added
Fixed
Commits by author
Dave Cramer (5):
Contributors to this release
We thank the following people for their contributions to this release.
Sehrope Sarkuni
Version 42.3.2 (2022-02-01)
Notable changes
Known issues
- Regression since 42.3.2: "cursor does not exist" when using ResultSet.setFetchSize from CallableStatement, fixed in 42.3.6 (see PG #2377)
Security
- CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
However, the driver did not verify if the class implements the expected interface before instantiating the class. This
would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in commit
Changed
- perf: read inhotstandby GUC on connection PR #2334
- test: materialized view privileges PR #2209 fixes Issue #2060
- docs: add info about convenience maven project PR #2407
- docs: Document timezone reversal from POSIX to ISO PR #2413
- fix: we will ask the server if it supports GSS Encryption if gssEncryption
is prefer or require PR #2396 remove the need to have a ticket in the cache before asking the server if gss encryptions are supported
- docs: remove Java 6 and 7 references from contributing PR #2385
- style: remove Java 8 / JDBC 4.2 checks PR #2383 Remove all remaining checks whether the source is lower than Java 8
or JDBC 4.2.
- fix: throw SQLException for #getBoolean BIT(>1) PR #2386 Throw SQLException instead of ClassCastException when calling
CallableStatement#getBoolean(int) on BIT(>1).
- style: import java.time types in more classes PR #2382 Use imports for java.time types in all remaining classes.
- style: import java.time types in TimestampUtils PR #2380 Use imports for java.time types in TimestampUtils.
- refactor: Change internal constructors to pass only connection Properties
Changes internal constructors for PgConnection and related classes to only accept the connection properties object and
remove the user and password arguments. Any locations that required those fields can retrieve them from the properties map.
- test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+
- perf: read inhotstandby GUC on connection PR #2334
- doc: improv doc around binary decoding of numeric data #2331
- Add cert key type checking to chooseClientAlias PR #2417
Added
- feat: Add authenticationPluginClassName option to provide passwords at runtime
Adds authenticationPluginClassName connection property that allows end users to specify a class
that will provide the connection passwords at runtime. Users implementing that interface must
ensure that each invocation of the method provides a new char[] array as the contents
will be filled with zeroes by the driver after use.Call sites within the driver have been updated to use the char[] directly wherever possible.
This includes direct usage in the GSS authentication code paths that internally were already converting the String password into a char[] for internal usage.
This allows configuring a connection with a password that must be generated on the fly or periodically changes. PR #2369 original issue Issue #2102
- feat: add tcpNoDelay option PR #2341 fixes Issue #2324
- feat: pg_service.conf and .pgpass support (jdbc:postgresql://?service=my-service) PR #2260 fixes Issue #2278
Fixed
- Use local TimestampUtil in PgStatement and PgResultset for thread safety PR #2291
fixes Issue #921 synchronize modification of shared calendar
- fix: PgObject isNull() was reporting the opposite fixes Issue #2411 PR #2414
- fix: default file name is ".pgservice.conf" on Windows (not "pgservice.conf") PR #2398 fixes Issue #2278
- test: Fix RefCursorFetchTest on older platforms
- fix: do not close refcursor after reading if fetchsize has been set fixes Issue #2227 PR #2371
- fix: rework gss authentication to use the principal name to get the credentials fixes Issue #2235 PR #2352
- fix: return getIndexInfo metadata columns in UPPER CASE PR #2368
- fix: Connection leak in ConnectionFactoryImpl#tryConnect PR #2350 Issue #2351
- fix: Fix For IS_AUTOGENERATED Flag PR #2348
- fix: parsing service file tests for windows PR #2347
- fix: The spec says that calling close() on a closed connection is a noop. PR #2345 fixes Issue #2300
- fix: add microsecond precision to getTimestamp() called on sql TIME(6) Currently, "when fetching a value of type TIME(6) through
resultSet.getTimestamp() only ms precision is retained, the microsecond fractional digits are lost." This change will retain the microsecond
precision when .getTimestamp() is called on TIME(6). PR #2181 Closes Issue #1537
- test: materialized view privileges PR #2209 add and drop a materialized view
Add to TestUtil and also to DatabaseMetaData setup and teardown fixes Issue #2060
- fix: typo in connect.md PR #2338
OutOfMemoryException
=> OutOfMemoryError
- fix: use local TimestampUtil in PgStatement and PgResultset for thread
safety TimestampUtil is not thread safe. It raises exceptions when multiple threads use ResultSets of one connection. PR #2291
fixes Issue #921
If PgStatement and PgResultSet use their own TimestampUtil no synchronize is needed.
- fix: typo in CONTRIBUTING.md PR #2332 seccion => section
Commits by author
Andrei Paikin (1):
- minor: fix checkstyle violations for empty lines in enum PR 2426
Brett Okken (1):
- doc: improv doc around binary decoding of numeric data PR 2331
Dave Cramer (21):
- move comment to appropriate place and add explanation PR 2336
- bump version in readme and gradle.properties PR 2335
- add entries for latest changes PR 2339
- Ms goodman time gettimestamp micros PR 2181
- add TCP No Delay option fixes Issue PR 2324 (#2341)
- fix Issue PR 2300. The spec says that calling close() on a closed connection is a noop. (#2345)
- fix: parsing service file tests for windows PR 2347
- fix: return getIndexInfo metadata columns in UPPER CASE PR 2368
- fix: rework gss authentication to use the principal name to get the credentials fixes Issue PR 2235 (#2352)
- Removed unsafe package and native kerberos ticket check PR 2363
- log4jmessage PR 2370
- Put back GSSCallbackHandler. Avoid using forbidden api PR 2373
- fix: do not close refcursor after reading if fetchsize has been set fixes ISSUE PR 2227 (#2371)
- perf: add read(b,o,l) to BlobInputStream PR 2376
- change the default directory returned on windows to APPDATA/postgresql since that is what we end up using anyway PR 2402
- fix: we will ask the server if it supports GSS Encryption if gssEncryption is prefer or require PR 2396
- docs: Document timezone reversal from POSIX to ISO PR 2413
- fix: PgObject isNull() was reporting the opposite fixes Issue PR 2411 (#2414)
- remove skipjre6 and skipjre7 PR 2415
- Revert "perf: add read(b,o,l) to BlobInputStream PR 2376" (#2422)
- Changelog42.3.2 PR 2418
JoelRabinovitch (1):
- fixForIsAutoGenerated Fix For IS_AUTOGENERATED Flag PR 2348
Marek Läll (2):
- Issue 2278 ; jdbc:postgresql://?service= ; pg_service.conf ; .pgpass PR 2282
- fix: default file name is ".pgservice.conf" on Windows (not "pgservice.conf") PR 2398
Mark Grobaker (1):
- test: materialized view privileges PR 2209
Michał Wyrzykowski (1):
- fix: Connection leak in ConnectionFactoryImpl#tryConnect PR 2350 (#2351)
Nick Burgan (1):
- Add cert key type checking to chooseClientAlias PR 2417
Philippe Marschall (6):
- style: fix typos in pgobject javadoc PR 2379
- style: import java.time types in TimestampUtils PR 2380
- style: import java.time types in more classes PR 2382
- fix: throw SQLException for #getBoolean BIT(>1) PR 2386
- style: remove Java 8 / JDBC 4.2 checks PR 2383
- docs: remove Java 6 and 7 references from contributing PR 2385
Sehrope Sarkuni (9):
- feat: Change AuthenticationPlugin interface to use char[] rather than String PR 2420
- test: Disable no-arg callable statement tests in simple query mode PR 2419
- test: Remove extra catch-fail in RefCursorFetchTest PR 2391
- test: Fix RefCursorFetchTest on older platforms PR 2391
- feat: Add authenticationPluginClassName option to provide passwords at runtime PR 2369
- test: Add TestUtil.assumeHaveMinimumServerVersion(...) helper PR 2369
- refactor: Change internal constructors to pass only connection Properties PR 2369
- refactor: Use multi-catch for exceptions in ConnectionFactoryImpl PR 2369
- test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+ PR 2340
Sergey Nuyanzin (4):
Sergey Prytkov (1):
- perf: read inhotstandby GUC on connection PR 2334
Zuzana Miklankova (1):
- docs: add info about convenience maven project PR 2407
marcmuel (1):
- fix: use local TimestampUtil in PgStatement and PgResultset for thread safety PR 2291
Contributors to this release
We thank the following people for their contributions to this release.
Pavel Raiskup
Sehrope Sarkuni
Andrei Paikin
Nick Burgan
Zuzana Miklankova
Marek Läll
Philippe Marschall
Sergey Nuyanzin
Michał Wyrzykowski
JoelRabinovitch
Mark Grobaker
Sergey Prytkov
marcmuel
Brett Okken
Version 42.2.25 (2022-02-01)
Security
- CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
However, the driver did not verify if the class implements the expected interface before instantiating the class. This
would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in commit
Commits by author
Version 42.3.1 (2021-10-29)
Notable changes
Changed
- improv: Arrays in Object[] PR 2330 when an Object[] contains other arrays, treat as though it were a
multi-dimensional array the one exception is byte[], which is not supported.
- improv: Use jre utf-8 decoding PR 2317 Remove use of custom utf-8 decoding.
- perf: improve performance of bytea string decoding PR 2320
improve the parsing of bytea hex encoded string by making a lookup table for each of the valid ascii code points to the 4 bit numeric value
- feat: intern/canonicalize common strings PR 2234
### Added
Fixed
- numeric binary decode for even 10 thousands PR #2327 fixes Issue 2326
binary numeric values which represented integers multiples of 10,000 from 10,000-9,990,000 were not decoded correctly
- [typo] typo in certdir/README.md PR #2309 certificatess => certificates
- [typo] typo in TimestampUtils.java PR #2314 Change
Greagorian
to Gregorian
.
- remove check for negative pid in cancel request. Apparently pgbouncer can send one fixes Issue 2317 PR #2319
Commits by author
Brett Okken (6):
Dave Cramer (5):
Sergey Nuyanzin (1):
吴伟杰 (1):
Contributors to this release
We thank the following people for their contributions to this release.
Brett Okken
Dave Cramer
Sergey Nuyanzin
吴伟杰
Version 42.3.0 (2021-10-18)
Notable changes
Changed
- No longer build for Java 6 or Java 7
- If assumeMinServerVersion is not defined and server is at least 9.0, group startup statements into a single transaction PR #1977
Added
Fixed
- Rework OSGi bundle activator so it does not rely on exception message to check DataSourceFactory presence PR #507
- Fix database metadata getFunctions() and getProcedures() to ignore search_path when no schema pattern is specified PR #2174
- Fix refreshRow made the row readOnly. [PR #2195](https://github.com/pgjdbc/pgjdbc/pull/2195 Fixes Issue #2193
- Fix do not add double quotes to identifiers already double quoted PR #2224 Fixes Issue #2223
Add a property
QUOTE_RETURNING_IDENTIFIERS
which determines if we put double quotes
around identifiers that are provided in the returning array.
- Fix Provide useful error message for empty or missing passwords for SCRAM auth PR #2290 fixes Issue #2288
Contributors to this release
We thank the following people for their contributions to this release.
Abhishek-kumar09
adrklos
Agata Naomichi
Andrew Dunstan
Brett Okken
costa100
Dave Cramer
David Rader
Eric Peterson
Feng zhihao
Frode Carlsen
Hugo Abreu
iceback
Jeremy Mailen
Jesper Pedersen
Jorge Solorzano
Jorge Solórzano
Juha Syrjälä
JY Cr
Laurenz Albe
Michael Ernst
MMeent
odubaj
Pavel Bludov
Peter Eisentraut
plan3d
Power
rtrier
Sehrope Sarkuni
Simon Strassl
Tom Aizenberg
Vladimir Sitnikov
Vyom Yadav
xpoinsard
Version 42.2.24 (2021-09-22)
Fixed
- Fix startup regressions caused by PR #1949. Instead of checking all types by OID, we can return types for well known types PR #2257
- Backport PR #2148
Avoid leaking server error details through BatchUpdateException when logServerErrorDetail PR #2254
- Backpatch PR #2247
QueryExecutorImpl.receiveFastpathResult did not properly handle ParameterStatus messages.
This in turn caused failures for some LargeObjectManager operations. Closes Issue #2237
Fixed by adding the missing code path, based on the existing handling in processResults. PR #2253
- Backpatch PR #2242 PgDatabaseMetaData.getIndexInfo() cast operands to smallint PR#2253
It is possible to break method PgDatabaseMetaData.getIndexInfo() by adding certain custom operators. This PR fixes it.
- Backpatching PR #2251 into 42.2 Clean up open connections to fix test failures on omni and appveyor
use older syntax for COMMENT ON FUNCTION with explicit no-arg parameter parentheses as it is required on server versions before v10.
Handle cleanup of connection creation in StatementTest, handle cleanup of privileged connection in DatabaseMetaDataTest
- Backpatch PR #2245 fixes case where duplicate tables are returned if there are duplicate descriptions oids are not guaranteed to be unique in the catalog PR #2248
- Change to updatable result set to use correctly primary or unique keys PR #2228
fixes issues introduced in PR #2199 closes Issue #2196
- Fix NPE calling getTypeInfo when alias is null PR #2220
- Backpatch PR #2217 to fix Issue #2215. OIDs are unsigned integers and were not being handled correctly when they exceeded the size of signed integers
Commits by author
Dave Cramer (7):
- fix: backpatch PRPR 2217 to fix issue #2215. (#2218) be1d4aa0
- fix: NPE calling getTypeInfo when alias is null PR 2220 77c7d94e
- remove old changelog information from post. Incorrectly added by development script that is clearly still in development PR 2240 a70834e8
- backpatch prPR 2245 fixes case where duplicate tables are returned if there are duplicate descriptions oids are not guaranteed to be unique in the catalog (#2248) f4928cee
- backpatch PRPR 2247 (#2249) 7bf89c8b
- fix startup regressions caused by PR PR 1949. Instead of checking all types by OID, we can return types for well known types (#2257) 88cfccab
- Bump version to 42.2.24 and update changelog 233c5181
Jens Peters (1):
Juha Syrjälä (1):
- PgDatabaseMetaData.getIndexInfo() cast operands to smallint PR 2242 (#2253) 33af6a78
Sehrope Sarkuni (3):
- test: Fix database metadata to handle older versions for function comment bb1f7285
- test: Handle cleanup of connection creation in StatementTest 1c5f5271
- test: Handle cleanup of privileged connection in DatabaseMetaDataTest 5c6041b4
chalmagr (1):
- Fix updateable result set when there are primary keys and unique keys PR 2228 c596587a
Contributors to this release
We thank the following people for their contributions to this release.
chalmagr
Dave Cramer
Jens Peters
Juha Syrjälä
Sehrope Sarkuni
Version 42.2.23 (2021-07-06)
Changed
- renewed the SSL keys for testing
Fixed
- getColumnPrecision for Numeric when scale and precision not specified now returns 0 instead of 131089 fixes: Issue #2188
- Calling refreshRow on an updateable resultset made the row readOnly. Fixes Issue #2193
- results should be updateable if there is a unique index available PR#2199 Fixes Issue #2196
- Rework sql type gathering to use OID instead of typname.
This does not have the issue of name shadowing / qual-names, and has the added benefit of fixing #1948.
Commits by author
Dave Cramer (2):
- fix: back patch results should be updateable PR#2199
- test: Regenerate TLS certs with new expirations (#2201)
- backpatch PR 1949 (#2206)
Rework sql type gathering to use OID instead of typname.
Version 42.2.22 (2021-06-16)
Fixed
- Regression caused by https://github.com/pgjdbc/pgjdbc/commit/4fa2d5bc1ed8c0086a3a197fc1c28f7173d53cac. Unfortunately
due to the blocking nature of the driver and issues with seeing if there is a byte available on a blocking stream when it is encrypted
this introduces unacceptable delays in returning from peek(). At this time there is no simple solution to this.
Commits by author
Dave Cramer (1):
Version 42.2.21 (2021-06-10)
Notable changes
Changed
- update docs to reflect deprecated DataSource API setServerName backpatch PR#2057 PR #2105
Added
Fixed
- make sure the table has defined primary keys when using updateable resultset backpatch PR#2101 fixes Issue 1975 PR #2106
- backpatch PR #2143 read notifies or errors that come in asynchronously after the ready for query PR #2168
- backpatch PR #507 which reworks OSGI bundle activator fixes ISSUE #2133
- Fix database metadata getFunctions() and getProcedures() to ignore search_path when no schema pattern is specified. backpatch PR #2174
fixes Issue 2173
Commits by author
Dave Cramer (5):
- fix: make sure the table have defined primary keys when using updateable resultset PR 2101 (#2106)
update docs to reflect deprecated DataSource API setServerName PR 2057 (#2105)
- fix: backpatch PRPR 507 which reworks OSGI bundle activator fixes ISSUE #2133 (#2166)
- fix: backpatch2142 read notifies or errors that come in asynchronously after the ready for query PR 2168
- fix: backpatch PRPR 2174 to Fix metadata functions getProcedures() and getFunctions() to ignore search_path (#2175)
Version 42.2.20 (2021-04-19)
Notable changes
Changed
Added
Fixed
fix: Partitioned indexes were not found fixes #2078 PR #2087
isValid() timeout should not be blocked #1943 Cherry-picked #2076
The usage of setQueryTimeout();
with the same value as the setNetworkTimeout();
is blocking the current transaction timeout.
The timeouts are blocking each other with this approach.
DatabaseMetaData.getTables returns columns in UPPER case as per the spec PR #2092 fixes Issue #830
Commits by author
Dave Cramer (10):
move comments to correct location [PR 2070](https://github.com/pgjdbc/pgjdbc/pull/2070
Update Changelog to reflect changes in 42.2.19 [PR 2063](https://github.com/pgjdbc/pgjdbc/pull/2063
fix: Partitioned indexes were not found fixes [PR 2078](https://github.com/pgjdbc/pgjdbc/pull/2078 (#2087)
cherry-pick PR [PR 2092](https://github.com/pgjdbc/pgjdbc/pull/2092 PgDatabaseMetaData.getTables() should return UPPERCASE column names as per spec (#2104)
Hugo Abreu (1):
isValid() timeout should not be blocked [PR 1943](https://github.com/pgjdbc/pgjdbc/pull/1943 (#2076)
Version 42.2.19 (2021-02-18)
Notable changes
Changed
- Now the driver uses SASLprep normalization for SCRAM authentication fixing some issues with spaces in passwords.
- Fix: Actually close unclosed results. Previously was not closing the first unclosed result fixes #1903 (#1905)
There is a small behaviour change here as a result. If closeOnCompletion is called on an existing statement and the statement
is executed a second time it will fail.
Added
- Verify code via forbidden-apis (jdk-internal and jdk-non-portable signatures) PR #2012
Fixed
- Fix: properly set cancel socket timeout (#2044)
- Fix "Required class information missing" when old org.jboss:jandex parses pgjdbc classes [issue 2008][https://github.com/pgjdbc/pgjdbc/issues/2008]
- Fix PGCopyInputStream returning the last row twice when reading with CopyOut API [issue 2016][https://github.com/pgjdbc/pgjdbc/issues/2016]
- Fix Connnection.isValid() to not wait longer than existing network timeout PR #2040
- Fix Passwords with spaces (ASCII and non-ASCII) now work with SCRAM authentication (driver now uses SASLprep normalization) PR #2052
- Fix DatabaseMetaData.getTablePrivileges() to include views, materialized views, and foreign tables PR #2049
Commits by author
Dave Cramer (5):
Jeremy Mailen (3):
- fix: return metadata privileges for views and foreign tables 66690817
- refactor: consolidate repeated drop code in TestUtil f5abc65c
- test: Add test for ACLs returned from metadata getTablePrivileges() for views a6cf67d2
Jorge Solórzano (1):
Pavel Bludov (2):
- chore: javadoc changes in PgResultSet.java to pass upcoming checkstyle version 70471c25
- chore: javadoc changes in Driver.java to pass upcoming checkstyle version c57ac5eb
Power (1):
- fix: isValid() should not wait longer than network timeout 0dbc6078
Roman Kozlov (1):
Sehrope Sarkuni (5):
- test: Add tests for broken PGCopyInputStream.readFromCopy() c6794f09
- fix: Fix last row duplicated in PGCopyInputStream.readFromCopy() 6c296a52
- test: Add TestUtils.closeQuietly(...) c152f7f0
- test: Add StrangeProxyServer 8f773a15
- docs: Add getTablePrivileges() fix to changelog 444cb1b1
Vladimir Sitnikov (14):
- chore: make javadoc optional for building from a reduced-pom.xml 736eb70d
- chore: make buildSrc.jar reproducible ff0774da
- chore: use cleanup-gradle-cache for Travis cache cleanup 0e0ae208
- fix: allow specifying binaryTransferEnable even for those types that are not enabled by default ed5891e3
- fix: binary transfer for numeric PR 1935 a4173079
- chore: update Gradle 6.3 -> 6.7.1 PR 2011 dbb12e41
- chore: verify code via forbidden-apis (jdk-internal and jdk-non-portable signatures) 991a9c0b
- chore: add org.postgresql.util.internal.Unsafe for forbidden-apis suppressions 6e3be122
- fix: "Required class information missing" when old org.jboss:jandex parses pgjdbc classes (PR PR 2010 2df6c97b
- test: set gssEncMode only in case it is not already present in Properties 97f6abd1
- test: temporarily allow CONNECTIONUNABLETO_CONNECT in SslTest for bad client certificates 5f584cd4
- perf: avoid duplicate PGStream#changeSocket calls b7e70d85
- chore: cancel stale workflows in GitHub Actions CI d255bd21
- doc: update README link from travis-ci.org to travis-ci.com 1bd679e8
odubaj (1):
- Remove dependency on java-comment-preprocesor df2297ef
rtrier (1):
Contributors to this release
We thank the following people for their contributions to this release.
Dave Cramer
Jeremy Mailen
Jorge Solórzano
odubaj
Pavel Bludov
Power
Roman Kozlov
rtrier
Sehrope Sarkuni
Vladimir Sitnikov
Version 42.2.18 (2020-10-15)
Notable changes
Fixed
- Unfortunately changing the default of gssEncMode to ALLOW was not enough. The GSSEncMode Enum was not changed as well
fixed in #1920
Commits by author
Contributors to this release
We thank the following people for their contributions to this release.
Version 42.2.17 (2020-10-09)
Notable changes
Changed
- Change default of gssEncMode to ALLOW. PostgreSQL can deal with PREFER but there are cloud providers that did not implement the protocol properly. Libpq gets around this by checking for a GSS credential cache before attempting the connection. This is possible in JDK 8 and up, but not JDK6, or JDK7 fixes Issue #1868 PR #1913
Added
- Add smallserial metadata [PR #899(https://github.com/pgjdbc/pgjdbc/pull/899)
Fixed
- Avoid NullPointerException when receiving PGbox, PGcircle, PGline, PGlseg, PGpath, PGpoint, PGpolygon, and PGmoney PR 1873..
- The driver returns enum and jsonb arrays elements as String objects (like in 42.2.14 and earlier versions) PR 1879.
- PgTokenizer was ignoring last empty token PR #1882
- Remove osgi from karaf fixes Issue #1891 PR #1902
Commits by author
Dave Cramer (5):
- fix: PgTokenizer was ignoring last empty token PR 1882 a6e83342
- fix checkstyle PR 1888 70b02c55
- fix: handle smallserial correctly fixes PR 1897 (#1899) d4a4b2d6
- fix:remove osgi from karaf fixes Issue PR 1891 (#1902) 0c2858e9
- Change default of gssEncMode to ALLOW. PostgreSQL can deal with PREFER but there are cloud providers that did not implement the protocol properly 14c4173c
Jorge Solorzano (1):
Vladimir Sitnikov (8):
- fix: handle nulls when the following clasess are used: PGbox, PGcircle, PGline, PGlseg, PGpath, PGpoint, PGpolygon, and PGmoney c745f4e5
- chore: fix compileJava7 and compileJava6 0308ffca
- chore: run GitHub actions when branch name has slash 433817d6
- chore: seed build cache only when credentials exist (==skip on forks) eec708a8
- test: add GitHub CI for testing source distribution 44d0923f
- test: add tests for enum, json, and jsonb array 1bec4022
- fix: make enum, json, and jsonb array result classes to be the same as 42.2.14 and earlier PR 1876 41855018
- fix: avoid removal type annotations on "this" so the source archive is buildable 832bf21c
Contributors to this release
We thank the following people for their contributions to this release.
Dave Cramer
Jorge Solorzano
Vladimir Sitnikov
Version 42.2.16 (2020-08-20)
Notable changes
Known issues
- The driver returns enum and jsonb arrays elements are returned as PGobject instances (fixed in 42.2.17)
Fixed
- Arrays sent in binary format are now sent as 1 based. This was a regression for multi-dimensional arrays as well as text/varchar, oid and bytea arrays.
Since 42.2.0 single dimensional arrays were stored 0 based. They are now sent 1 based which is the SQL standard, and the default
for Postgres when sent as strings such as '{1,2,3}'.
Fixes issue 1860 in PR 1863.
Commits by author
Brett Okken (3):
Dave Cramer (3):
Sehrope Sarkuni (1):
Vladimir Sitnikov (3):
docs: add release notes for 42.2.15 PR 1858 0c162bc0
draderaws (1):
Fix header on existing Parameter Status doc page, and include entry in the index html page. PR 1845 99623077
Contributors to this release
We thank the following people for their contributions to this release.
Brett Okken
Dave Cramer
draderaws
Sehrope Sarkuni
Vladimir Sitnikov
Version 42.2.15 (2020-08-14)
Notable changes
Known issues
- The driver returns enum and jsonb arrays elements are returned as PGobject instances (fixed in 42.2.17)
Changed
- Rename source distribution archive to
postgresql-$version-jdbc-src.tar.gz
, and add top-level archive folder ba017507
- Add the ability to connect with a GSSAPI encrypted connection. As of PostgreSQL version 12 GSSAPI encrypted connections
are possible. Now the driver will attempt to connect to the server with a GSSAPI encrypted connection. If that fails then
attempt an SSL connection, finally falling back to a plain text connection. All of this is controlled using both the gssEncMode
and sslMode parameters which, in concert with pg_hba.conf, determine if a particular mode is allowed and or required. PR 1821 ad921b9e
- Source release archive shades dependencies (scram) by default. It affects only postgresql-version-src.tar.gz release artifact f0301eb9
- Refactor decoding arrays PR 1194 0fd09396
Added
- Verify nullness with CheckerFramework 6e524ae5
Fixed
- Avoid preparedStatement leak when using updateable ResultSet via insert/update/refreshRow PR 1815 9a0d2b18
- Change order of checks for oid vs primary keys. OID's have been deprecated. PR 1613
- Close certificate file stream. PR 1837 a40052c9
- Make sure socketTimeout is enforced PR 1831 210b27a6
- Assume PKCS-8 SSL key format by default PR 1819 80d4ed34
- Preserve unquoted unicode whitespace in array literals PR 1266
Commits by author
Brett Okken (1):
Dave Cramer (12):
Eduardo Souza (1):
Mike Noordermeer (1):
Vladimir Sitnikov (18):
- chore: configure method parameter wrapping in IntelliJ via editorconfig aa70d2f4
- fix: avoid NPE when initializing SingleCertValidatingFactory with classpath resource and contextclassloader is null 0b7575a9
- fix: avoid preparedStatement leak when using updateable ResultSet via insert/update/refreshRow PR 1815 9a0d2b18
- chore: rename source distribution archive to
postgresql-$version-jdbc-src.tar.gz
, add top-level archive folder ba017507
- chore: fix style in pgjbc/build.gradle.kts 44b12472
- chore: move testgss to main.yml to avoid duplicate CI groups in GitHub Actions PR 1824 6d4dc763
- tests: add gssEncMode to SslTest PR 1823 08bfc033
- chore: add checkerframework for nullness verification 6e524ae5
- doc: add null safety documentation to CONTRIBUTING.md 2ba3028e
- refactor: add nullness annotations 529e5dc3
- test: reduce stdout verbosity of CopyLargeFileTest aa190cce
- chore: add S3 Gradle build cache 67155873
- chore: collect Gradle Build Scan from CI jobs 8b3bf922
- fix: nullability annotations for LruCache/Gettable/GettableHashMap 34cd4f93
- chore: enable local build cache, and use burrunan/gradle-cache-action@v1 for GitHub Actions caching 3802b453
- chore: shade dependencies when building from the source archive f0301eb9
- fix: use Assertions#assertThrows instead of Assert#assertThrows to keep the code junit 4.12 compatible 075bd102
- docs: update the current version in readme.md e901ff74
azraino (1):
pip25 (2):
Contributors to this release
We thank the following people for their contributions to this release.
azraino
Brett Okken
Dave Cramer
Eduardo Souza
Mike Noordermeer
pip25
Vladimir Sitnikov
Version 42.2.14 (2020-06-10)
Notable changes
Changed
- Reverted com.github.waffle:waffle-jna, org.osgi:org.osgi.core, org.osgi:org.osgi.enterprise dependencies to optional=true in Maven PR 1797.
Commits by author
Dave Cramer (1):
* fix release notes for 42.2.13 ecbc48ff
Sehrope Sarkuni (1):
* Fix some changelog formatting and add link to XXE fix PR 1794 98a9bdca
Vladimir Sitnikov (2):
Contributors to this release
We thank the following people for their contributions to this release.
Dave Cramer
Sehrope Sarkuni
Vladimir Sitnikov
Version 42.2.13 (2020-06-04)
Notable changes
The primary reason to release this version and to continue the 42.2.x branch is for CVE-2020-13692.
Reported by David Dworken this is an XXE and more information can be found here
Sehrope Sarkuni reworked the XML parsing to provide a solution in commit 14b62aca4
The build system has been changed to Gradle thanks to Vladimir PR 1627
Regression: com.github.waffle:waffle-jna, org.osgi:org.osgi.core, org.osgi:org.osgi.enterprise dependencies are listed as non-optional issue 1975.
Added
- jre-6 was added back to allow us to release fixes for all artifacts in the 42.2.x branch PR 1787
Fixed
- I/O error ru translation PR 1756
- Issue 1771 PgDatabaseMetaData.getFunctions() returns
procedures fixed in PR 1774
- getTypeMap() returning null PR 1781
- Updated openssl example command PR 1763
- fix documentation with ordered list to be displayed correctly PR 1783
Commits by author
Andrei Arkaev (1):
Benjamin van der Veen (1):
Dave Cramer (6):
ItaiFonio (1):
Jean-Christophe Arnu (1):
Kim Johan Andersson (1):
Sehrope Sarkuni (2):
- fix: Update checkstyle command in PR template to reference gradle PR 1780 4ddbcb7d
- Merge pull request from GHSA-37xm-4h3m-5w3v 14b62aca
Vladimir Sitnikov (14):
- chore: migrate build scripts to Gradle 9f396707
- Add source distribution d2e4f585
- Re-add benchmarks module 409bd25a
- Fix comparisons in travis_build.sh b80ebcef
- Configure core.autocrlf in AppVeyor cb370106
- Inline COPYERRORMESSAGE so it can be localized properly 9a0dbf1b
- chore: update po files with the current messages bb36e362
- chore: make benchmarks executable from IDEA 99ba94ec
- chore: move code style verification to GitHub Actions job 9da29740
- chore: show the current PostgreSQL HEAD commit id in Travis log 332b0719
- chore: re-add pgjdbc-jre6 build PR 1787 d224acd0
- chore: use REL$buildVersion for the release version as it was previously 148840d3
- chore: fix artifactid and version for -jre6 and -jre7 artifacts 97e2e8f5
- chore: include META-INF/services/java.sql.Driver for jre7 and jre6 jars 5ca2b9e7
kili668 (1):
Contributors to this release
We thank the following people for their contributions to this release.
Andrei Arkaev
Benjamin van der Veen
Dave Cramer
ItaiFonio
Jean-Christophe Arnu
kili668
Kim Johan Andersson
Sehrope Sarkuni
Vladimir Sitnikov
Version 42.2.12 (2020-03-31)
Notable changes
Changed
- reverted PR 1729 throw an error instead of silently rolling back a commit error.
This change introduced a breaking change which will be moved to 42.3.0
- reverted PR 1719 add support for full names of data types (#1719)
Commits by author
Christian Ramseyer (1):
Dave Cramer (1):
- Revert "fix: convert silent rollbacks into exception if application sends commit command PR 1729" (#1746) 14576f4b
Vladimir Sitnikov (1):
Contributors to this release
We thank the following people for their contributions to this release.
Christian Ramseyer
Dave Cramer
Vladimir Sitnikov
Version 42.2.11 (2020-03-09)
Notable changes
We have released 42.2.12 to correct regressions in this version: Specifically
- PR 1729 was reverted as this is a breaking change
- PR 1719 has been reverted as it introduced errors in the PgType Cache
We recommend that this version 42.2.11 not be used.
Changed
- Reverted PR 1641. The driver will now wait for EOF when sending cancel signals.
DatabaseMetaData#getProcedures
returns only procedures (not functions) for PostgreSQL 11+ PR 1723
- Convert silent rollbacks into exception if application sends
commit
or xa.prepare
command PR 1729
Added
- Convert silent rollbacks into exception if application sends
commit
or xa.prepare
command PR 1729
- feat: Expose
ByteStreamWriter
in CopyManager PR 1702
- feat: add way to distinguish base and partitioned tables in PgDatabaseMetaData.getTables PR 1708
- refactor: introduce tuple abstraction (rebased) PR 1701
- refactor: make PSQLState enum consts for integrity constraint violations PR 1699
- test: add makefile to create ssl certs PR 1706
Fixed
- fix: Always use
.
as decimal separator in PGInterval PR 1705
- fix: allow DatabaseMetaData.getColumns to describe an unset scale PR 1716
Commits by author
Dave Cramer (4):
Lőrinc Pap (2):
Magnus Reftel (1):
Markus Winand (1):
Mike Goodman (4):
- refactor: make PSQLState enum consts for integrity constraint violations PR 1699 cc31c13f
- feat: add way to distinguish base and partitioned tables in PgDatabaseMetaData.getTables PR 1708 25eb32c8
- fix: add support for full names of data types PR 1719 f554118a
- fix: getProcedures returns only procedures (not functions) for psql11+ PR 1723 5fbe0462
Nick Mancuso (1):
Sehrope Sarkuni (2):
- fix: Correct sort order of PGProperty.ASSUMEMINSERVER_VERSION 3ea08125
- test: Add test to check sort order of PGProperty values aa1b93f1
Toddy69 (1):
Vladimir Sitnikov (11):
- test: skip PKCS12KeyTest when enablessltests is not set 6730f3fe
- test: add makefile for creating test certificates 202f88e1
- Revert "fix: remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) PR 1641" ca1f60ff
- Revert "fix unstable test. Originally this would loop creating many statements, now it should timeout properly PR 1650" 5eabe1ae
- style: compute nanoseconds with TimeUnit.SECONDS.toNanos b004c706
- revert: use simple executor.shutdown() in testFastCloses fc5467c6
- Move CopyBothResponseTest to replication folder 2509b663
- doc: fix HTML5 errors in javadoc 161ea249
- fix: convert silent rollbacks into exception if application sends commit command PR 1729 adcb194e
- chore: add continuationindentsize = 4 to .editorconfig for *.java 45d5831e
- chore: remove endofline = lf from .editorconfig for .java 7ce254d2
adrklos (1):
crwr45 (1):
- fix: allow DatabaseMetaData.getColumns to describe an unset scale PR 1716 30843e45
Contributors to this release
We thank the following people for their contributions to this release.
adrklos
crwr45
Dave Cramer
Lőrinc Pap
Magnus Reftel
Markus Winand
Mike Goodman
Nick Mancuso
Sehrope Sarkuni
Toddy69
Vladimir Sitnikov
Version 42.2.10 (2020-01-30)
Notable changes
Changed
- (!) Regression: remove receiving EOF from backend after cancel PR 1641. The regression is that the subsequent query might receive the cancel signal.
Added
- Add maxResultBuffer property PR 1657
- add caller push of binary data (rebase of #953) PR 1659
Fixed
- Cleanup PGProperty, sort values, and add some missing to docs PR 1686
- Fixing LocalTime rounding (losing precision) PR 1570
- Network Performance of PgDatabaseMetaData.getTypeInfo() method PR 1668
- Issue #1680 updating a boolean field requires special handling to set it to t or f instead of true or false PR 1682
- bug in pgstream for replication PR 1681
- Issue #1677 NumberFormatException when fetching PGInterval with small value PR 1678
- Metadata queries improvements with large schemas. PR 1673
- Utf 8 encoding optimizations PR 1444
- interval overflow PR 1658
- Issue #1482 where the port was being added to the GSSAPI service name PR 1651
- remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) PR 1641
- Unable to register out parameter Issue #1646 PR 1648
Changed
Added
- read only transactions PR 1252
- pkcs12 key functionality PR 1599
- new "escapeSyntaxCallMode" connection property PR 1560
- connection property to limit server error detail in exception exceptions PR 1579
- cancelQuery() to PGConnection public interface PR 1157
- support for large update counts (JDBC 4.2) PR 935
- Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY PR 1636
Fixed
- issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation PR 1506
- PgSQLXML setCharacterStream() results in null value PR 1608
- get correct column length for simple domains PR 1605
- NPE as a result of calling executeQuery twice on a statement fixes issue #684 PR 1610
- handle numeric domain types PR 1611
- pginterval to take iso8601 strings PR 1612
- remove currentTimeMillis from code, tests are OK PR 1617
- NPE when calling setNull on a PreparedStatement with no parameters PR 1620
- allow OUT parameter registration when using CallableStatement native CALL PR 1561
- add release save point into execute with batch PR 1583
- Prevent use of extended query protocol for BEGIN before COPY PR 1639
Commits by author
Brett Okken (2):
Craig Ringer (1):
- Prevent use of extended query protocol for BEGIN before COPY PR 1639 b3711537
Dave Cramer (33):
Dongming (1):
Frane Roje (1):
GregN (2):
- feat: add new "escapeSyntaxCallMode" connection property PR 1560 d7559138
- fix: allow OUT parameter registration when using CallableStatement native CALL PR 1561 ed74670f
Igor Volkov (1):
- Fix exception on PGCopyOutputStream.close() after endCopy() PR 1574 (#1575) 539a0925
IvyDev0 (1):
- fix: null pointer exception from PgResultSetMetaData when there's no column metadata PR 1615 08bd46bf
Jorge Solorzano (1):
Knut Wannheden (1):
Lőrinc Pap (1):
- feat: add caller push of binary data (rebase of PR 953 (#1659) db228a4f
Mahmoud Bahaa (4):
- Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY PR 1636 c85b149d
- Only allow binary transfer for those Oids that the pgjdbc currently supports PR 1637 ad83cb33
- Fix test case by changing executeQuery to execute PR 1642 1d47c3cc
- fix: remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) PR 1641 23cce8ad
Michail Nikolaev (1):
- fix: do ssl handshake after socket timeout and buffer size settings PR 1584 e39a0be0
Pavel Raiskup (1):
- rpm: drop BR on properties-maven-plugin 91186c08
Roman Ivanov (1):
Russell Briggs (1):
- Fix Network Performance of PgDatabaseMetaData.getTypeInfo() method PR 1668 beb354eb
Sehrope Sarkuni (7):
Svein Baardsen (1):
- fix: PR 1677 NumberFormatException when fetching PGInterval with small value (#1678) e38868b2
Tom Eicher (1):
- fix: DataSources broken by connection failover urls PR 1039 (#1457) bd9485ef
Torsten Brodbeck (1):
Vladimir Sitnikov (1):
- style: use fixed checkstyle version so the build does not depend on user machine d164cba2
Yuriy Yudin (1):
Zhenlei Huang (2):
adrklos (1):
bjanczak (1):
draderaws (2):
hyunkshinft (1):
reibitto (1):
rnveach (1):
Árpád Magosányi (2):
- fix documentation on generating the pk8 key. closes: PR 1585 (#1586) 635cc865
- security notice and clarifications on choosing the right cipher suite for client key PR 1591 c67b0b0b
Contributors to this release
We thank the following people for their contributions to this release.
adrklos
Árpád Magosányi
bjanczak
Brett Okken
Craig Ringer
Dave Cramer
Dongming
draderaws
Frane Roje
[GregN](https://github.com/gregn123
hyunkshinft
Igor Volkov
IvyDev0
Jorge Solorzano
Knut Wannheden
Lőrinc Pap
Mahmoud Bahaa
Michail Nikolaev
Pavel Raiskup
reibitto
rnveach
Roman Ivanov
Russell Briggs
Sehrope Sarkuni
Svein Baardsen
Tom Eicher
Torsten Brodbeck
Vladimir Sitnikov
Yuriy Yudin
Zhenlei Huang
Version 42.2.9 (2019-12-06)
Notable changes
Changed
Added
- read only transactions PR 1252
- pkcs12 key functionality PR 1599
- new "escapeSyntaxCallMode" connection property PR 1560
- connection property to limit server error detail in exception exceptions PR 1579
- cancelQuery() to PGConnection public interface PR 1157
- support for large update counts (JDBC 4.2) PR 935
- Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY PR 1636
Fixed
- issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation PR 1506
- PgSQLXML setCharacterStream() results in null value PR 1608
- get correct column length for simple domains PR 1605
- NPE as a result of calling executeQuery twice on a statement fixes issue #684 PR 1610
- handle numeric domain types PR 1611
- pginterval to take iso8601 strings PR 1612
- remove currentTimeMillis from code, tests are OK PR 1617
- NPE when calling setNull on a PreparedStatement with no parameters PR 1620
- allow OUT parameter registration when using CallableStatement native CALL PR 1561
- add release save point into execute with batch PR 1583
- Prevent use of extended query protocol for BEGIN before COPY PR 1639
Commits by author
Brett Okken (1):
Craig Ringer (1):
- Prevent use of extended query protocol for BEGIN before COPY PR 1639 b3711537
Dave Cramer (20):
Dongming (1):
GregN (2):
- feat: add new "escapeSyntaxCallMode" connection property PR 1560 d7559138
- fix: allow OUT parameter registration when using CallableStatement native CALL PR 1561 ed74670f
Igor Volkov (1):
- Fix exception on PGCopyOutputStream.close() after endCopy() PR 1574 (#1575) 539a0925
IvyDev0 (1):
- fix: null pointer exception from PgResultSetMetaData when there's no column metadata PR 1615 08bd46bf
Jorge Solorzano (1):
Knut Wannheden (1):
Mahmoud Bahaa (2):
- Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY PR 1636 c85b149d
- Only allow binary transfer for those Oids that the pgjdbc currently supports PR 1637 ad83cb33
Michail Nikolaev (1):
- fix: do ssl handshake after socket timeout and buffer size settings PR 1584 e39a0be0
Pavel Raiskup (1):
- rpm: drop BR on properties-maven-plugin 91186c08
Sehrope Sarkuni (5):
Tom Eicher (1):
- fix: DataSources broken by connection failover urls PR 1039 (#1457) bd9485ef
Torsten Brodbeck (1):
Yuriy Yudin (1):
rnveach (1):
Árpád Magosányi (2):
- fix documentation on generating the pk8 key. closes: PR 1585 (#1586) 635cc865
- security notice and clarifications on choosing the right cipher suite for client key PR 1591 c67b0b0b
Contributors to this release
We thank the following people for their contributions to this release.
Árpád Magosányi
Brett Okken
Craig Ringer
Dave Cramer
Dongming
GregN
Igor Volkov
IvyDev0
Jorge Solorzano
Knut Wannheden
Mahmoud Bahaa
Michail Nikolaev
Pavel Raiskup
rnveach
Sehrope Sarkuni
Tom Eicher
Torsten Brodbeck
Yuriy Yudin
Version 42.2.8 (2019-09-13)
Notable changes
Changed
Added
Fixed
Commits by author
Sehrope Sarkuni (1):
- fix: Revert inet default Java type to PGObject and handle values with net masks PR 1568 3df32f9
Contributors to this release
We thank the following people for their contributions to this release.
Dave Cramer
Sehrope Sarkuni
Version 42.2.7 (2019-09-10)
Notable changes
Changed
Added
- Expose parameter status messages (GUC_REPORT) to the user PR 1435
- Add automatic module name to manifest for jdk9+ PR 1538
- Log ignoring rollback when no transaction in progress PR 1549
- Map inet type to InetAddress PR 1527 issue 1134
Fixed
- fix issue 1547 As long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed PR 1548
- fix: issue 1466 In logical decoding the if the backend was requesting a reply we… PR 1467
- fix: issue 1534 Proleptic java.time support PR 1539
- fix Ensure isValid() will not last more than timeout seconds PR 1557
Commits by author
Adrien (1):
- Ensure isValid() will not last more than timeout seconds PR 1557 b2eaefe
Craig Ringer (2):
- Expose parameter status messages (GUC_REPORT) to the user PR 1435 ce8333a
- Make ConnectTimeout test accept NoRouteToHostException PR 1526 08d8129
Dave Cramer (8):
- note that waffle 1.9.x is only supported in jre8 version Update README to point to new maven coordinates 58804e9
- add automatic module name to manifest for jdk9+ PR 1538 0600990
- fix issue 1547, as long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed PR 1548 36a75cb
- fix: In logical decoding the if the backend was requesting a reply we… PR 1467 f89e62c
- Log ignoring rollback when no transaction in progress PR 1549 bda74d7
- fix assertion message PR 1553 ba82948
- remove failing tests for PostgreSQL version 8.3 add in tests for 11 89464a5
- Fix travis parsing issue 634ac7d
Hajar Razip (2):
- docs: add note on behavior of ResultSet.getString() PR 1286 (#1528) c30556c
- docs: update resultset.md in head to reflect 94 PR 1528 (#1536) fc8efc9
Matteo Melli (1):
Myo Wai Thant (1):
Pavel Raiskup (2):
- fix parent version in pgjdbc/pom.xml as well 3db55da
- rpm: remove karaf plugin 8495127
Philippe Marschall (1):
Sehrope Sarkuni (2):
Steinar Bang (1):
- Add an apache karaf feature for the PostgreSQL JDBC driver to fix PR 1552 (#1554) e2f6e9f
Tim Ward (1):
- Check that JDBC Connections that are closed by the server do not report as valid PR 1533 56399ef
Vsevolod Kaimashnikov (1):
Contributors to this release
We thank the following people for their contributions to this release.
Adrien
Craig Ringer
Dave Cramer
Hajar Razip
Matteo Melli
Myo Wai Thant
Pavel Raiskup
Philippe Marschall
Sehrope Sarkuni
Steinar Bang
Tim Ward
Vsevolod Kaimashnikov
Version 42.2.6 (2019-06-18)
Notable changes
Known issues
- Waffle has dropped support for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8
- Microseconds in timestamps might be truncated when transferred in binary mode
- 24:00 time handling is not consistent issue 1385
- Unexpected packet type during stream replication issue 1466
- Driver goes missing after OSGi bundle restart issue 1476
Changed
- Change ISGENERATED to ISGENERATEDCOLUMN as per spec PR 1485
- Fix missing metadata columns, and misspelled columns in PgDatabaseMetaData#getTables PR 1323
Added
- CI tests with Java 11, and Java EA
- Support temporary replication slots in ReplicationCreateSlotBuilder PR 1306
- Support PostgreSQL 11, 12
- Return function (PostgreSQL 11) columns in PgDatabaseMetaData#getFunctionColumns
- Return information on create replication slot, now the snapshot_name is exported
to allow a consistent snapshot in some uses cases. PR 1335
Fixed
- Fixed async copy performance (1ms per op) in SSL mode PR 1314
- Return Double.NaN for 'NaN'::numeric PR 1304
- Performance issue in PgDatabaseMetaData#getTypeInfo with lots of types in DB PR 1302
- PGCopyInputStream#read should cap values to [0, 255], -1 PR 1349
- Fixes LocalDateTime handling of BC dates PR 1388
- Release savepoints in autosave mode to prevent out of shared memory errors at the server side PR 1409
- Fix execution with big decimal in simple query mode. PR 1463
- Fix rounding for timestamps truncated to dates before 1970 PR 1502
Commits by author
Adam Brusselback (1):
- Add method alias's for each property which didn't use the conventiona… PR 1436 0efcf81c
AlexElin (6):
Andrew Guibert (1):
Craig Ringer (2):
- fix: NPE in PGXAConnection$ConnectionHandler.invoke() of .equals(null) PR 1365 cea5231b
- Update waffle-jna to new artifact coordinates PR 1383 72dc692e
Dave Cramer (31):
Dmitriy Tseyler (1):
Doug Mayer (1):
Harry Chan (1):
Ivan Leskin (1):
Jorge Solorzano (2):
Kamal Kumlien (1):
Kevin Wooten (1):
Krzysztof Szafrański (1):
Marc Dean (1):
Mark Nguyen (1):
Mykola Nikishov (2):
Nikolai Ivanov (1):
Philip Sanetra (1):
- feat: Extend ReplicationCreateSlotBuilder DSL to support temporary replications slots PR 1306 d514ceb5
Sehrope Sarkuni (4):
Sualeh Fatehi (2):
- Fix: getFunctionColumns used to return ProcedureColumns, now returns function columns b8a86807
- Update testing documents, and point to jackdb/pgjdbc-test-vm PR 1363 2a715a98
Tyson Andre (1):
Vladimir Sitnikov (9):
- docs: reflect 42.2.5 release in readme.md d43398a5
- perf: fix 1ms per async CopyAPI (regression since 42.2.5) PR 1314 e2623d63
- chore: use openjdk7 to boostrap Travis CI images for JDK 6 PR 1366 cdfd49cf
- test: avoid locale-dependent output in SetObject310Test ef14ceae
- fix: date rounding errors for dates before 1970 b5653899
- docs: update translation files 9fcaa98e
- fix: temporary make LibPQFactory.ConsoleCallbackHandler public 95d8da60
- Update pgjdbc-parent-poms to 1.1.6 to use updated waffle-jna f0a297db
- Update changelog for 42.2.6 8944fa67
itchyny (1):
jajalvipul (1):
- Added break statement to avoid the additional iterations in for loop PR 1406 6b13f7b7
kaiwangchen (1):
kazachka (2):
maltalex (1):
pbillen (1):
- Allow setFlushedLSN(lsn) and setAppliedLSN(lsn) from outside main loop PR 1329 381cf45c
rnveach (1):
Contributors to this release
We thank the following people for their contributions to this release.
Adam Brusselback
AlexElin
Andrew Guibert
Craig Ringer
Dave Cramer
Dmitriy Tseyler
Doug Mayer
Harry Chan
itchyny
Ivan Leskin
jajalvipul
Jorge Solorzano
kaiwangchen
Kamal Kumlien
kazachka
Kevin Wooten
Krzysztof Szafrański
maltalex
Marc Dean
Mark Nguyen
Mykola Nikishov
Nikolai Ivanov
pbillen
Philip Sanetra
rnveach
Sehrope Sarkuni
Sualeh Fatehi
Tyson Andre
Vladimir Sitnikov
Version 42.2.5 (2018-08-27)
Notable changes
Known issues
Changed
ssl=true
implies sslmode=verify-full
, that is it requires valid server certificate cdeeaca4
Added
- Support for
sslmode=allow/prefer/require
cdeeaca4
Fixed
- Security: added server hostname verification for non-default SSL factories in
sslmode=verify-full
(CVE-2018-10936) cdeeaca4
- Updated documentation on SSL configuration fa032732
- Updated Japanese translations PR 1275
- IndexOutOfBounds on prepared multistatement with insert values c2885dd0
Commits by author
Christoph Berg (1):
Dave Cramer (4):
Kazuhiro Sera (1):
Kyotaro Horiguchi (1):
Sehrope Sarkuni (1):
Vladimir Sitnikov (12):
- reflect 42.2.4 release in readme.md b99cea0d
- doc: add SQL_TSI to the known issues for 42.2.3 [ci-skip] 2da319a0
- docs: escape underscores in changelog otherwise it produces italic b1507f84
- docs: typo in 42.2.3 changelog "minute->second" 5898cdf1
- refactor: remove unused PgPreparedStatement.adjustIndex PR 1253 178eecc9
- test: run testShortQueryTimeout in PG_VERSION=HEAD Travis job only PR 1270 ecd412e4
- fix: remove POT-Creation-Date from generated .po and .pot files PR 1269 450a496b
- fix: use UTF-8 encoding in generated translation/messages_*.java files 2cbe7b35
- fix: typo in "One ore more ClientInfo failed" error message [ci skip] 21e126f4
- fix: IndexOutOfBounds on prepared multistatement with insert values PR 1289 c2885dd0
- security: implement SSL hostname verification for non-default (LibPQFactory) SSL factories (CVE-2018-10936) cdeeaca4
- Update changelog for 42.2.5 237a89bf
Contributors to this release
We thank the following people for their contributions to this release.
Christoph Berg
Dave Cramer
Kazuhiro Sera
Kyotaro Horiguchi
Sehrope Sarkuni
Vladimir Sitnikov
Version 42.2.4 (2018-07-14)
Notable changes
Changed
- PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName
argument if it is not null PR 1160
Fixed
- Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE PR 1250
- Map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL PR 1175 f2d1352c
Commits by author
Christian Kotzbauer (1):
Dave Cramer (3):
- use the correct date for the release 985b63b7
- also fix spelling of error b0162c0a
- fix: setNull for types not in java.sql.Types (e.g. uuid) PR 1160 6287c954
Jan Van den Bergh (1):
- fix: map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL PR 1175 f2d1352c
Pavel Raiskup (1):
- packaging: sync RPM spec with Fedora Rawhide cc545d28
Vladimir Sitnikov (2):
- docs: fix broken commit link in 42.2.3 changelog 776e1717
- fix: treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE PR 1250 4668f43f
Contributors to this release
We thank the following people for their contributions to this release.
Christian Kotzbauer
Dave Cramer
Jan Van den Bergh
Pavel Raiskup
Vladimir Sitnikov
Version 42.2.3 (2018-07-12)
Notable changes
Known issues
- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as second (fixed in 42.2.4)
Changed
- Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc PR 1187
- Deprecate Fastpath API PR 903
- Support parenthesis in {oj ...} JDBC escape syntax PR 1204
- ubenchmark module moved pgjdbc/benchmarks repository due to licensing issues PR 1215
- Include section on how to submit a bug report in CONTRIBUTING.md PR 951
Fixed
- getString for PGObject-based types returned "null" string instead of null PR 1154
- Field metadata cache can be disabled via databaseMetadataCacheFields=0 PR 1052
- Properly encode special symbols in passwords in BaseDataSource PR 1201
- Adjust date, hour, minute, second when rounding nanosecond part of a timestamp PR 1212
- perf: reduce memory allocations in query cache PR 1227
- perf: reduce memory allocations in SQL parser PR 1230, PR 1233
- Encode URL parameters in BaseDataSource PR 1201
- Improve JavaDoc formatting PR 1236
Commits by author
AlBundy33 (1):
- fix: support parenthesis in {oj ...} JDBC escape syntax PR 865 38356e68
AlexElin (3):
Dave Cramer (3):
Hari Babu Kommi (2):
Jesper Pedersen (1):
Jorge Solorzano (6):
KimBisgaardDmi (1):
Marc Slemko (1):
Michele Mancioppi (1):
Pavel Raiskup (1):
- packaging: fix RPM build requirements 6bb72e69
Sidi Mohamed EL AATIFI (1):
Stephen Nelson (2):
Vladimir Sitnikov (19):
- reflect 42.2.2 release in readme.md b1581e99
- fix: avoid NPE in PgConnection.finalize PR 1206 03a1441b
- chore: update gettext plugin, sort po files eb5c8fdd
- chore: sort messages in *.po files 10fc2fbb
- chore: remove obsolete translations ed1eab9e
- doc: add Russian translation to "No IOException expected..." eaa0acad
- fix: adjust date, hour, minute, second when rounding timestamp PR 1212 4dc98be8
- chore: remove ubenchmark module due to licensing issues PR 1215 88ec13bb
- chore: remove ubenchmark from packaging/rpm as well a699965a
- fix: support query timeouts exceeding 2147483 seconds (~25 days) PR 1224 b7fd9f3c
- perf: improve performance of replacing JDBC {...} escapes PR 1230 177f63be
- docs: use union merge strategy for CHANGELOG PR 1107 70189203
- chore: use 5432 as default port when running code from IDE 5dc03f63
- docs: use "PR 42" references instead of "PRPR 42" in the changelog (#1239) f4ae60ec
- test: close of replication connection has not been fixed at backend side, so disable the test till 12.1 PR 1243 481460a3
- perf: avoid string allocation for oid/rows parsing in command tag PR 1232 da831de5
- docs: prepare changelog for 42.2.3 release c5f5d8d2
- chore: fetch contributors' URL via GitHub API d7297984
- docs: update site for 42.2.3
bazzargh (1):
benbenw (2):
benoit (3):
- perf: reduce memory allocations when JDBC escapes ({fn ...}) are used 2a1e0910
- refactor: use singleArgumentFunctionCall in EscapedFunctions 191d84eb
- perf: avoid BaseQueryKey.toString in CachedQuery.getSize PR 1227 669fc31e
bpd0018 (1):
Étienne BERSAC (1):
Contributors to this release
We thank the following people for their contributions to this release.
AlBundy33
AlexElin
bazzargh
benbenw
benoit
bpd0018
Dave Cramer
Étienne BERSAC
Hari Babu Kommi
Jesper Pedersen
Jorge Solorzano
KimBisgaardDmi
Marc Slemko
Michele Mancioppi
Pavel Raiskup
Sidi Mohamed EL AATIFI
Stephen Nelson
Vladimir Sitnikov
Version 42.2.2 (2018-03-15)
Notable changes
Added
- Documentation on server-side prepared statements PR 1135
Fixed
- Avoid failure for
insert ... on conflict...update
for reWriteBatchedInserts=true
case PR 1130
- fix: allowEncodingChanges should allow set client_encoding=... PR 1125
- Wrong data from Blob/Clob when mark/reset is used PR 971
- Adjust XAException return codes for better compatibility with XA specification PR 782
- Wrong results when single statement is used with different bind typesPR 1137
- Support generated keys for WITH queries that miss RETURNING PR 1138
- Support generated keys when INSERT/UPDATE/DELETE keyword is followed by a comment PR 1138
Commits by author
Dave Cramer (5):
Jorge Solorzano (1):
Pawel (1):
Selene Feigl (1):
- fix: wrong data from Blob/Clob when mark/reset is used PR 971 61e1c300
Simon Stelling (1):
- fix: handle Timestamp values with fractional seconds < 1 microsecond correctly in PreparedStatement arguments PR 1119 8ff2a617
Vladimir Sitnikov (14):
- docs: reflect 42.2.1 release in readme.md 1a4256b9
- chore: make sure TEST_CLIENTS performs regular tests as well aa676bb3
- chore: remove unused variable lastKnownTime in ConnectionFactoryImpl 48b98971
- fix: ArrayIndexOutOfBoundsException when using the same SQL for regular and updateable resultset PR 1123 45c32bc6
- fix: support insert ... on conflict...update for reWriteBatchedInserts=true PR 1130 1ca0c586
- fix: allowEncodingChanges should allow set client_encoding=... PR 1125 af64ed2d
- tests: UUID vs setString test PR 1133 5827858b
- fix: UUID test for preferQueryMode=simple 44bb7f8d
- fix: wrong results when a single statement is used with UNSPECIFIED types PR 1137 fcd1ea14
- test: workaround DST issue in StatementTest#testDateFunctions af499625
- docs: improve documentation and tests for server-side prepared statements PR 1135 4204f094
- test: make testAlternatingBindType Java 6-compatible PR 1139 bcdd4273
- fix: better support for RETURNING for WITH queries and queries with comments PR 1138 04e76661
- chore: add contributor links to release script 2568d38e
bpd0018 (3):
chalda (1):
- Adjust XAException return codes for better compatibility with XA specification PR 782 e5aab1cd
trtrmitya (1):
- fix: use Locale.Category.DISPLAY (~lc_messages) when selecting resource bundle. PR 1115 0e9dfce4
Contributors to this release
We thank the following people for their contributions to this release.
Dave Cramer
Jorge Solorzano
Pawel
Selene Feigl
Simon Stelling
Vladimir Sitnikov
bpd0018
chalda
trtrmitya
Version 42.2.1 (2018-01-25)
Notable changes
Known issues
- client_encoding has to be UTF8 even with allowEncodingChanges=true
Changed
- socksProxyHost is ignored in case it contains empty string PR 1079
Fixed
- Avoid connection failure when
DateStyle
is set to ISO
(~PgBouncer) Issue 1080
- Package scram:client classes, so SCRAM works when using a shaded jar PR 1091 1a89290e
- reWriteBatchedInserts=true causes syntax error with ON CONFLICT Issue 1045 PR 1082
- Avoid failure in getPGArrayType when stringType=unspecified PR 1036
Commits by author
AlexElin (1):
Alexander Kjäll (1):
- feat: add support for fetching 'TIMESTAMP(6) WITHOUT TIME ZONE' as LocalDate to getObject() PR 1083 09af4b23
Dave Cramer (1):
- fix: package scram:client classes, so SCRAM works when using a shaded jar PR 1091 1a89290e
Ivan (2):
JCzogalla (1):
Jamie Pullar (1):
Jorge Solorzano (1):
Pavel Raiskup (1):
Vladimir Sitnikov (3):
- docs: reflect 42.2.0 release in readme.md 6d02e958
- fix: avoid connection failure when DateStyle is set to ISO PR 1081 e442db1f
- fix: reWriteBatchedInserts=true causes syntax error with ON CONFLICT PR 1082 e133510e
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Alexander Kjäll
Dave Cramer
Ivan
JCzogalla
Jamie Pullar
Jorge Solorzano
Pavel Raiskup
Vladimir Sitnikov
Version 42.2.0 (2018-01-17)
Notable changes
Known issues
- SCRAM authentication does not work as scram client classes are not packaged
- client_encoding has to be UTF8 even with allowEncodingChanges=true
Added
- Support SCRAM-SHA-256 for PostgreSQL 10 in the JDBC 4.2 version (Java 8+) using the Ongres SCRAM library. PR 842
- Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. Issue 958 PR 962
- Support Subject Alternative Names for SSL connections. PR 952
- Support isAutoIncrement metadata for PostgreSQL 10 IDENTITY column. PR 1004
- Support for primitive arrays PR 887 3e0491a
- Implement support for get/setNetworkTimeout() in connections. PR 849
- Make GSS JAAS login optional, add an option "jaasLogin" PR 922 see Connecting to the Database
Changed
- Improve behaviour of ResultSet.getObject(int, Class). PR 932
- Parse CommandComplete message using a regular expression, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. PR 962
- Use 'time with timezone' and 'timestamp with timezone' as is and ignore the user provided Calendars, 'time' and 'timestamp' work as earlier except "00:00:00" now maps to 1970-01-01 and "24:00:00" uses the system provided Calendar ignoring the user-provided one PR 1053
- Change behaviour of multihost connection. The new behaviour is to try all secondaries first before trying the master PR 844.
- Avoid reflective access to TimeZone.defaultTimeZone in Java 9+ PR 1002 fixes Issue 986
Fixed
- Make warnings available as soon as they are received from the server. This is useful for long running queries, where it can be beneficial to know about a warning before the query completes. PR 857
- Use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX. PR 992
- Now the DatabaseMetaData.getFunctions() implementation complies with the JDBC docs. PR 918
- Execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving fixes Issue #955
- Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement Issue 811
Removed
- Drop support for the (insecure) crypt authentication method. PR 1026
Deprecated
- Reintroduce Driver.getVersion for backward compatibility reasons, mark it as deprecated as application should not rely on it (regression since 42.0.0) 50d5dd3e
- slave and preferSlave values for the targetServerType connection property have been deprecated in favour of secondary and preferSecondary respectively.
Commits by author
AlexElin (9):
Álvaro Hernández Tortosa (1):
Barnabas Bodnar (1):
- fix: don't attempt to read a SQLXML more than once PR 965 8f5e245
Brett Okken (1):
Brett Wooldridge (1):
- Fixes #638 Implement support for get/setNetworkTimeout() PR 849 8a30044
Chen Huajun (1):
- fix: improve multihost connection for preferSlave case (verify expired hosts before connecting to cached master) PR 844 c6fec34
Dave Cramer (11):
- Update thread safety status of the driver to reflect reality; that being that the driver is not thread safe PR 928 ad47aba
- fix: use 00:00:00 and 24:00:00 for LocalTime.MIN/MAX PR 992 f2d8ec5
- fix: support Subject Alternative Names for SSL connections PR 952 2dcb91e
- test: Appveyor configuration PR 1000 059628f
- add test for identity, fix isAutoincrement in postgresql 10 fixes #130 PR 1004 2f6633b
- elaborate on sslmode options PR 1054 aa7a420
- prefer the word secondary over slave PR 1063 2e8c2b6
- Revert "refactor: replace some usages of initCause PR 1037" (#1064) e6a1ecc
- prefer secondary over slave referring to standby or secondary servers PR 1070 32c53902
- first pass at release notes and some fixes to previous notes PR 1041 a8260f5
- Update 2018-01-16-42.2.0-release.md b36867f
Hugh Cole-Baker (1):
Jeff Klukas (1):
Joe Kutner (1):
- fix: Added support for socksNonProxyHosts property PR 975 (#985) 9813c68
Jorge Solorzano (13):
Magnus (1):
- fix: make warnings available as soon as they are received PR 857 83dd5fe
Magnus Hagander (1):
MichaelZg (1):
- fix: trim trailing zeros in timestamp strings returned in binary mode PR 896 d28deff
Michael Glaesemann (1):
- refactor: use TypeInfo getPGArrayType instead of munging type name PR 913 634e157
Pavel Raiskup (2):
- packaging: rpm_ci: add missing BuildRequires 4e0cdc1
- packaging: rpm_ci: don't shade scram jar into pgjdbc 1fd6c4f
Philippe Marschall (2):
Piyush Sharma (1):
- doc: Added quotes to URL in '@see' tag over org.postgresql.sspi.NTDSAPI#DsMakeSpnW for syntactic correctness PR 926 29f574a
Sehrope Sarkuni (1):
Thach Hoang (2):
- Update ServerVersionTest to actually compare versions PR 1015 cccd6cd
- fix: always return Short[] for java.sql.Array.getArray() on smallint[] PR 1017 279fb43
Vladimir Sitnikov (23):
- fix: reintroduce Driver.getVersion for backward compatibility reasons PR 905 50d5dd3
- style: make PGReplicationStream, LargeObject implement AutoCloseable for Java 7+ PR 1016 9f07c9a
- fix: prevent statement hang in case close() called when query is in progress PR 1022 04c5dbb
- fix: synchronize Statement#result field access to make #close() more thread-safe 4139248
- fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ PR 1002 fd0eeee
- fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" 0d31d46
- fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement PR 811 082d009
- tests: correct assertion to use proper column 63918eb
- fix: add type parameter so code is Java 6/7 compatible 1361c52
- chore: avoid non-blocking IO for stdout to workaround "stdout: write error" in Travis 12bb084
- test: run Travis tests with non-default time zone a3982b4
- fix: execute autosave/rollback savepoint via simple queries always to prevent "statement S_xx not exists" when autosaving PR 955 684a699
- fix: use 'time with time zone' and 'timestamp with time zone' values as is and avoid computation with user-provided/default Calendars e8c43f3
- test: refactor SetObject310Test to use proper assertion messages and use less statements (make it faster) be06946
- refactor: factor out receiveParameterStatus so all the ParameterStatus messages are handled in the same way a94cfea
- fix: add Provide-Capability OSGi manifest PR 1029 236805b
- chore: update version to 42.2.0-SNAPSHOT to reflect the next release version e27ee74
- packaging: add missing maven-clean-plugin dependency a2ed9b5
- chore: introduce release via Travis acb9bdd
- chore: skip CI builds for tags; skip Fedora and extendedCacheEverything jobs when building pull requests 3ba3b63
- fix: avoid NPE from getObject(..., Date.class) and getObject(..., Calendar.class) on null timestamps PR 1071 eb33c4c
- test: add "as" to test queries so they work with PostgreSQL 8.3 71b3c11
- docs: make pgjdbc's javadocs to inherit base Java documentation eb406dc
Zemian Deng (3):
- refactor: use PGProperty enum instead of text ref for targetServerType, hostRecheckSeconds, loadBalanceHosts PR 912 (#915) b0cfc33
- fix: correct javadoc on PGResultSetMetaData.getFormat PR 917 cd77693
- fix: Correct DatabaseMetaData.getFunctions() implementation PR<PHONE_NUMBER>
bpd0018 (3):
djydewang (1):
- style: disallowing user to use incomplete fully qualified Check names in config file PR 961 3286c8c
eperez (1):
mjanczykowski (1):
rnveach (1):
- style: remove deprecated maxLineLength from LeftCurlyCheck PR 904 5f083d1
steinarb (1):
* fix: add Provide-Capability org.osgi.service.jdbc.DataSourceFactory to OSGi manifest Issue 1029
zapov (1):
- fix: avoid integer overflow when sending large arguments PR 946 266ed61
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Álvaro Hernández Tortosa
Barnabas Bodnar
Brett Okken
Brett Wooldridge
Chen Huajun
Dave Cramer
Hugh Cole-Baker
Jeff Klukas
Joe Kutner
Jorge Solorzano
Magnus
Magnus Hagander
MichaelZg
Michael Glaesemann
Pavel Raiskup
Philippe Marschall
Piyush Sharma
Sehrope Sarkuni
Thach Hoang
Vladimir Sitnikov
Zemian Deng
bpd0018
djydewang
eperez
mjanczykowski
rnveach
zapov
Version 42.1.4 (2017-08-01)
Notable changes
Changed
- Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. Issue 869
Commits by author
AlexElin (4):
Dave Cramer (2):
Michael Glaesemann (4):
- test: assume minimum server version 8.3 testing autosave with ALTER 77ee528d
- test: assume minimum server version 8.3 when testing with uuid ff2717e4
- refactor: remove unused import 8afe856e
- test: assume integer datetimes for timestamp tests PR 873 8287e7f9
Vladimir Sitnikov (7):
- docs: prevent "<!--more-->" from being displayed on the changelog page e1747693
- doc: fix anchors for "contributors to this release" c1d743f2
- test: fix StringTypeParameterTest to skip preferQueryMode=simple beca1692
- chore: install PostgreSQL 9.1 to Trusty builds via apt, and use Precise for Java 6 e960f237
- test: make StringTypeParameterTest 8.3+ since 8.2 misses enum types PR 882 ed0014cc
- fix: named statements were used when fetchSize was non-zero and prepareThreshold=0 PR 870 f0deabf7
- test: skip ConcurrentStatementFetch for PostgreSQL < 8.4 PR 884 5334cb6e
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Dave Cramer
Michael Glaesemann
Vladimir Sitnikov
Version 42.1.3 (2017-07-14)
Notable changes
Fixed
- Fix NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2). PR 867
Commits by author
Vladimir Sitnikov (2):
- doc: ensure changelog uses %Y-%m-%d format, not %Y-%d-%m 5d585aac
- fix: NPE in PreparedStatement.executeBatch in case of empty batch PR<PHONE_NUMBER>d
Contributors to this release
We thank the following people for their contributions to this release.
Vladimir Sitnikov
Version 42.1.2 (2017-07-12)
Notable changes
Changed
- Better logic for returning keyword detection. Previously, pgjdbc could be defeated by column names that contain returning, so pgjdbc failed to "return generated keys" as it considered statement as already having returning keyword PR 824 201daf1d
- Use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first executeBatch() execution (previously it waited for prepareThreshold executeBatch() calls) abc3d9d7
Fixed
- Replication API: fix issue in #834 setting statusIntervalUpdate causes high CPU load. PR 835 59236b74
Regressions
- NPE in PreparedStatement.executeBatch in case of empty batch. Fixed in 42.1.3
Commits by author
AlexElin (1):
Dave Cramer (8):
- Initial support of partitioned tables via JDBC metadata API PR 823 9c3471f2
- fix javadoc complaints and some small edits to replication comments PR 832 2d0bfceb
- fix issue #834 setting statusIntervalUpdate causes high CPU load \ PR 835 59236b74
- fix issue #838 make sure we don't get columns that are dropped PR 840 464a2d43
- add missing connection documentation, fix spelling PR 846 cd400f6f
- more spelling mistakes for preferQueryMode PR 850 73bc3c1b
- fix formatting of section on failover, still not perfect but better PR 852 9f722014
- small reformat to clarify read and write connections PR 854 551d71b6
Jorge Solorzano (3):
Robert 'Bobby' Zenz (1):
- fix: Add fallback to setObject(int, Object) for Number PR 812 5b9edb7d
Vladimir Gordiychuk (1):
Vladimir Sitnikov (7):
- chore: implement a script to stage pgjdbc, pgdjbc-jre7, pgjdbc-jre6 artifacts 15d78839
- doc: fix 42.1.0.jre8->jre6 typo PR 42 88942b58
- fix: use server-prepared statements for batch inserts when prepareThreshold>0 abc3d9d7
- fix: better parsing for returning keyword PR 824 201daf1d
- docs: build index, changelog pages from _posts/... to reduce release overhead d6fe07d7
- chore: make ./release_notes.sh create docs/_posts/$DATE_YMD-$VERS-release.md file e00d4571
- docs: add 42.1.2 release notes 6f127a61
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Dave Cramer
Jorge Solorzano
Robert 'Bobby' Zenz
Vladimir Gordiychuk
Vladimir Sitnikov
Version 42.1.1 (2017-05-04)
Notable changes
Fixed
- Fix infinite dates that might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. 1e5bf563
Commits by author
Vladimir Sitnikov (2):
- fix: infinite dates might be corrupted when transferred in binary for certain JREs 1e5bf563
- chore: print "include notable changes" to the generated changelog 6bc4fe07
Contributors to this release
We thank the following people for their contributions to this release.
Vladimir Sitnikov
Version 42.1.0 (2017-05-03)
Notable changes
Added
- Support fetching a REF_CURSOR using getObject PR 809
Fixed
- Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) PR 802
- Fix calculation of lastReceiveLSN for logical replication PR 801
- Make sure org.postgresql.Driver is loaded when accessing though DataSource interface Issue 768
Regressions
- There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6
Commits by author
Alexander Kjäll (1):
Daniel Migowski (1):
- feat: improve waiting for notifications by providing a timeout option PR 778 a7e0c83b
Dave Cramer (4):
Jacques Fuentes (1):
James (1):
- fix: use SQLWarning(String reason) constructor for correct DriverManager PR 751 74a426b9
Joe Kutner (1):
Jorge Solorzano (3):
Philippe Marschall (1):
Robert Zenz (1):
- fix: function calls without parameters do not require parentheses 2958cc22
Vladimir Gordiychuk (2):
Vladimir Sitnikov (3):
- fix: make sure org.postgresql.Driver is loaded when accessing though DataSource interface PR 768 9c80adc2
- refactor: add encoding, fix expected/actual, use proper constructor 77cace40
- fix: infinity handling for java.time types PR 789 f375701b
slmsbrhgn (1):
- bug: fix data being truncated in setCharacterStream (the bug introduced in 42.0.0) PR 802 28c98418
Contributors to this release
We thank the following people for their contributions to this release.
Alexander Kjäll
Daniel Migowski
Dave Cramer
Jacques Fuentes
James
Joe Kutner
Jorge Solorzano
Philippe Marschall
Robert Zenz
Vladimir Gordiychuk
Vladimir Sitnikov
slmsbrhgn
Version 42.0.0 (2017-02-19)
Notable changes
Added
Changed
- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better semantic versioning. 46634923
- Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. Issue 742
- Error position is displayed when SQL has unterminated literals, comments, etc. Issue 688
- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). PR 732
- Return correct versions and name of the driver. PR 668
Removed
- Support for PostgreSQL versions below 8.2 was dropped. PR 661
Deprecated
- Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. PR 739
Regressions
- Data truncated in setCharacterStream. Fixed in 42.1.0
- No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0
You may have noticed the change in the versioning of the driver, you can read the FAQ for more information.
Commits by author
AlexElin (6):
Eric McCormack (1):
Jordan Lewis (1):
Jorge Solorzano (22):
Pavel Raiskup (3):
- fix: sync with latest Fedora PR 637 a29ad80b
- packaging: rpm: update srpm generator 5c3c9239
- packaging: rpm_ci: use curl -L to download rawhide logs c8125cff
Philippe Marschall (3):
Roman Ivanov (2):
- config: move version of checkstyle to property PR 723 9ef7d6f1
- chore: upgrade checkstyle to 7.4, make checkstyle version configurable via property PR 725 e1a25782
Steve Ungerer (1):
- fix: ensure executeBatch() does not use server-side prepared statements when prepareThreshold=0 PR 690 aca26a07
Trygve Laugstøl (1):
- feat: connect the socket only if the socket factory created an unconnected socket PR 587 f75572be
Vladimir Gordiychuk (4):
Vladimir Sitnikov (12):
- fedora: add BuildRequires: classloader-leak-test-framework 64b6750c
- tests: remove Class.forName(..driver..) from test code c99507b5
- test: add CI tests against PostgreSQL 8.2 PR 659 63ee60e2
- feat: display error position when SQL has unterminated literals, comments, etc PR 688 8a95d991
- feat: add support for PreparedStatement.setCharacterStream(int, Reader) PR 671 ee4c4265
- chore: update next version to 42.0.0-SNAPSHOT 46634923
- refactor: add CallableQueryKey#equals override 401c51a1
- doc: correct wording in readme regarding PostgreSQL versions used in pgjdbc regression testing 60391d75
- fix: revert ExpressionProperties to Properties in BaseDataSource 989b4d23
- fix: correct edge cases for setCharacterStream(int, Reader) f1190d8c
- test: add SharedTimerClassLoaderLeakTest to the regular test suite b3553276
- refactor: wrap more log statements with isLoggable check 07d225ec
bd-infor (1):
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
bd-infor
Eric McCormack
Jordan Lewis
Jorge Solorzano
Pavel Raiskup
Philippe Marschall
Roman Ivanov
Steve Ungerer
Trygve Laugstøl
Vladimir Gordiychuk
Vladimir Sitnikov
Version 9.4.1212 (2016-11-02)
Notable changes:
- ? can now be used in non-prepared statements (regression was introduced in 1210)
AlexElin (1):
- chore: add coverage badge (#646) 05c2f8d
Jorge Solorzano (6):
- docs: split readme.md to contributing.md (#652) 7270435
- docs: improve readme.md (#666) cf6b836
- docs: change license to BSD-2-Clause (#660) b4c90c8
- style: update the header in the project (#662) 8be516d
- fix: copy src/main/resources (#676) 14f3fce
- style: copy license file to META-INF folder (#677) c518697
Sebastian Utz (1):
- fix: makes escape processing strict according to JDBC spec PR#657 00a8478
Vladimir Sitnikov (4):
- fix: do not convert ?, ? to $1, $2 when statement.executeQuery(String) is used (#644) PR#643 08e1a40
- tests: make CursorFetchTest.testGetRow to use stable order of rows so the test does not depend on actual implementation of UNION 3c8efe4
- fix: avoid ClassLoader leaks caused by SharedTimer PR#664 f52bf7f
- Make successful OSGi activation less noisy PR#672 22b9025
zapov (1):
- fix: Don't break when there is no column metadata (#663) 6d2a53e
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Jorge Solorzano
Rikard Pavelic
Sebastian Utz
Vladimir Sitnikov
Version 9.4.1211 (2016-09-18)
Notable changes:
* json type is returned as PGObject like in pre-9.4.1210 (fixed regression of 9.4.1210)
* 'current transaction is aborted' exception includes the original exception via caused-by chain
Daniel Gustafsson (1):
- doc: fix brand names and links in readme (#636) 56c04d0
Vladimir Sitnikov (4):
- chore: eploy to Travis was silently broken for a couple of days since "test" command was missing 67d7e3c
- fix: json should be returned as PGObject, not as String for backward compatibility reasons (#640) PR#639 beaec3a
- test: add DebugNonSafepoints to FlightRecorderProfiler PR#622 154c463
- feat: include root cause exception in case transaction fails (#628) 51775c1
Contributors to this release
We thank the following people for their contributions to this release.
Daniel Gustafsson
Vladimir Sitnikov
Version 9.4.1210 (2016-09-07)
Notable changes:
- Better support for RETURNGENERATEDKEYS, statements with RETURNING clause
- Avoid user-visible prepared-statement errors if client uses DEALLOCATE/DISCARD statements (invalidate cache when those statements detected)
- Avoid user-visible prepared-statement errors if client changes searchpath (invalidate cache when set searchpath detected)
- Support comments when replacing {fn ...} JDBC syntax
- Support for Types.REF_CURSOR
AlexElin (3):
- style: change method names to start with a lower case letter (#615) 22c72b4
- refactor: fix some hintbugs warnings (#616) dd71f6f
- refactor: use varargs in Gt.tr (#629) 07c7902
Chrriis (1):
- perf: cache result set column mapping for prepared statements PR#614 88fbbc5
Marios Trivyzas (1):
- perf: add point type info to Client (#612) ba14509
Mathias Fußenegger (2):
- doc: fix test README link in README (#609) c09be96
- perf: add json type info to Client (#610) 4ad2df3
Pavel Raiskup (1):
Philippe Marschall (1):
Vladimir Gordiychuk (1):
- test: fix Travis job so it actually tests against HEAD PostgreSQL (#630) 9030373
Vladimir Sitnikov (23):
- test: skip json testing on pre-9.2 databases (those do not implement json type) 0a17d82
- chore: make sure JDK9+PG 9.4 Travis job indeed uses PG 9.4 01b65c3
- test: add PostgreSQL HEAD to pgjdbc regression test matrix (#613) PR#561 65a32ff
- test: add benchmark for resultSet.getByName ff4bfda
- chore: use Travis' PostgreSQL 9.5 d1feb58
- docs: add javadoc badge to the project readme 5d7a9bb
- refactor: remove autoCommit argument from QueryExecutor#createSimpleQuery/createParameterizedQuery 756363e
- fix: support cases when user-provided queries have 'returning' PR#488 c3d8571
- feat: support execute statements via simple 'Q' command PR#558 232569c
- feat: show proper error message when connecting to non-UTF-8 database PR#594 ec5fb4f
- test: add tests for Parser.parseDelete/Select/Move/WithKeyword 3b7c7c4
- chore: update to 1.1.0 version of parent pom to upgrade bndlib 2.3.0 -> 2.4.0 4019ed6
- chore: use latest java version for one of Java 8 Travis jobs 0452e79
- refactor: introduce ResultHandlerBase to factor out common error processing logic edcdccd
- feat: reset server-prepared statements on deallocate/discard, ability to autorollback on sqlexception from executing a query PR#451 adc08d5
- fix: add a test case when "deallocate all" detector is turned off aa53fba
- fix: invalidate prepared statement cache when "set search_path=..." query is detected PR#496 17c8afb
- fix: properly account cache size when duplicate entries returned to the cache 191ccf2
- feat: support 10+ version parsing Note: 10.2 means 10 major, 2 minor, that is 100002 9.2 means 9.2 major, that is 90200 PR#631 a639431
- fix: honor comments when replacing {fn curdate()} kind of calls PR#632 2d9b313
- chore: skip "deploy to Central" step when building PRs 9bc194a
- test: add performance test for "reused vs non-reused at client side" prepared statements 2d70385
- chore: improve ./release_notes.sh so it does not require parameters d8736b4
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Christopher Deckers
Marios Trivyzas
Mathias Fußenegger
Pavel Raiskup
Philippe Marschall
Vladimir Gordiychuk
Vladimir Sitnikov
Version 9.4.1209 (2016-07-15)
Notable changes:
- BUG: json datatype is returned as java.lang.String object, not as PGObject (fixed in 9.4.1211)
- Many improvements to
insert into .. values(?,?) -> insert .. values(?,?), (?,?)...
rewriter. Give it a try by using reWriteBatchedInserts=true
connection property. 2-3x improvements for insert batch can be expected
- Full test suite passes against PostgreSQL 9.6, and OpenJDK 9
- Performance optimization for timestamps (~TimeZone.getDefault optimization)
- Allow build-from-source on GNU/Linux without maven repositories, and add Fedora Copr test to the regression suite
AlexElin (2):
- style: code cleanup and Java 5' features 8e8dbab
- style: cleanup and Java 5' features for tests (#602) 28c0c22
Christian Ullrich (4):
- docs: fix test password in readme closes #553 PR#553 07f8610
- test: make tests independent from server LC_MESSAGES (#554) b756a15
- fix: update waffle version PR#555 db1a6e4
- test: add basic tests for SSPI authentication PR#557 16c27b9
Christopher Deckers (2):
- fix: improve insert values(...) batch rewrite PR#580 510e6e0
- perf: cache timezone in statement#setDate, resultSet#getDate, etc PR#588 d2b86a0
Dave Cramer (5):
- use binary trick for tolower, optimize switch, added tests 2200a4d
- fix:bugs with parse 72945b0
- fix: added test for move and fixed checkstyle errors fc59851
- fixed index ASC/DESC for 9.6 (#569) c9e5fc8
- test: DataSource.getConnection().unwrap(PGConnection.class) PR#573 f6b176e
Florin Asăvoaie (1):
- Refactored an unnecessary conversion of List to String[][] when calling the sendStartupPacket. (#544) 2032836
George Kankava (1):
- fix: PgDatabaseMetaData: close statement in finally PR#516 b4c45ca
Jeremy Whiting (3):
- perf: Add optimization to re-write batched insert stataments. ac8abf3
- fix: Change optimization to delay parameter and statement re-write to immediately before execution. e591577
- feat: Added to SQL parser to allow inspection of Statement attributes and Command. 4ddb693
Laurenz Albe (1):
- fix: interpretation of empty but set "ssl" connection property PR#528 91f05b4
Minglei Tu (1):
- feat: support java.sql.Types.TIMEWITHTIMEZONE and java.sql.Types.TIMESTAMPWITHTIMEZONE in setNull method PR#570 1b73bf6
Pavel Raiskup (3):
- Allow build-from-source on GNU/Linux without maven repositories (#546) 87489a9
- chore: test Fedora packaging CI via Travis job PR#578 1eb4085
- packaging: heal Fedora build (#601) af50d0b
Petro Semeniuk (1):
- fix: use per-connection cache for field metadata (table name, column name, etc) PR#551 dc3bdda
Philippe Marschall (4):
Tanya Gordeeva (1):
Vladimir Sitnikov (23):
- test: add tests for null::float8[] e6b5bb3
- test: createArrayOf(..., null) test a274321
- test: avoid "The connection attempt failed" in ConnectTimeoutTest.testTimeout PR#531 fbabfa4
- fix: NPE in DatabaseMetaData.getTypeInfo when types are dropped concurrently PR#530 f3b0fd0
- fix: binary timestamptz -> getString should add +XX zone offset to text representation PR#130 1e1f3c4
- refactor: "build without waffle/osgi" PR 766f806
- test: add PostgreSQL 9.6 to CI tests (#560) 3ff47da
- chore: make sure ubenchmark is tested with checkstyle PR#564 f6ed8e6
- chore: add explicit MCENTRAL=Y to Travis jobs that deploy to Maven Central 18ca8f2
- test: prune some Travis jobs to make CI faster c5c1d7c
- chore: propagate java source/target to maven-compiler-plugin d8117d1
- chore: add codecov.yml fb2977f
- refactor: use enum instead of int for PgStatement.statementState to simplify debugging 32d4e08
- test: use TestUtil.getPort() in V3ParameterListTests instead of hard-coded 5432 9a4b296
- chore: make codecov to always wait 7 builds 9f9aa95
- test: add jdk9 Travis job PR#565 bbb0d35
- fix: incorrect binary data format in bind parameter X when using batch execution (#582) 7388dc9
- perf: execute "SET application_name" if name has changed only PR#537 893c1a4
- fix: fix some sonarqube warnings 7311b4e
- fix: revert array naming to pre 1202 behavior (e.g. _int4) PR#595 1d8ebfc
- refactor: rename dmlcommand -> sqlcommand 79db127
- perf: implement fast-path to TimeZone.getDefault if the cache field is accessible through reflection 6b3f2e0
- feat: make connectTimeout=10 (seconds) by default b4d5976
aryabukhin (1):
- feat: add support for url-encoded JDBC URL property values PR#532 4c15f31
Marc Petzold (1):
- feat: support HSTORE in PgPreparedStatement#setObject(int, java.lang.Object, int, int) 785d0c7
goeland86 (1):
Contributors to this release
We thank the following people for their contributions to this release.
AlexElin
Christian Ullrich
Christopher Deckers
Dave Cramer
Florin Asăvoaie
George Kankava
Jeremy Whiting
Laurenz Albe
Minglei Tu
Pavel Raiskup
Petro Semeniuk
Philippe Marschall
Tanya Gordeeva
Vladimir Sitnikov
aryabukhin
Marc Petzold
goeland86
Version 9.4.1208 (2016-02-16)
John Harvey (1):
- chore: rework update-translations.sh into pom file as a profile e2fa9ec
Dave Cramer (3):
- fix:regression from previous behaviour where setObject(index,object,VARHCAR) should call getString if it can't cast it to a string PR#482 9d6389c
- fix:correct comment PR#482 bfd73c7
- Update README.md PR#482 5a956a3
George Kankava (3):
- fix: squid:S1206 -equals(Object obj) and hashCode() should be overridden in pairs PR#515 a07d6d3
- fix: squid:S2325 - private methods that don't access instance data should be static PR#514 7aac95c
- fix: squid:S1488 - Local Variables should not be declared and then immediately returned or thrown PR#513 299c9f5
Gilles Cornu (1):
Jeremy Whiting (1):
- fix: load the ssl configuration property when defined through Properties. a6a61be
Markus KARG (1):
Philippe Marschall (7):
- style: use java generics instead of raw types PR#463 c10acf0
- refactor: do not synchronize on ConcurrentHashMap PR#482 ea4cadd
- perf: add guards around debug log statements PR#469 d77aa41
- fix: Do not swallow security exceptions PR#471 beab720
- feat: implement resultSet.getObject(col, Class) with JSR-310 support PR#482 9aa3142
- feat: implement JSR-310 support in setObject e52f7e3
- fix: support local date times not in time zone 61384ec
Rikard Pavelic (1):
Vladimir Sitnikov (24):
- doc: update current versions in readme.md PR#482 4f5d57c
- refactor: move implementation of Prepared and Callable statements to PgPreparedStatement and PgCallableStatement PR#459 8fca8b4
- style: add import order check PR#482 77a188c
- style: align import order with style convention PR#482 00c7eb3
- doc: add gitter chat link to readme PR#482 53190c9
- style: enable more checkstyle verifications PR#482 b0225f6
- style: reformat code to fix checkstyle violations PR#482 8f1c9d7
- style: reformat with Eclipse PR#467 2d5e7fa
- Update IDEA config PR#482 7083008
- docs: fix typos in code comments PR#472 5d43712
- style: update translations 484eafd
- doc: update russian translations 92011d7
- test: add insert .. on conflict tests for PostgreSQL 9.5 d622a9f
- fix: improve handling of DATE columns around DST dates in binary transfer 642b48a
- test: improve insertBatch test aea9383
- test: track code coverage PR#494 0f979c3
- test: PostgreSQL 8.4 and 9.5 databases, XA configuration PR#499 8c9898a
- fix: make sure executeBatch returns error response for rows that would not get into database PR#502 d6e3b17
- test: add benchmarks for insert via copy and insert via array of structs 880244e
- fix: PgArray returning null for binary arrays PR#504 b225535
- doc: backend protocol, wanted features PR#478 ee6118e
- fix: OSGi require-capability manifest entry PR#497 a3e2045
- fix: make sure {fn now()} jdbc translation is not performed in dollar-quoted strings PR#511 9109451
mtran (1):
- feat: ability to customize socket factory (e.g. for unix domain sockets) PR#457 dc1844c
Contributors to this release
We thank the following people for their contributions to this release.
John Harvey
Dave Cramer
George Kankava
Gilles Cornu
Markus KARG
Rikard Pavelic
Jeremy Whiting
Vladimir Sitnikov
Stephen Nelson
Philippe Marschall
mtran
Version 9.4.1207 (2015-12-23)
Jeremy Whiting (3):
- Changed property loader to avoid using a default when property not already set. Allows the caller to detect when unset. Thus allowing connection Cto use programmatic log level value. Added test cases to check PGProperty method working properly. PR#438 ecf4a2c
- Update testcase to set properties where TestUtil methods look them up. PR#438 b86e07a
- Restore boot time ssl property after test cases complete. Revert change to assertion test. Safely remove existing ssl property. PR#438 274f382
Philippe Marschall (2):
Stephen Nelson (1):
Vladimir Sitnikov (12):
- doc: add coding guidelines to readme PR#442 af62c6d
- chore: remove docbkx/pgjdbc.xml from reposiory PR#435 92b65f0
- chore: move files to "pgjdbc" maven module to prepare for pre-processor fix PR#435 f95b44e
- chore: use java comment preprocessor to build jre6/jre7/jre8 jars from the same sources PR#435 42c2e3b
- doc: fix javadocs warnings when building via java 8 PR#435 3b10873
- test: improve CopyLargeFileTest performance by dropping non required index and foreign key PR#435 410a662
- test: speedup DriverTest.testConnectFailover by adding a connect timeout of 5 seconds PR#435 ed1a916
- chore: skip gpg signature when deploying snapshot artifacts via Travis PR#449 d196cf4
- chore: use custom settings.xml when deploying snapshots via Travis PR#449 cf40cf2
- test: add test for insert batch that changes server-prepared statement names PR#449 e5ac899
- fix: prepared statement "S_2" does not exist in batch executions PR#449 fa310e0
- doc: add note on how to skip tests when building from source PR#460 823e124
Yao Chunlin (1):
- Fix bug when call XAResource.start with TMJOIN flag, the old localAutoCommitMode lost. PR#434 df09e2b
Contributors to this release
We thank the following people for their contributions to this release.
Jeremy Whiting
Vladimir Sitnikov
Stephen Nelson
Philippe Marschall
Yao Chunlin
Version 9.4-1206 (2015-11-25)
Andrea Catalucci (1):
Dave Cramer (3):
- make sure logs actually get written PR#422 2ad367e
- fix: Binary handling of empty arrays. The type of the empty array was not properly read as a result getting the type of the array caused an NPE fixes Issue #421 reported by Juha Komulainen PR#422 38d8488
- fix:building on java 1.6 PR#422 9133012
- fix test case to actually check the value don't mask the exception in the event that it is thrown PR#422 e975c07
- add an explicit message for the test case PR#422 270b1a3
Laurenz Albe (3):
- Replace question marks only in PreparedStatements PR#427 3d30a4c
- Allow both single and double question marks in simple statements PR#427 39d510c
- Prettify code and add another regression test PR#427 2f8a67f
Vladimir Sitnikov (3):
- chore: fix dos end-of-lines PR#418 63d1dd3
- test: add tests for getBigDecimal of int4 field in both text and binary modes PR#426 faac288
- fix: fix invalid values when receiving int2, int4, int8 via getBigDecimal() PR#424 e6f1beb
John K. Harvey(1)
- fix: update translations to handle Russian characters PR#430 this hasn't been committed yet but the message class files were updated
Contributors to this release
We thank the following people for their contributions to this release.
John K Harvey
Andrea Catalucci
Laurenz Albe
Vladimir Sitnikov
Version 9.4-1205 (2015-11-03)
Chapman Flack (2):
Dave Cramer (10):
Michael Paquier (2):
Rikard Pavelic (1):
Vladimir Sitnikov (9):
- fix: avoid memory leak when redeploying pgjdbc PR#394 d7cab7b
- test: add {?= call mysum(?, ?)} kind of test for CallableStatement PR#410 45c8368
- perf: add BigDecimal test performance test to ProcessResultSet PR#411 6dc4183
- perf: optimize ResultSet.getObject PR#411 567e268
- perf: optimize getBigDecimal PR#411 33904ef
- test: add statement.getQueryTimeoutMs, so millisecond-scale timeouts can be tested PR#413 892d7af
- fix: statement.cancel and statement.setQueryTimeout should be thread-safe PR#412 bc3d848
- chore: print markdown links in release notes script PR#416 a5b8ea7
- chore: add .gitattributes to ensure automatic end-of-line storage of text files is used PR#417 254b739
Contributors to this release
We thank the following people for their contributions to this release.
Chapman Flack
Michael Paquier
Rikard Pavelic
Vladimir Sitnikov
Version 9.4-1204 (2015-10-09)
Alexey Mozhenin
- fix: Make sure copy manager completesPR #378 (7c420ed)
- test: update for CopyLargeFileTest test to fit into 10 minutes limit PR #378 (39cd851)
Dave Cramer
- fix: implemented getFunctions in jdbc4 (03483e1)
- fix: error in getFunctionColumns PR #376 (5fafb86)
- fix: filter DatabaseMetaData.getColumns by tables PR #386 (0c95126)
- fix: abort connections after IOException instead of close PR #392 (3e68a70)
Vladimir Sitnikov
- pref: improve executeBatch by avoiding statement-by-statement execution PR #380 (92a9f30)
- perf: improve setTimestamp, setTime, setDate performance PR #379 (5a03a6e)
- chore: update jmh, drop irrelevant benchmark Parser#unmarkDoubleQuestion PR #384 (0d1237c)
- chore: add more benchmarks, add missing FlightRecorderProfiler PR #385 (613a641)
- feat: ignore empty sub-queries in composite queries PR #386 (3fb8046)
- fix: binary processing of Date/Time/Timestamps PR #387 (5ec0ac3)
- test: add tests for parsing of empty queries separated by semicolons PR #388 (d9310ce)
- fix: ConcurrentModificationException when calling PreparedStatement.close from a concurrent thread PR #392 (40bcc01)
Contributors to this release
We thank the following people for their contributions to this release.
Alexey Mozhenin
Vladimir Sitnikov
Version 9.4-1203 (2015-09-17)
Author: Dave Cramer
- fix: Implemented getFunctions
- fix: changed getProcedureColumns to getFunctionColumns
- fix: CopyManager fails to copy a file, reading just part of the data #366
Author: Lonny Jacobson
- add: Added PGTime/PGTimestamp
Author: Patric Bechtel
- fix: setObject(int parameterIndex, Object x, int targetSqlType) as it will set scale of BigDecimal 'x' to 0 as default, resulting in rounded whole values (!). PR #353 (24312c6)
- fix: round to correct amount test: add test for BigDecimal rounding behaviour in setObject(index,Object,targetSqlType) and setObject(index,Object,targetSqlType,scale) PR #353 (ff14f62)
Contributors to this release
We thank the following people for their contributions to this release.
Lonny Jacobson
Patric Bechtel
Alexey Mozhenin
Version 9.4-1202 (2015-08-27)
Author: Alexis Meneses
- ResultSet positioning methods in some particular cases PR #296 (282536b)
Author: Craig Ringer
- Disable binary xfer on batches returning generated keys PR #273 (763ae84)
- Add a new test case demonstrating a bug in returning support PR #273 (4d2b046)
- Always Describe a query in a batch that returns generated keys PR #273 (a6bd36f)
Author: Dave Cramer
- chore: fix build.xml to allow releasing to maven PR #262 (34f9361)
- fix: BlobInputStream ignores constructor parameters #263 PR #273 (c1c6edc)
- don't reset forceBinary transfer if we setPreparedThreshold (937a11c)
- Revert "perf: Remove expensive finalize methods from Statement and Connection" PR #293 (a0d3997)
- updated copyright PR #312 (263375c)
- Revert "Issue 250 -- Adding setURL/getURL to BaseDataSource.java" PR #312 (a1ac380)
- fixed mailing list href PR #326 (c3e86a6)
- increment driver version PR #346 (b8ee75d)
Author: David R. Bild
- feat: add equality support to PSQLState PR #277 (7698cd9)
Author: David Schlosnagle
- Improve version checking PR #355 (f7a84db)
Author: Eugene Koontz
- Add support within "private Object buildArray (PgArrayList input, int index, int count)" for array elements whose type is jsonb PR #349 (d313138)
Author: Jeremy Whiting
- Added setter method for logging level. The method exactly matches property name in documentation. PR #282 (d9595d1)
- Added getter method. PR #282 (65759f0)
- Adding XML catalog to help unit tests not remote entity resolution. PR #284 (cb87067)
- Added support to locally resolve dtd or entity files. PR #284 (017970d)
- Disable verbose logging of the catalog resolver. PR #284 (fcc34f5)
Author: Kris Jurka
- Improve error message for failure to update multicolumn primary key RSs. PR #284 (05ff811)
- Remove all JDBC3 code as JDK 1.4/1.5 are no longer supported. PR #284 (f9a956b)
- Add preliminary support for JDBC4.2. PR #284 (bd05fd2)
Author: Lonny Jacobson
- Added setURL/getURL methods. (fcc8f75)
- Added a unit test for setURL PR #309 (5fa405b)
Author: Markus KARG
- perf: use shared PGBoolean instances PR #321 (159fed6)
- docs: parameter "database" is optional PR #332 (9a9d03f)
- refactor: binary transfer for setObject(int, Object, int) PR #351 (3ff2129)
Author: Michael Paquier
- Update entries in lib/.gitignore PR #262 (8cd15a9)
Author: Phillip Ross
- Fix for issue https://github.com/pgjdbc/pgjdbc/issues/342 - Modifications to PGline to store coefficients and constant value for linear equation representations used by postgresql for native line datatype. PR #343 (0565416)
- Fix for issue https://github.com/pgjdbc/pgjdbc/issues/342 - Removed extra copyright comments. PR #343 (5f21a18)
- Fix for issue https://github.com/pgjdbc/pgjdbc/issues/342 - Handle vertical lines. PR #343 (3918b24)
- Fix for issue https://github.com/pgjdbc/pgjdbc/issues/342 - Added test method for testing PGline PR #343 (1a50585)
- Fix for issue https://github.com/pgjdbc/pgjdbc/issues/342 - Modifications to PGline test method to only attempt database access if the postgresql version supports it (v9.4+). PR #343 (15eedb5)
Author: Rikard Pavelic
- feat: Improved composite/array type support and type naming changes. PR #333 (cddcd18)
Author: Robert J. Macomber
- Deadlock after IO exception during copy cancel PR #363 (d535c13)
Author: Sehrope Sarkuni
- style: clean up newline whitespace PR #273 (1b77b4c)
- style: clean up whitespace in .travis.yml PR #274 (3ee5bbf)
- fix: correct incorrect PG database version in .travis.yml matrix PR #274 (74b88c6)
- style: reorder jdk versions in .travis.yml PR #274 (21289e7)
- feat: add PostgreSQL 9.4 to .travis.yml matrix PR #274 (9e94f35)
- feat: add escapeLiteral(...) and escapeIdentifier(...) to PGConnection PR #275 (096241f)
Author: Stephen Nelson
- Replace for loops with Java 5-style for loops. Replace String.indexOf with String.contains. Replace StringBuffer with StringBuilder. Remove boxing/unboxing of primitives. PR #245 (206a542)
Author: Vladimir Gordiychuk
- feat: Customize default fetchSize for statements PR #287 (093a4bc)
- feat: Customize default fetchSize for statements PR #287 (519bfe1)
- perf: Read test only property "org.postgresql.forceBinary" spend many time when creating statements PR #291 (e185a48)
Author: Vladimir Sitnikov
- perf: Remove expensive finalize method from Statement Finalize method on Statement is moved to a separate class that is lazily created if user sets "autoCloseUnclosedConnections"="true". This dramatically improves performance of statement instantiation and reduces garbage collection overhead on several wildly used JMVs. PR #290 (eb83210)
- docs: fix misleading statement on "can't use jdk5 features" in README.md PR #298 (5b91aed)
- feat: implement micro-benchmark module for performance testing PR #297 (48b79a3)
- feat: add benchmark for Parser.unmarkDoubleQuestion PR #297 (e5a7e4e)
- feat: improve sql parsing performance PR #301 (fdd9249)
- perf: Remove AbstractJdbc2Statement.finalize() PR #299 (b3a2f80)
- test: add test for prepare-fetch-execute performance PR #303 (d23306c)
- perf: improve performance of preparing statements PR #303 (7c0655b)
- test: add test for utf8-encoder performance PR #307 (6345ab1)
- perf: improve performance of UTF-8 encoding PR #307 (f2c175f)
- perf: skip instantiation of testReturn and functionReturnType for non-callable statements PR #323 (8eacd06)
- perf: parse SQL to a single string, not a array of fragments PR #319 (4797114)
- perf: cache parsed statement across .prepareStatement calls PR #319 (5642abc)
- refactor: cleanup constructors of JDBC4 and JDBC42 connections/statements PR #318 (a4789c0)
- refactor: use Dequeue<...> instead of raw ArrayList in v3.QueryExecutorImpl PR #314 (787d775)
- perf: SimpleParameterList.flags int[] -> byte[] PR #325 (f5bceda)
- perf: cut new byte[1] from QueryExecutorImpl.receiveCommandStatus PR #326 (0ae1968)
- perf: avoid useBinary(field) check for each sendBind PR #324 (45269b8)
- refactor: cleanup Parser and NativeQuery after #311 PR #346 (a1029df)
- refactor: cleanup Parser and CallableQueryKey after #319 PR #346 (5ec7dea)
- perf: skip caching of very large queries to prevent statement cache pollution PR #346 (126b60c)
- use current_schema() for Connection#getSchema PR #356 (ffda429)
- chore: simple script to compose release notes PR #357 (341ff8e)
- chore: teach release_notes.sh to identify PR ids out of merge commits PR #358 (f3214b1)
Contributors to this release
We thank the following people for their contributions to this release.
Alexis Meneses
Craig Ringer
Jeremy Whiting
Sehrope Sarkuni
Mikko Tiihonen
Dave Cramer
Stephen Nelson
Vladimir Gordiychuk
Vladimir Sitnikov
David Schlosnagle
Eugene Koontz
Markus KARG
Phillip Ross
Rikard Pavelic
Robert J. Macomber
Michael Paquier
Lonny Jacobson
Kris Jurka
David R. Bild
Other committers
Version 9.4-1201 (2015-02-25)
Author: Alexis Meneses
- Do not pull a concrete implementation of slf4j in maven pom. Fixes #251 PR #252 (6c2848c)
- Declare all maven dependencies as optional in the pom PR #252 (1d02876)
- Automatically load maven-ant-tasks to remove the need of "-lib lib" when building the project using ant PR #253 (7e80fca)
- ant clean target delete maven dependencies added into "lib" directory PR #253 (cb7964e)
- travis uses build process simplification PR #253 (e09032c)
- regression of
ssl
parameter processing when used in additional Properties PR #260 (33d55af)
Author: Dave Cramer<EMAIL_ADDRESS>- Make junit optional in the pom PR #254 (9530047)
- Added commit message readme PR #255 (c6312eb)
- setUrl method of BaseDataSource. fixes issue #258 PR #358 (52a8d91)
Mikko Tiihonen (1):
- setUrl method of BaseDataSource. Add test to make sure it does not break again PR #257 (477c7c8)
Contributors to this release
We thank the following people for their contributions to this release.
Alexis Meneses
Sehrope Sarkuni
Mikko Tiihonen
Dave Cramer
Other committers
Version 9.4-1200 (2015-01-02)
Author: Alexis Meneses
- Support for setBinaryStream with unknown length PR #220
- Improved support for BLOBS PR #219
- Added the support for very large objects (4TB) when backend is at least 9.3 using lo_xxx64 functions (see release 9.3 notes).
- Added support for various JDBC4 methods related to Blobs:
- setBlob with input stream in PreparedStatement
- getBinaryStream with position and offset in Blob (also helps a lot handling very large objects)
- Fix for setStringType in DataSource PR #221
- Set search path in startup packet PR #216
- Connection.isValid() should have no impact on transaction state PR #218 fixes issue #214
- Replace StringBuffer with StringBuilder for performance PR #243
- Make Pgjdbc an OSGi bundle PR #241
- Fixing the Travis-CI integration
Author: Sehrope Sarkuni
- Fix Timer thread classloader leak PR #197
- Escape search_path in Connection.setSchema PR #207
- Add SSL factory SingleCertValidatingFactory PR #88
- Speed up connection creation on 9.0+ PR #144
Author: Mikko Tiihonen
- Enhance connection fail-over with master/slave restriction and loadbalancing PR #209 Based on work by<EMAIL_ADDRESS>Author: Minglei Tu
- add ?-contained operator support PR#227
Author: Martin Simka
- GSS: fall back to old authentication when Subject doesn't contain instance of GssCredentials PR#228
- gssapi: Re-use existing Subject and GssCredentials PR#201
Author: bryonv
- Honor stringtype=unspecified when also saving null values
- Currently, saving a string with setString applies oid.UNSPECIFIED, but saving null with setNull(index, java.sql.Types.VARCHAR) saves with oid.VARCHAR.
- For consistency, if the user requested that we treat string types as unspecified, we should do so in all cases.
Author: Craig Ringer
- Add native SSPI authentication support on Windows using JNA via Waffle PR #212
- Add limited support for returning generated columns in batches PR #204. Fixes issues #194 and #195
Contributors to this release
We thank the following people for their contributions to this release.
Alexis Meneses
Sehrope Sarkuni
Minglei Tu
Martin Simka
Mikko Tiihonen
bryonv
Craig Ringer<EMAIL_ADDRESS>Dave Cramer<EMAIL_ADDRESS>Other committers
Version 9.3-1103 (2015-01-02)
Author: Ancoron<EMAIL_ADDRESS>Backport PGXAConnection.equals() fix from master
Author: Ancoron<EMAIL_ADDRESS>Fix connection URL generation for 'stringtype' parameter in BaseDataSource
Author: Heikki Linnakangas<EMAIL_ADDRESS>Fix equals-method of the wrapper returned by PGXAConnection.getConnection()
Patch by Florent Guillaume
Author: Alexis Meneses<EMAIL_ADDRESS>Fixes on get/set/current-schema (9.3 branch)
Author: Alexis Meneses<EMAIL_ADDRESS>Add a TestSuite for JDBC 4.1
Author: Alexis Meneses<EMAIL_ADDRESS>Unescape/unquote result of getSchema
Author: Alexis Meneses<EMAIL_ADDRESS>Setting the search_path from currentSchema property is done in startup packet (v3 protocol only)
Author: Alexis Meneses<EMAIL_ADDRESS>Add tests for schema name containing special characters
Author: Alexis Meneses<EMAIL_ADDRESS>Escape schema name when setting search_path
Author: Damiano Albani<EMAIL_ADDRESS>Add support for "currentSchema" connection property.
Author: Dave Cramer<EMAIL_ADDRESS>Fixed timezone test as per Tom Lane's suggestion. …
Now using Europe/Helsinki as the exemplar.
Author: Dave Cramer<EMAIL_ADDRESS>Clob will now use the connection encoding
pull #121 from brekka/clob_encoding
Author: Dave Cramer<EMAIL_ADDRESS>backpatched Statement.isClosed() implementation of PGPoolingDataSource with some performance improvements. #180
Author: nicolas-f<EMAIL_ADDRESS>Implement hashcode in PGObject 9.3
Handle null value
Author: Dave Cramer<EMAIL_ADDRESS>Date: Mon Aug 18 12:30:48 2014 +0000
NPE fix in org.postgresql.Driver.getPropertyInfo #176 \
from Sergey Ignatov
Version 9.3-1102 (2014-07-10)
Author:epgrubmair bug #161
fix copyOut close hanging bug #161 from epgrubmair
Author:romank0
backpatch exception during close of fully read stream from romank0
Author:Christophe Canovas
Added caching for ResultSetMetaData complete commit
Author:Elizabeth Chatman
NullPointerException in AbstractJdbc2DatabaseMetaData.getUDTs
setNull, setString, setObject may fail if a specified type cannot be transferred in a binary mode #151
backpatch fix for changing datestyle before copy
Author:TomonariKatsumata
binary transfer fixes new feature -1 for forceBinaryTransfer
Author:Sergey Chernov
connectTimeout property support backpatch
Author:Naoya Anzai
fix prepared statement ERROR due to EMPTY_QUERY defined as static.
Version 9.3-1101 (2014-02-14)
Author:Jeremy Whiting<EMAIL_ADDRESS>Added feature to disable column name sanitiser with a new property.
disableColumnSanitiser= boolean
remove toLower calls for performance
Author:Craig Ringer<EMAIL_ADDRESS>Add a MainClass that tells the user they can't just run the JDBC driver
After one too many reports of
"Failed to load Main-Class manifest attribute from postgresql-xxx.jar"
I'm submitting a dummy main-class that tells the user what they should
do instead.
The message looks like:
------------
PostgreSQL x.y JDBC4.1 (build bbbb)
Found in: jar:file:/path/to/postgresql-x.y-bbbb.jdbc41.jar!/org/postgresql/Driver.class
The PgJDBC driver is not an executable Java program.
You must install it according to the JDBC driver installation instructions for your application / container / appserver, then use it by specifying a JDBC URL of the form
jdbc:postgresql://
or using an application specific method.
See the PgJDBC documentation: http://jdbc.postgresql.org/documentation/head/index.html
This command has had no effect.
------------
fixed bug PreparedStatement.getMetaData failed if result set was closed
reported by Emmanuel Guiton
Author: cchantep<EMAIL_ADDRESS>Date: Thu Dec 12 15:54:55 2013 +0100
Base table more useful than "" as basic table name
fixed driver fails to find foreign tables fix from<EMAIL_ADDRESS>Author: Heikki Linnakangas<EMAIL_ADDRESS>Fix various setQueryTimeout bugs.
1. If you call setQueryTimeout(5), wait 10 seconds, and call execute(), the
cancel timer has already expired, and the statement will be allowed to run
forever. Likewise, if you call setQueryTimeout(5), wait 4 seconds, and call
execute(), the statement will be canceled after only 1 second.
2. If you call setQueryTimeout on a PreparedStatement, and execute the same
statement several times, the timeout only takes affect on the first
statement.
3. If you call setQueryTimeout on one Statement, but don't execute it, the
timer will still fire, possible on an unrelated victim Statement.
The root cause of all of these bugs was that the timer was started at the
setQueryTimeout() call, not on the execute() call.
Also, remove the finally-block from the cancellation task's run-method,
because that might erroneously cancel the timer for the next query, if a
new query is started using the same statement fast enough.
Author: Heikki Linnakangas<EMAIL_ADDRESS>Use StringBuffer to construct a string.
This piece of code isn't performance-critical at all, but silences a
Coverity complaint.
Author: Heikki Linnakangas<EMAIL_ADDRESS>Avoid integer overflow.
The function returns long, but does the calculation first in int. If someone
sets the timeout to 600 hours in the URL, it will overflow, even though the
return value of the function is long and hence could return a larger value.
To silence a Coverity complaint.
Author: Heikki Linnakangas<EMAIL_ADDRESS>Plug some Statement leaks in metadata queries.
These are fairly harmless, nobody calls these metadata methods frequently
enough for the leaks to matter, and a regular Statement doesn't hold onto
any server resources anyway. But let's appease Coverity.
Author: Heikki Linnakangas<EMAIL_ADDRESS>Make sure file is closed on exception.
The system will eventually close the file anyway, and this read is highly
unlikely to throw an IOException in practice.
Also, use RandomAccessFile.readFully(byte[]) to slurp the file into byte
array, rather than FileInputStream.read(byte[]). The latter would need to
be called in a loop to protect from short reads.
Both issues were complained of by Coverity.
Author: Stephen Nelson<EMAIL_ADDRESS>Generate a non-Maven JAR filename using build-time version and JDBC API level.
Author: Stephen Nelson<EMAIL_ADDRESS>Build script changes to allow packaging and deployment to Maven central using maven-ant-tasks
Updated build.properties to contain the sonatype urls. Updated build.xml so that gpg signing works for each accompanying artifact type. Updated pom.xml to allow templated group and artifact ids.
Author: Craig Ringer<EMAIL_ADDRESS>NonValidatingFactory should be included in both JDBC3 and JDBC4
Author: Michael McCaskill<EMAIL_ADDRESS>Use proper System property
Using 'path.separator' results in malformed paths such as:
/default/dir:./postgresql/root.crt
This corrects the problem.
Author: Dave Cramer<EMAIL_ADDRESS>reset interrupted bit and throw unchecked exception if we get interrupted while trying to connect
Author: Dave Cramer<EMAIL_ADDRESS>add functions to allow LargeObjectMaager to commit on close from Marc Cousin
Author: tminglei<EMAIL_ADDRESS>add uuid array support (rename ArrayElementBuilder to ArrayAssistant)
Author: Nick White<EMAIL_ADDRESS>allow the first query to be binary
Author: Dave Cramer<EMAIL_ADDRESS>Merge pull request #107 from cchantep/rs-basic-tblname
Basic table name for resultset metadata
Author: Dave Cramer<EMAIL_ADDRESS>fixed bug PreparedStatement.getMetaData failed if result set was closed
reported by Emmanuel Guiton #bugfix#
Version 9.3-1100 (2013-11-01)
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Oct 17 08:29:07 2013 -0400
reset interrupted bit and throw unchecked exception if we get interrupted while trying to connect
Author: Dave Cramer<EMAIL_ADDRESS>Date: Tue Oct 15 06:51:45 2013 -0400
add functions to allow LargeObjectMaager to commit on close from Marc Cousin
Author: halset<EMAIL_ADDRESS>Date: Mon Sep 9 12:12:26 2013 +0200
fix for setBlob with large blob
Author: Dave Cramer<EMAIL_ADDRESS>Date: Tue Sep 10 09:00:37 2013 -0400
fixed DatabaseMetaDataTest as per Sylvain Cuaz
Author: Dave Cramer<EMAIL_ADDRESS>Date: Mon Jul 29 09:43:20 2013 -0400
fixed sort order for DatabaseMetaData
Author: Dave Cramer<EMAIL_ADDRESS>Date: Sun Jul 21 13:18:26 2013 +0000
backpatched canceltimer bug reported by Andri-Redko
Author: Dave Cramer<EMAIL_ADDRESS>Date: Wed May 22 04:03:58 2013 -0700
Merge pull request #60 from davecramer/REL9_2_STABLE
backpatch BaseDataSource
Author: Dave Cramer<EMAIL_ADDRESS>Date: Tue May 21 21:03:21 2013 -0400
check for null before appending to url
Author: Dave Cramer<EMAIL_ADDRESS>Date: Tue May 21 20:23:00 2013 -0400
initialize binaryTranferEnable to null
Author: Dave Cramer<EMAIL_ADDRESS>Date: Tue May 21 20:08:27 2013 -0400
fixed tcpkeepalive as per Rui Zhu
pass stringtype on to url through properties from Mike O'Toole
Author: Dave Cramer<EMAIL_ADDRESS>Date: Wed Feb 20 06:58:59 2013 -0500
avoid NullPointerException from Derrik Hudson on User Defined Types
Author: Kris Jurka<EMAIL_ADDRESS>Date: Tue Mar 26 05:33:45 2013 -0700
Lookup correct array delimiter in Connection.createArrayOf.
The old code had hardcoded a comma, but that's not true for all
datatypes.
Identification and fix by sumo in pull request #49, testcase by me.
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Nov 1 11:24:34 2012 -0400
fix toString to handle binary integer and float types
Author: Dave Cramer<EMAIL_ADDRESS>Date: Wed Oct 31 10:23:23 2012 -0400
Fix performance regression introduced by using InetSocketAddress.getHostName()
Patch provided by Scott Harrington, improved upon by Kris Jurka
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Oct 18 07:44:06 2012 -0400
removed testSetObjectFromJavaArray out of jdbc2 tests
Author: Dave Cramer<EMAIL_ADDRESS>Date: Wed Oct 17 14:22:03 2012 -0400
added BR translation class file
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Sep 27 09:38:25 2012 -0400
fixed missing isValid function
Author: Dave Cramer<EMAIL_ADDRESS>Date: Fri Sep 21 14:58:00 2012 -0400
fixed attacl for servers below 8.3
Author: Craig Ringer<EMAIL_ADDRESS>Date: Thu Sep 20 17:51:39 2012 +0800
Add some info to the README with contributor info
Discuss:
- Bug reporting
- Submitting patches
- Test matrix
- GitHub
Author: Craig Ringer<EMAIL_ADDRESS>Date: Thu Sep 20 13:47:26 2012 +0800
Update URLs in README to refer to the Oracle page locations
Oracle has been doing a very poor job of maintaining old SUN URLs,
and it's likely that these will break at some point, so best update
them to reflect Oracle's control of Java now.
Added a link to the JDBC tutorial in the process.
Author: Craig Ringer<EMAIL_ADDRESS>Date: Thu Sep 20 14:02:18 2012 +0800
Allow testing to continue when local host name doesn't resolve
It seems to be a common and default configuration on some Linux systems
for the local hostname not to resolve to the loopback IP address. This
causes testTimeoutOccurs(org.postgresql.test.jdbc2.LoginTimeoutTest)
to fail. I'm seeing this on Fedora 17 among others.
While it's best to fix such systems, not causing an easily avoided
and spurious failure in PgJDBC's test suite is probably worthwhile.
Spit out a warning and continue.
Author: Dave Cramer<EMAIL_ADDRESS>Date: Fri Aug 24 14:24:31 2012 -0400
Fixed build to not delete pgjdbc.html, which breaks the website build
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Sep 13 07:48:52 2012 -0400
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Sep 13 07:43:40 2012 -0400
Added explicit test case for array handling from Craig Ringer
Author: Dave Cramer<EMAIL_ADDRESS>Date: Thu Sep 13 07:46:55 2012 -0400
added docs for send/recv buffer size
Author: Dave Cramer<EMAIL_ADDRESS>Date: Wed Sep 12 05:11:02 2012 -0400
added test case for send/recv buffers sizes