Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Merge release/42.2 into main #2264

Closed
wants to merge 87 commits into from
Closed

Conversation

jorsol
Copy link
Member

@jorsol jorsol commented Sep 27, 2021

This is just a test merging release/42.2 into main to see differences.

vlsi and others added 30 commits August 28, 2020 22:40
…e, PGline, PGlseg, PGpath, PGpoint, PGpolygon, and PGmoney

1) PGobject.setValue(null) can be used to set the wrapped value to null
Note: previously the sub-classes of PGobject threw NPE for setValue(null)
2) Return null from `getValue` in case the typed null is received from the database
3) Assume PGBinaryObject#lengthInBytes == 0 means the value should be set as null when sending data to the database

see pgjdbc#1870
Removal of LibPQFactory annotations was not done right
…s 42.2.14 and earlier

enum[] => String[]
jsonb[] => String[]
json[] => PGobject[]

fixes pgjdbc#1876
* fix: avoid removal type annotations on "this" so the source archive is buildable

"this" type annotations are Java 8+, so we no longer need to remove them.

* fix: PgTokenizer was ignoring last empty token (pgjdbc#1882)

* fix: PgTokenizer was ignoring last empty token fixes pgjdbc#1881

* fix: handle smallserial correctly fixes pgjdbc#1897 (pgjdbc#1899)

* feat: add smallserial metadata (pgjdbc#899)

PostgreSQL 9.2 adds a SMALLSERIAL data type, this reports the correct metadata information when a column is a smallserial (int2 with sequence), similar to how a serial or bigserial data types are reported.

* fix:remove osgi from karaf fixes Issue pgjdbc#1891 (pgjdbc#1902)

* Change default of gssEncMode to ALLOW. PostgreSQL can deal with PREFER but there are cloud providers that did not implement the protocol properly. Using PREFER seems to cause more problems than it solves

Co-authored-by: Vladimir Sitnikov <sitnikov.vladimir@gmail.com>
Co-authored-by: Jorge Solorzano <jorsol@gmail.com>
* fix: avoid removal type annotations on "this" so the source archive is buildable

"this" type annotations are Java 8+, so we no longer need to remove them.

* fix: PgTokenizer was ignoring last empty token (pgjdbc#1882)


* feat: add smallserial metadata (pgjdbc#899)

PostgreSQL 9.2 adds a SMALLSERIAL data type, this reports the correct metadata information when a column is a smallserial (int2 with sequence), similar to how a serial or bigserial data types are reported.

* fix:remove osgi from karaf fixes Issue pgjdbc#1891 (pgjdbc#1902)

* Change default of gssEncMode to ALLOW. PostgreSQL can deal with PREFER but there are cloud providers that did not implement the protocol properly

* update CHANGELOG and posts for 42.2.17

* fix up CHANGELOG

* Update README, gssEncMode for release

Co-authored-by: Vladimir Sitnikov <sitnikov.vladimir@gmail.com>
Co-authored-by: Jorge Solorzano <jorsol@gmail.com>
javadoc can be built with mvn -Pjavadoc ...
This dependency is no longer needed for package build
…are not enabled by default

pgjdbc#1637 made it impossible to activate binary transfer for the types except the default ones.
…e version

Due to issue checkstyle/checkstyle#5711 some violations in the Javadoc were not reported.
This PR is to pass validation with the new Checkstyle version.
…sion

Due to issue checkstyle/checkstyle#5711 some violations in the Javadoc were not reported.
This PR is to pass validation with the new Checkstyle version.
…ties

Previously TestUtil always overwrited gssEncMode.
…ad client certificates

Java 11 does not drain input stream completely during the handshake,
so alert("bad client certificate") is not received until pgjdbc sends
the startup message, which is too late.

So we allow a generic CONNECTION_UNABLE_TO_CONNECT code for "bad client certificate"
case.
Typical usages are changeSocket(createSocket()), so changeSocket
should not be called from createSocket().
@jorsol jorsol force-pushed the master-merge branch 4 times, most recently from 29d983a to 28bef6d Compare September 28, 2021 03:03
@jorsol
Copy link
Member Author

jorsol commented Sep 28, 2021

Ok, now it should be easier to review the changes, I have merged some fixes for the documentation that was on release/42.2 but not in main to facilitate the process.

Now comparing the changes should be straightforward, I cross my fingers to not have messed up with some conflicts as having two parallel branches really makes things harder to maintain, in the future, all the changes should go to the main branch first, and only then, make a backport to an older branch.

To recap, this PR merges all the changes from release/42.2 into the master branch with a best-effort of fixing the merge conflicts so we could iterate over this or simply drop it and start fresh.

@davecramer
Copy link
Member

OK, so can you break up these changes into different PR's and we can start pushing them into main? I'd say make the docs one change. Then logically break up the changes as they occurred in the PR's on release/42.2. Thanks very much for doing this!

@jorsol
Copy link
Member Author

jorsol commented Sep 28, 2021

OK, so can you break up these changes into different PR's and we can start pushing them into main? I'd say make the docs one change. Then logically break up the changes as they occurred in the PR's on release/42.2. Thanks very much for doing this!

Sure, I will break up this into different PR's as time allows me, there is a commit for geometric types that could also be a different PR and make this more manageable.

@jorsol jorsol force-pushed the master-merge branch 3 times, most recently from 52e60d6 to 0170286 Compare September 29, 2021 03:09
@jorsol
Copy link
Member Author

jorsol commented Sep 29, 2021

Update: the documentation, readme, and changelog are now updated on main, also cherry-picked the fix to avoid null in geometric types, probably

Now it looks like this PR is more manageable and could give an overview of changes in release/42.2 that are not in main, probably I will have to redo this PR as there are some unintended changes, and double-check the conflicts but I see some progress.

@jorsol jorsol force-pushed the master-merge branch 3 times, most recently from 1a3c73a to 361da49 Compare October 3, 2021 22:05
Signed-off-by: Jorge Solórzano <jorsol@gmail.com>
@davecramer
Copy link
Member

@jorsol I think I have committed pretty much all the changes. Can you rebase this and see if anything is left ?
@sehrope thoughts ?

I'd really, really like to release 43.0.0

@jorsol
Copy link
Member Author

jorsol commented Oct 11, 2021

@jorsol I think I have committed pretty much all the changes. Can you rebase this and see if anything is left ?
@sehrope thoughts ?

I'd really, really like to release 43.0.0

Sure, I can rebase it, but give me until tomorrow.

@davecramer
Copy link
Member

sure, no problem,

@sehrope
Copy link
Member

sehrope commented Oct 12, 2021

This looks great. I scanned through a diff of this as release/42.2 and I don't see anything missing.

@davecramer
Copy link
Member

I have to take another run through the changelog, but then I'd like to release it.

@jorsol jorsol force-pushed the master-merge branch 2 times, most recently from 2a4b7ef to c15e553 Compare October 12, 2021 18:51
@jorsol
Copy link
Member Author

jorsol commented Oct 12, 2021

Ok, so far it looks like the changes that remain are mostly cosmetic, closing this now as everything should be in place, as usual, it's probably a good idea to test what is in main and that there are no major regressions or issues.

@jorsol jorsol closed this Oct 12, 2021
@davecramer
Copy link
Member

@jorsol Thanks so much for doing this. It really helped!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet