Open
Conversation
29ed324 to
c463267
Compare
2b7e4fe to
daec80f
Compare
Enable thread safety in static OpenSSL build
Update postgres and openssl
They seem to be no longer necessary.
Remove workarounds for PostgreSQL static build
which is much faster
The only user of the path to the data directory was test cases which need to access to client ceritificate CA file, so expose that instead.
These global variables only made the code less clear and they were not used anywhere else so jsut inline the values.
The new structure groups similar things so it is easier to understand what is going on.
The mnemoization only made the code harder to understand and was broken anyway on machines where pg_config is not in the current path.
Improve readbaility of the code by splitting it into multiple functions, one for initializing the PostgreSQL cluster and another for starting the database server.
To make tests a little bit faster, as proposed in #689. And fix indention by the way.
```
compiling ../../../../ext/pg_copy_coder.c
../../../../ext/pg_copy_coder.c:721:41: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (12 chars into 11 available) [-Wunterminated-string-initialization]
721 | static const char BinarySignature[11] = "PGCOPY\n\377\r\n\0";
| ^~~~~~~~~~~~~~~~~~~~
```
The OpenSSL default is to add a arch dependent suffix to the path, but this can be disabled per configure option.
Use a "lib" directory for openssl without arch
They were just for performance testing, but they have the same speed as :symbol.
If the pg_ctl binary was not in the path we would fail to stop the running database clusters so let's use our helper for getting the path to the binary. To keep the code simple we also move the stopping of the existing cluster to the code which starts it since that is only where we, at least currently, knows the path the the binaries.
Fix stopping of old test cluster when pg_ctl is not in the path
PostgreSQL 18 added PQfullProtocolVersion() which return the full protocol version used including the minor version, e.g. 3.0 or 3.2 rather than just 3. The new methods PG::Connection#full_protocol_version returns the version as major version * 10000 + minor version, e.g. 30002 for version 3.2.
We never use this feature so it is just dead code and if we would ever want to do it it would be trivial to code.
This command line argument was most likely leftover debug code.
Add method for getting the full protocol version
Add PG::Result#each_tuple
Remove :static_symbol result field names
Minor spec helper cleanup
The headers of libpq already give us nice defines for almost all features we want to support based when available so let's just trust libpq-fe.h to simplify our code. The only exception is PQresultMemorySize() which we need to check for manually since it was added in PostgreSQL 12, before libq-fe.h started adding defines for new features.
Trust libpq-fe.h's defines over probing in extconf.rb
CI: Fix appveyor jobs
That code was introduced 13 years ago. I think it can be removed now, since this was an issue in an old ruby version. If the rpath is configured in ruby, then dir_config will use it, otherwise it shouldn't. Fixes #183
Remove enforced rpath addition when no rpath is configured
The documentation says that this is necessary: https://github.com/ruby/ruby/blob/86049a98754507a480e657274b4d38b07c46e6ea/include/ruby/internal/gc.h#L397 Also use the more descriptive alias function rb_gc_register_address instead of rb_global_variable.
Move VALUE address registration to before assignment
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )