pg 1.5.9-x86-mingw32 → 1.6.0.rc2-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/{History.md → CHANGELOG.md} +54 -0
  4. data/Gemfile +7 -4
  5. data/README-Windows.rdoc +1 -1
  6. data/README.ja.md +4 -4
  7. data/README.md +6 -5
  8. data/Rakefile +80 -13
  9. data/ext/extconf.rb +158 -14
  10. data/ext/gvl_wrappers.c +13 -2
  11. data/ext/gvl_wrappers.h +33 -0
  12. data/ext/pg.c +16 -5
  13. data/ext/pg.h +9 -9
  14. data/ext/pg_binary_decoder.c +150 -0
  15. data/ext/pg_binary_encoder.c +210 -7
  16. data/ext/pg_cancel_connection.c +360 -0
  17. data/ext/pg_coder.c +52 -5
  18. data/ext/pg_connection.c +368 -158
  19. data/ext/pg_copy_coder.c +2 -2
  20. data/ext/pg_record_coder.c +1 -1
  21. data/ext/pg_result.c +9 -11
  22. data/ext/pg_text_encoder.c +20 -7
  23. data/ext/pg_tuple.c +2 -2
  24. data/ext/pg_type_map.c +1 -1
  25. data/ext/pg_type_map_all_strings.c +1 -1
  26. data/ext/pg_type_map_by_class.c +1 -1
  27. data/ext/pg_type_map_by_column.c +2 -1
  28. data/ext/pg_type_map_by_mri_type.c +1 -1
  29. data/ext/pg_type_map_by_oid.c +3 -1
  30. data/ext/pg_type_map_in_ruby.c +1 -1
  31. data/lib/2.7/pg_ext.so +0 -0
  32. data/lib/3.0/pg_ext.so +0 -0
  33. data/lib/3.1/pg_ext.so +0 -0
  34. data/lib/3.2/pg_ext.so +0 -0
  35. data/lib/3.3/pg_ext.so +0 -0
  36. data/lib/3.4/pg_ext.so +0 -0
  37. data/lib/pg/basic_type_map_for_queries.rb +7 -3
  38. data/lib/pg/basic_type_registry.rb +2 -2
  39. data/lib/pg/cancel_connection.rb +53 -0
  40. data/lib/pg/coder.rb +2 -1
  41. data/lib/pg/connection.rb +252 -131
  42. data/lib/pg/version.rb +1 -1
  43. data/lib/pg.rb +13 -8
  44. data/misc/yugabyte/Dockerfile +9 -0
  45. data/misc/yugabyte/docker-compose.yml +28 -0
  46. data/misc/yugabyte/pg-test.rb +45 -0
  47. data/pg.gemspec +5 -3
  48. data/ports/patches/krb5/1.21.3/0001-Allow-static-linking-krb5-library.patch +30 -0
  49. data/ports/patches/openssl/3.5.1/0001-aarch64-mingw.patch +21 -0
  50. data/ports/patches/postgresql/17.5/0001-Use-workaround-of-__builtin_setjmp-only-on-MINGW-on-.patch +42 -0
  51. data/ports/patches/postgresql/17.5/0001-libpq-Process-buffered-SSL-read-bytes-to-support-rec.patch +52 -0
  52. data/{lib/x86-mingw32 → ports/x86-mingw32/lib}/libpq.dll +0 -0
  53. data/rakelib/pg_gem_helper.rb +64 -0
  54. data.tar.gz.sig +0 -0
  55. metadata +35 -28
  56. metadata.gz.sig +0 -0
  57. data/Manifest.txt +0 -72
  58. data/Rakefile.cross +0 -303
  59. data/lib/2.5/pg_ext.so +0 -0
  60. data/lib/2.6/pg_ext.so +0 -0
@@ -0,0 +1,21 @@
1
+ --- a/Configurations/10-main.conf
2
+ +++ b/Configurations/10-main.conf
3
+ @@ -1603,6 +1603,18 @@
4
+ multilib => "64",
5
+ },
6
+
7
+ + "mingwarm64" => {
8
+ + inherit_from => [ "mingw-common" ],
9
+ + cflags => "",
10
+ + sys_id => "MINGWARM64",
11
+ + bn_ops => add("SIXTY_FOUR_BIT"),
12
+ + asm_arch => 'aarch64',
13
+ + uplink_arch => 'armv8',
14
+ + perlasm_scheme => "win64",
15
+ + shared_rcflag => "",
16
+ + multilib => "-arm64",
17
+ + },
18
+ +
19
+ #### UEFI
20
+ "UEFI" => {
21
+ inherit_from => [ "BASE_unix" ],
@@ -0,0 +1,42 @@
1
+ From 746e8e250b265c40d9706f26560e02e8623f123f Mon Sep 17 00:00:00 2001
2
+ From: Lars Kanis <lars@greiz-reinsdorf.de>
3
+ Date: Fri, 31 Jan 2025 21:58:00 +0100
4
+ Subject: [PATCH] Use workaround of __builtin_setjmp only on MINGW on MSVCRT
5
+
6
+ Because it is not present on ARM64 on Windows and not necessary on any UCRT based toolchain.
7
+ ---
8
+ src/include/c.h | 10 +++++-----
9
+ 1 file changed, 5 insertions(+), 5 deletions(-)
10
+
11
+ diff --git a/src/include/c.h b/src/include/c.h
12
+ index a14c631516..33792c860c 100644
13
+ --- a/src/include/c.h
14
+ +++ b/src/include/c.h
15
+ @@ -1312,19 +1312,19 @@ extern int fdatasync(int fildes);
16
+ /*
17
+ * When there is no sigsetjmp, its functionality is provided by plain
18
+ * setjmp. We now support the case only on Windows. However, it seems
19
+ - * that MinGW-64 has some longstanding issues in its setjmp support,
20
+ - * so on that toolchain we cheat and use gcc's builtins.
21
+ + * that MinGW-64 on x86_64 has some longstanding issues in its setjmp
22
+ + * support, so on that toolchain we cheat and use gcc's builtins.
23
+ */
24
+ #ifdef WIN32
25
+ -#ifdef __MINGW64__
26
+ +#if defined(__MINGW64__) && !defined(_UCRT)
27
+ typedef intptr_t sigjmp_buf[5];
28
+ #define sigsetjmp(x,y) __builtin_setjmp(x)
29
+ #define siglongjmp __builtin_longjmp
30
+ -#else /* !__MINGW64__ */
31
+ +#else /* !defined(__MINGW64__) || defined(_UCRT) */
32
+ #define sigjmp_buf jmp_buf
33
+ #define sigsetjmp(x,y) setjmp(x)
34
+ #define siglongjmp longjmp
35
+ -#endif /* __MINGW64__ */
36
+ +#endif /* defined(__MINGW64__) && !defined(_UCRT) */
37
+ #endif /* WIN32 */
38
+
39
+ /* /port compatibility functions */
40
+ --
41
+ 2.43.0
42
+
@@ -0,0 +1,52 @@
1
+ From ab793829a4ce473f1cc2bbc0e2a6f6753553255d Mon Sep 17 00:00:00 2001
2
+ From: Lars Kanis <lars@greiz-reinsdorf.de>
3
+ Date: Sun, 8 Sep 2024 13:59:05 +0200
4
+ Subject: [PATCH] libpq: Process buffered SSL read bytes to support records
5
+ >8kB on async API
6
+
7
+ The async API of libpq doesn't support SSL record sizes >8kB so far.
8
+ This size isn't exceeded by vanilla PostgreSQL, but by other products using
9
+ the postgres wire protocol 3.
10
+ PQconsumeInput() reads all data readable from the socket, so that the read
11
+ condition is cleared.
12
+ But it doesn't process all the data that is pending on the SSL layer.
13
+ Also a subsequent call to PQisBusy() doesn't process it, so that the client
14
+ is triggered to wait for more readable data on the socket.
15
+ But this never arrives, so that the connection blocks infinitely.
16
+
17
+ To fix this issue call pqReadData() repeatedly until there is no buffered
18
+ SSL data left to be read.
19
+
20
+ The synchronous libpq API isn't affected, since it supports arbitrary SSL
21
+ record sizes already.
22
+ ---
23
+ src/interfaces/libpq/fe-exec.c | 13 +++++++++++++
24
+ 1 file changed, 13 insertions(+)
25
+
26
+ diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c
27
+ index 0d224a852..637894ee1 100644
28
+ --- a/src/interfaces/libpq/fe-exec.c
29
+ +++ b/src/interfaces/libpq/fe-exec.c
30
+ @@ -2006,6 +2006,19 @@ PQconsumeInput(PGconn *conn)
31
+ if (pqReadData(conn) < 0)
32
+ return 0;
33
+
34
+ + #ifdef USE_SSL
35
+ + /*
36
+ + * Ensure all buffered read bytes in the SSL library are processed,
37
+ + * which might be not the case, if the SSL record size exceeds 8k.
38
+ + * Otherwise parseInput can't process the data.
39
+ + */
40
+ + while (conn->ssl_in_use && pgtls_read_pending(conn))
41
+ + {
42
+ + if (pqReadData(conn) < 0)
43
+ + return 0;
44
+ + }
45
+ + #endif
46
+ +
47
+ /* Parsing of the data waits till later. */
48
+ return 1;
49
+ }
50
+ --
51
+ 2.43.0
52
+
@@ -0,0 +1,64 @@
1
+ require 'bundler'
2
+ require 'bundler/gem_helper'
3
+
4
+ class PgGemHelper < Bundler::GemHelper
5
+ attr_accessor :cross_platforms
6
+
7
+ def install
8
+ super
9
+
10
+ task "release:guard_clean" => ["release:update_history"]
11
+
12
+ task "release:update_history" do
13
+ update_history
14
+ end
15
+
16
+ task "release:rubygem_push" => ["gem:native"]
17
+ end
18
+
19
+ def hfile
20
+ "CHANGELOG.md"
21
+ end
22
+
23
+ def headline
24
+ '^([^\n]*)(\d+\.\d+\.\d+(?:\.\w+)?)([^\w]+)([2Y][0Y][0-9Y][0-9Y]-[0-1M][0-9M]-[0-3D][0-9D])([^\w]*|$)'
25
+ end
26
+
27
+ def reldate
28
+ Time.now.strftime("%Y-%m-%d")
29
+ end
30
+
31
+ def update_history
32
+ hin = File.read(hfile)
33
+ hout = hin.sub(/#{headline}/) do
34
+ raise "#{hfile} isn't up-to-date for version #{version} (!= #{$2})" unless $2==version.to_s
35
+ $1 + $2 + $3 + reldate + $5
36
+ end
37
+ if hout != hin
38
+ Bundler.ui.confirm "Updating #{hfile} for release."
39
+ File.write(hfile, hout)
40
+ Rake::FileUtilsExt.sh "git", "commit", hfile, "-m", "Update release date in #{hfile}"
41
+ end
42
+ end
43
+
44
+ def tag_version
45
+ Bundler.ui.confirm "Tag release with annotation:"
46
+ m = File.read(hfile).match(/(?<annotation>#{headline}.*?)#{headline}/m) || raise("Unable to find release notes in #{hfile}")
47
+ Bundler.ui.info(m[:annotation].gsub(/^/, " "))
48
+ IO.popen(["git", "tag", "--file=-", version_tag], "w") do |fd|
49
+ fd.write m[:annotation]
50
+ end
51
+ yield if block_given?
52
+ rescue
53
+ Bundler.ui.error "Untagging #{version_tag} due to error."
54
+ Rake::FileUtilsExt.sh "git", "tag", "-d", version_tag
55
+ raise
56
+ end
57
+
58
+ def rubygem_push(path)
59
+ cross_platforms.each do |ruby_platform|
60
+ super(path.gsub(/\.gem\z/, "-#{ruby_platform}.gem"))
61
+ end
62
+ super(path)
63
+ end
64
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,19 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9
4
+ version: 1.6.0.rc2
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Michael Granger
8
8
  - Lars Kanis
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain:
12
11
  - |
13
12
  -----BEGIN CERTIFICATE-----
14
13
  MIIEBDCCAmygAwIBAgIBAzANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz
15
- L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yNDAyMjgxOTMxNDdaFw0yNTAy
16
- MjcxOTMxNDdaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
14
+ L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yNDEyMjkxOTU2NTZaFw0yNTEy
15
+ MjkxOTU2NTZaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
17
16
  PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/
18
17
  mZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN
19
18
  eSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/
@@ -24,28 +23,28 @@ cert_chain:
24
23
  chQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg
25
24
  9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjOTA3MAkG
26
25
  A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ4h1tIyvdUWtMI739xMzTR
27
- 7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEArBmHSfnUyNWf3R1Fx0mMHloWGdcKn2D2
28
- BsqTApXU2nADiyppIqRq4b9e7hw342uzadSLkoQcEFOxThLRhAcijoWfQVBcsbV/
29
- ZsCY1qlUTIJuSWxaSyS4efUX+N4eMNyPM9oW/sphlWFo0DgI34Y9WB6HDzH+O71y
30
- R7PARke3f4kYnRJf5yRQLPDrH9UYt9KlBQm6l7XMtr5EMnQt0EfcmZEi9H4t/vS2
31
- haxvpFMdAKo4H46GBYNO96r6b74t++vgQSBTg/AFVwvRZwNSrPPcBfb4xxeEAhRR
32
- x+LU7feIH7lZ//3buiyD03gLAEtHXai0Y+/VfuWIpwYJAl2BO/tU7FS/dtbJq9oc
33
- dI36Yyzy+BrCM0WT4oCsagePNb97FaNhl4F6sM5JEPT0ZPxRx0i3G4TNNIYziVos
34
- 5wFER6XhvvLDFAMh/jMg+s7Wd5SbSHgHNSUaUGVtdWkVPOer6oF0aLdZUR3CETkn
35
- 5nWXZma/BUd3YgYA/Xumc6QQqIS4p7mr
26
+ 7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEAoZZWzNV2XXaoSmvyamSSN+Wt/Ia+DNrU
27
+ 2pc3kMEqykH6l1WiVPszr6HavQ//2I2UcSRSS5AGDdiSXcfyFmHtMBdtJHhTPcn7
28
+ 4DLliB0szpvwG+ltGD8PI8eWkLaTQeFzs+0QCTavgKV+Zw56Q0J5zZvHHUMrLkUD
29
+ qhwKjdTdkrRTn9Sqi0BrIRRZGTUDdrt8qoWm35aES5arKZzytgrRD/kXfFW2LCg0
30
+ FzgTKibR4/3g8ph94kQLg/D2SMlVPkQ3ECi036mZxDC2n8V6u3rDkG5923wmrRZB
31
+ J6cqz475Q8HYORQCB68OPzkWMfC7mBo3vpSsIqRoNs1FE4FJu4FGwZG8fBSrDC4H
32
+ bZe+GtyS3e2SMjgT65zp35gLO9I7MquzYN9P6V2u1iBpTycchk5z9R1ghxzZSBT8
33
+ DrkJ9tVlPQtJB0LqT0tvBap4upnwT1xYq721b5dwH6AF4Pi6iz/dc5vnq1/MH8bV
34
+ 8VbbBzzeE7MsvgkP3sHlLmY8PtuyViJ8
36
35
  -----END CERTIFICATE-----
37
- date: 2024-10-24 00:00:00.000000000 Z
36
+ date: 2025-07-16 00:00:00.000000000 Z
38
37
  dependencies: []
39
38
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
40
- 9.3 and later.
39
+ 10 and later.
41
40
  email:
42
41
  - ged@FaerieMUD.org
43
42
  - lars@greiz-reinsdorf.de
44
43
  executables: []
45
44
  extensions: []
46
45
  extra_rdoc_files:
46
+ - CHANGELOG.md
47
47
  - Contributors.rdoc
48
- - History.md
49
48
  - README-OS_X.rdoc
50
49
  - README-Windows.rdoc
51
50
  - README.ja.md
@@ -56,6 +55,7 @@ extra_rdoc_files:
56
55
  - ext/pg.h
57
56
  - ext/pg_binary_decoder.c
58
57
  - ext/pg_binary_encoder.c
58
+ - ext/pg_cancel_connection.c
59
59
  - ext/pg_coder.c
60
60
  - ext/pg_connection.c
61
61
  - ext/pg_copy_coder.c
@@ -82,6 +82,7 @@ extra_rdoc_files:
82
82
  - lib/pg/binary_decoder/date.rb
83
83
  - lib/pg/binary_decoder/timestamp.rb
84
84
  - lib/pg/binary_encoder/timestamp.rb
85
+ - lib/pg/cancel_connection.rb
85
86
  - lib/pg/coder.rb
86
87
  - lib/pg/connection.rb
87
88
  - lib/pg/exceptions.rb
@@ -101,18 +102,16 @@ extra_rdoc_files:
101
102
  - lib/pg/version.rb
102
103
  files:
103
104
  - BSDL
105
+ - CHANGELOG.md
104
106
  - Contributors.rdoc
105
107
  - Gemfile
106
- - History.md
107
108
  - LICENSE
108
- - Manifest.txt
109
109
  - POSTGRES
110
110
  - README-OS_X.rdoc
111
111
  - README-Windows.rdoc
112
112
  - README.ja.md
113
113
  - README.md
114
114
  - Rakefile
115
- - Rakefile.cross
116
115
  - certs/ged.pem
117
116
  - certs/kanis@comcard.de.pem
118
117
  - certs/larskanis-2022.pem
@@ -128,6 +127,7 @@ files:
128
127
  - ext/pg.h
129
128
  - ext/pg_binary_decoder.c
130
129
  - ext/pg_binary_encoder.c
130
+ - ext/pg_cancel_connection.c
131
131
  - ext/pg_coder.c
132
132
  - ext/pg_connection.c
133
133
  - ext/pg_copy_coder.c
@@ -149,13 +149,12 @@ files:
149
149
  - ext/vc/pg.sln
150
150
  - ext/vc/pg_18/pg.vcproj
151
151
  - ext/vc/pg_19/pg_19.vcproj
152
- - lib/2.5/pg_ext.so
153
- - lib/2.6/pg_ext.so
154
152
  - lib/2.7/pg_ext.so
155
153
  - lib/3.0/pg_ext.so
156
154
  - lib/3.1/pg_ext.so
157
155
  - lib/3.2/pg_ext.so
158
156
  - lib/3.3/pg_ext.so
157
+ - lib/3.4/pg_ext.so
159
158
  - lib/pg.rb
160
159
  - lib/pg/basic_type_map_based_on_result.rb
161
160
  - lib/pg/basic_type_map_for_queries.rb
@@ -164,6 +163,7 @@ files:
164
163
  - lib/pg/binary_decoder/date.rb
165
164
  - lib/pg/binary_decoder/timestamp.rb
166
165
  - lib/pg/binary_encoder/timestamp.rb
166
+ - lib/pg/cancel_connection.rb
167
167
  - lib/pg/coder.rb
168
168
  - lib/pg/connection.rb
169
169
  - lib/pg/exceptions.rb
@@ -181,7 +181,6 @@ files:
181
181
  - lib/pg/tuple.rb
182
182
  - lib/pg/type_map_by_column.rb
183
183
  - lib/pg/version.rb
184
- - lib/x86-mingw32/libpq.dll
185
184
  - misc/openssl-pg-segfault.rb
186
185
  - misc/postgres/History.txt
187
186
  - misc/postgres/Manifest.txt
@@ -193,7 +192,16 @@ files:
193
192
  - misc/ruby-pg/README.txt
194
193
  - misc/ruby-pg/Rakefile
195
194
  - misc/ruby-pg/lib/ruby/pg.rb
195
+ - misc/yugabyte/Dockerfile
196
+ - misc/yugabyte/docker-compose.yml
197
+ - misc/yugabyte/pg-test.rb
196
198
  - pg.gemspec
199
+ - ports/patches/krb5/1.21.3/0001-Allow-static-linking-krb5-library.patch
200
+ - ports/patches/openssl/3.5.1/0001-aarch64-mingw.patch
201
+ - ports/patches/postgresql/17.5/0001-Use-workaround-of-__builtin_setjmp-only-on-MINGW-on-.patch
202
+ - ports/patches/postgresql/17.5/0001-libpq-Process-buffered-SSL-read-bytes-to-support-rec.patch
203
+ - ports/x86-mingw32/lib/libpq.dll
204
+ - rakelib/pg_gem_helper.rb
197
205
  - rakelib/task_extension.rb
198
206
  - sample/array_insert.rb
199
207
  - sample/async_api.rb
@@ -220,9 +228,9 @@ licenses:
220
228
  metadata:
221
229
  homepage_uri: https://github.com/ged/ruby-pg
222
230
  source_code_uri: https://github.com/ged/ruby-pg
223
- changelog_uri: https://github.com/ged/ruby-pg/blob/master/History.md
231
+ changelog_uri: https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md
224
232
  documentation_uri: http://deveiate.org/code/pg
225
- post_install_message:
233
+ msys2_mingw_dependencies: postgresql
226
234
  rdoc_options:
227
235
  - "--main"
228
236
  - README.md
@@ -234,18 +242,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
242
  requirements:
235
243
  - - ">="
236
244
  - !ruby/object:Gem::Version
237
- version: '2.5'
245
+ version: '2.7'
238
246
  - - "<"
239
247
  - !ruby/object:Gem::Version
240
- version: 3.4.dev
248
+ version: 3.5.dev
241
249
  required_rubygems_version: !ruby/object:Gem::Requirement
242
250
  requirements:
243
251
  - - ">="
244
252
  - !ruby/object:Gem::Version
245
253
  version: '0'
246
254
  requirements: []
247
- rubygems_version: 3.3.26
248
- signing_key:
255
+ rubygems_version: 3.6.2
249
256
  specification_version: 4
250
257
  summary: Pg is the Ruby interface to the PostgreSQL RDBMS
251
258
  test_files: []
metadata.gz.sig CHANGED
Binary file
data/Manifest.txt DELETED
@@ -1,72 +0,0 @@
1
- .gemtest
2
- BSDL
3
- Contributors.rdoc
4
- History.rdoc
5
- LICENSE
6
- Manifest.txt
7
- POSTGRES
8
- README-OS_X.rdoc
9
- README-Windows.rdoc
10
- README.ja.rdoc
11
- README.rdoc
12
- Rakefile
13
- Rakefile.cross
14
- ext/errorcodes.def
15
- ext/errorcodes.rb
16
- ext/errorcodes.txt
17
- ext/extconf.rb
18
- ext/gvl_wrappers.c
19
- ext/gvl_wrappers.h
20
- ext/pg.c
21
- ext/pg.h
22
- ext/pg_binary_decoder.c
23
- ext/pg_binary_encoder.c
24
- ext/pg_coder.c
25
- ext/pg_connection.c
26
- ext/pg_copy_coder.c
27
- ext/pg_errors.c
28
- ext/pg_record_coder.c
29
- ext/pg_result.c
30
- ext/pg_text_decoder.c
31
- ext/pg_text_encoder.c
32
- ext/pg_tuple.c
33
- ext/pg_type_map.c
34
- ext/pg_type_map_all_strings.c
35
- ext/pg_type_map_by_class.c
36
- ext/pg_type_map_by_column.c
37
- ext/pg_type_map_by_mri_type.c
38
- ext/pg_type_map_by_oid.c
39
- ext/pg_type_map_in_ruby.c
40
- ext/pg_util.c
41
- ext/pg_util.h
42
- ext/vc/pg.sln
43
- ext/vc/pg_18/pg.vcproj
44
- ext/vc/pg_19/pg_19.vcproj
45
- lib/pg.rb
46
- lib/pg/basic_type_mapping.rb
47
- lib/pg/binary_decoder.rb
48
- lib/pg/coder.rb
49
- lib/pg/connection.rb
50
- lib/pg/constants.rb
51
- lib/pg/exceptions.rb
52
- lib/pg/result.rb
53
- lib/pg/text_decoder.rb
54
- lib/pg/text_encoder.rb
55
- lib/pg/tuple.rb
56
- lib/pg/type_map_by_column.rb
57
- spec/data/expected_trace.out
58
- spec/data/random_binary_data
59
- spec/helpers.rb
60
- spec/pg/basic_type_mapping_spec.rb
61
- spec/pg/connection_spec.rb
62
- spec/pg/connection_sync_spec.rb
63
- spec/pg/result_spec.rb
64
- spec/pg/tuple_spec.rb
65
- spec/pg/type_map_by_class_spec.rb
66
- spec/pg/type_map_by_column_spec.rb
67
- spec/pg/type_map_by_mri_type_spec.rb
68
- spec/pg/type_map_by_oid_spec.rb
69
- spec/pg/type_map_in_ruby_spec.rb
70
- spec/pg/type_map_spec.rb
71
- spec/pg/type_spec.rb
72
- spec/pg_spec.rb