pg 1.4.5-x64-mingw-ucrt → 1.5.0-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.appveyor.yml +15 -9
  4. data/.github/workflows/binary-gems.yml +41 -10
  5. data/.github/workflows/source-gem.yml +18 -12
  6. data/.gitignore +11 -2
  7. data/.travis.yml +2 -2
  8. data/{History.rdoc → History.md} +223 -153
  9. data/README.ja.md +276 -0
  10. data/README.md +286 -0
  11. data/Rakefile +12 -3
  12. data/Rakefile.cross +7 -11
  13. data/certs/larskanis-2023.pem +24 -0
  14. data/ext/pg.c +10 -28
  15. data/ext/pg.h +10 -5
  16. data/ext/pg_binary_decoder.c +79 -0
  17. data/ext/pg_binary_encoder.c +224 -0
  18. data/ext/pg_coder.c +16 -7
  19. data/ext/pg_connection.c +156 -60
  20. data/ext/pg_copy_coder.c +306 -17
  21. data/ext/pg_record_coder.c +5 -4
  22. data/ext/pg_result.c +88 -17
  23. data/ext/pg_text_decoder.c +28 -10
  24. data/ext/pg_text_encoder.c +22 -9
  25. data/ext/pg_tuple.c +34 -31
  26. data/ext/pg_type_map.c +3 -2
  27. data/ext/pg_type_map_all_strings.c +2 -2
  28. data/ext/pg_type_map_by_class.c +5 -3
  29. data/ext/pg_type_map_by_column.c +9 -3
  30. data/ext/pg_type_map_by_oid.c +7 -4
  31. data/ext/pg_type_map_in_ruby.c +5 -2
  32. data/lib/3.1/pg_ext.so +0 -0
  33. data/lib/3.2/pg_ext.so +0 -0
  34. data/lib/pg/basic_type_map_based_on_result.rb +21 -1
  35. data/lib/pg/basic_type_map_for_queries.rb +13 -8
  36. data/lib/pg/basic_type_map_for_results.rb +26 -3
  37. data/lib/pg/basic_type_registry.rb +30 -32
  38. data/lib/pg/binary_decoder/date.rb +9 -0
  39. data/lib/pg/binary_decoder/timestamp.rb +26 -0
  40. data/lib/pg/binary_encoder/timestamp.rb +20 -0
  41. data/lib/pg/coder.rb +15 -13
  42. data/lib/pg/connection.rb +82 -30
  43. data/lib/pg/exceptions.rb +7 -0
  44. data/lib/pg/text_decoder/date.rb +18 -0
  45. data/lib/pg/text_decoder/inet.rb +9 -0
  46. data/lib/pg/text_decoder/json.rb +14 -0
  47. data/lib/pg/text_decoder/numeric.rb +9 -0
  48. data/lib/pg/text_decoder/timestamp.rb +30 -0
  49. data/lib/pg/text_encoder/date.rb +12 -0
  50. data/lib/pg/text_encoder/inet.rb +28 -0
  51. data/lib/pg/text_encoder/json.rb +14 -0
  52. data/lib/pg/text_encoder/numeric.rb +9 -0
  53. data/lib/pg/text_encoder/timestamp.rb +24 -0
  54. data/lib/pg/version.rb +1 -1
  55. data/lib/pg.rb +44 -15
  56. data/lib/x64-mingw-ucrt/libpq.dll +0 -0
  57. data/pg.gemspec +4 -2
  58. data/rakelib/task_extension.rb +1 -1
  59. data/translation/.po4a-version +7 -0
  60. data/translation/po/all.pot +910 -0
  61. data/translation/po/ja.po +1047 -0
  62. data/translation/po4a.cfg +12 -0
  63. data.tar.gz.sig +0 -0
  64. metadata +111 -35
  65. metadata.gz.sig +0 -0
  66. data/README.ja.rdoc +0 -13
  67. data/README.rdoc +0 -233
  68. data/lib/pg/binary_decoder.rb +0 -23
  69. data/lib/pg/constants.rb +0 -12
  70. data/lib/pg/text_decoder.rb +0 -46
  71. data/lib/pg/text_encoder.rb +0 -59
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c848f967330be1198edcf3722a7fd251863cce06d2f4456feeb2cf27301ac34
4
- data.tar.gz: 3dedfc29a5f11f281977f5a583b54d5f146c29cc4e47493e0a07430ac7482679
3
+ metadata.gz: 18c93713ebd1134c694cd9210ba170ac048db77d2d30550c4e98ffae7effdf4c
4
+ data.tar.gz: ce42d9ef7379fe65fac77c9d61177b5c9b02640bf192f49258f56a04ac38777a
5
5
  SHA512:
6
- metadata.gz: 40b25ee6e57bf8ae553de941a2d49ec37d9c408f4f6f6fa8015719a75d145905030e00067e3b685a9a93ef586330e34550cb6b005288e852d64ae83650e061ed
7
- data.tar.gz: 6edaca174719e192975763481bfbac757de5af8680bd39c3ce912b606815104889fa616bff776a7c96960f2e7035f2d244c96656c90d4502d18b5bee82a5af18
6
+ metadata.gz: b675b84b81b9b8b4a84e75cc8eba0827b062f6b6baa9177501c8652a9f969174ff0b6a0f76d62486a306a0069f239409a3315d9b30889c60c30ec1fd002afa43
7
+ data.tar.gz: d772604e57ac051aecb2c7f4721cb582f8064c57867b7af0a31c95b009cb96e861511953702e5e7cec9e211cf419ce8e5a14b63b9601f6dc935072d4df7d5d7e
checksums.yaml.gz.sig CHANGED
Binary file
data/.appveyor.yml CHANGED
@@ -1,4 +1,4 @@
1
- image: Visual Studio 2019
1
+ image: Visual Studio 2022
2
2
 
3
3
  init:
4
4
  - set PATH=C:/Ruby%ruby_version%/bin;c:/Program Files/Git/cmd;c:/Windows/system32;C:/Windows/System32/WindowsPowerShell/v1.0;C:/Program Files/Mercurial
@@ -7,8 +7,11 @@ install:
7
7
  - ps: |
8
8
  if ($env:RUBYDOWNLOAD -ne $null) {
9
9
  $(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-$env:RUBYDOWNLOAD.exe", "$pwd/ruby-setup.exe")
10
- cmd /c ruby-setup.exe /verysilent /dir=C:/Ruby$env:ruby_version
10
+ cmd /c ruby-setup.exe /currentuser /verysilent /dir=C:/Ruby$env:ruby_version
11
11
  }
12
+ - cmd: |
13
+ ridk enable
14
+ c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-pkgconf ${MINGW_PACKAGE_PREFIX}-libyaml ${MINGW_PACKAGE_PREFIX}-gcc"
12
15
  - ruby --version
13
16
  - gem --version
14
17
  - gem install bundler --conservative
@@ -18,19 +21,22 @@ install:
18
21
  {
19
22
  $(new-object net.webclient).DownloadFile('http://get.enterprisedb.com/postgresql/postgresql-' + $env:PGVERSION + '.exe', 'C:/postgresql-setup.exe')
20
23
  cmd /c "C:/postgresql-setup.exe" --mode unattended --extract-only 1
24
+
25
+ $env:PATH = 'C:/Program Files/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
26
+ $env:PATH = 'C:/Program Files (x86)/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
27
+ } else {
28
+ c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed `${MINGW_PACKAGE_PREFIX}-postgresql"
21
29
  }
22
- $env:PATH = 'C:/Program Files/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
23
- $env:PATH = 'C:/Program Files (x86)/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
30
+ - echo %PATH%
31
+ - pg_config
24
32
  build_script:
25
33
  - bundle exec rake -rdevkit compile --trace
26
34
  test_script:
27
35
  - bundle exec rake test PG_DEBUG=0
36
+ on_failure:
37
+ - find -name mkmf.log | xargs cat
28
38
  environment:
29
39
  matrix:
30
40
  - ruby_version: "head"
31
41
  RUBYDOWNLOAD: x86
32
- PGVERSION: 10.20-1-windows
33
- PGVER: 10
34
- - ruby_version: "25"
35
- PGVERSION: 9.3.25-1-windows
36
- PGVER: 9.3
42
+ - ruby_version: "30-x64"
@@ -1,6 +1,11 @@
1
1
  name: Binary gems
2
2
 
3
- on: [push, pull_request]
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: "0 5 * * 3" # At 05:00 on Wednesday # https://crontab.guru/#0_5_*_*_3
4
9
 
5
10
  jobs:
6
11
  job_build_x64:
@@ -12,12 +17,13 @@ jobs:
12
17
  include:
13
18
  - platform: "x64-mingw-ucrt"
14
19
  - platform: "x64-mingw32"
20
+ - platform: "x86-mingw32"
15
21
  steps:
16
- - uses: actions/checkout@v2
22
+ - uses: actions/checkout@v3
17
23
  - name: Set up Ruby
18
24
  uses: ruby/setup-ruby@v1
19
25
  with:
20
- ruby-version: "3.1"
26
+ ruby-version: "3.2"
21
27
  - run: bundle install
22
28
 
23
29
  - name: Create a dummy cert to satisfy the build
@@ -31,7 +37,7 @@ jobs:
31
37
  run: bundle exec rake gem:windows:${{ matrix.platform }}
32
38
 
33
39
  - name: Upload binary gem
34
- uses: actions/upload-artifact@v2
40
+ uses: actions/upload-artifact@v3
35
41
  with:
36
42
  name: binary-gem
37
43
  path: pkg/*.gem
@@ -43,25 +49,43 @@ jobs:
43
49
  fail-fast: false
44
50
  matrix:
45
51
  include:
46
- - ruby: "3.1"
52
+ - os: windows-latest
53
+ ruby: "3.2"
47
54
  platform: "x64-mingw-ucrt"
48
55
  PGVERSION: 15.1-1-windows-x64
49
- - ruby: "2.5"
56
+ - os: windows-latest
57
+ ruby: "3.1.3-1"
58
+ platform: "x86-mingw32"
59
+ PGVERSION: 10.20-1-windows
60
+ - os: windows-latest
61
+ ruby: "2.5"
50
62
  platform: "x64-mingw32"
51
63
  PGVERSION: 10.20-1-windows
52
64
 
53
- runs-on: windows-latest
65
+ runs-on: ${{ matrix.os }}
54
66
  env:
55
67
  PGVERSION: ${{ matrix.PGVERSION }}
56
68
  steps:
57
- - uses: actions/checkout@v2
69
+ - uses: actions/checkout@v3
58
70
  - name: Set up Ruby
71
+ if: matrix.platform != 'x86-mingw32'
59
72
  uses: ruby/setup-ruby@v1
60
73
  with:
61
74
  ruby-version: ${{ matrix.ruby }}
62
75
 
76
+ - name: Set up 32 bit x86 Ruby
77
+ if: matrix.platform == 'x86-mingw32'
78
+ run: |
79
+ $(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${{ matrix.ruby }}/rubyinstaller-${{ matrix.ruby }}-x86.exe", "$pwd/ruby-setup.exe")
80
+ cmd /c ruby-setup.exe /currentuser /verysilent /dir=C:/Ruby-${{ matrix.ruby }}
81
+ echo "c:/ruby-${{ matrix.ruby }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
82
+
83
+ c:/ruby-${{ matrix.ruby }}/bin/ridk enable
84
+ c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed make `${MINGW_PACKAGE_PREFIX}-pkgconf `${MINGW_PACKAGE_PREFIX}-libyaml `${MINGW_PACKAGE_PREFIX}-gcc `${MINGW_PACKAGE_PREFIX}-make"
85
+ echo "C:/msys64/$env:MSYSTEM_PREFIX/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
86
+
63
87
  - name: Download gem from build job
64
- uses: actions/download-artifact@v2
88
+ uses: actions/download-artifact@v3
65
89
  with:
66
90
  name: binary-gem
67
91
 
@@ -79,8 +103,15 @@ jobs:
79
103
  echo "PGUSER=$env:USERNAME" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
80
104
  echo "PGPASSWORD=" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
81
105
 
82
- - run: gem update --system
106
+ - run: echo $env:PATH
107
+ - run: gem update --system 3.3.26
83
108
  - run: bundle install
84
109
  - run: gem install --local pg-*${{ matrix.platform }}.gem --verbose
85
110
  - name: Run specs
86
111
  run: ruby -rpg -S rspec -fd spec/**/*_spec.rb
112
+
113
+ - name: Print logs if job failed
114
+ if: ${{ failure() && matrix.os == 'windows-latest' }}
115
+ run: |
116
+ ridk enable
117
+ find "$(ruby -e"puts RbConfig::CONFIG[%q[libdir]]")" -name mkmf.log -print0 | xargs -0 cat
@@ -1,23 +1,28 @@
1
1
  name: Source gem
2
2
 
3
- on: [push, pull_request]
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: "0 5 * * 3" # At 05:00 on Wednesday # https://crontab.guru/#0_5_*_*_3
4
9
 
5
10
  jobs:
6
11
  job_build_gem:
7
12
  name: build
8
13
  runs-on: ubuntu-latest
9
14
  steps:
10
- - uses: actions/checkout@v2
15
+ - uses: actions/checkout@v3
11
16
  - name: Set up Ruby
12
17
  uses: ruby/setup-ruby@v1
13
18
  with:
14
- ruby-version: "3.1"
19
+ ruby-version: "3.2"
15
20
 
16
21
  - name: Build source gem
17
22
  run: gem build pg.gemspec
18
23
 
19
24
  - name: Upload source gem
20
- uses: actions/upload-artifact@v2
25
+ uses: actions/upload-artifact@v3
21
26
  with:
22
27
  name: source-gem
23
28
  path: "*.gem"
@@ -41,9 +46,10 @@ jobs:
41
46
  ruby: "head"
42
47
  PGVER: "15"
43
48
  - os: ubuntu
44
- ruby: "3.1"
49
+ ruby: "3.2"
45
50
  PGVER: "12"
46
51
  - os: ubuntu
52
+ os_ver: "20.04"
47
53
  ruby: "2.5"
48
54
  PGVER: "9.3"
49
55
  - os: ubuntu
@@ -57,21 +63,21 @@ jobs:
57
63
  PGVERSION: 15.1-1-osx
58
64
  PGVER: "15"
59
65
 
60
- runs-on: ${{ matrix.os }}-latest
66
+ runs-on: ${{ matrix.os }}-${{ matrix.os_ver || 'latest' }}
61
67
  env:
62
68
  PGVERSION: ${{ matrix.PGVERSION }}
63
69
  PGVER: ${{ matrix.PGVER }}
64
70
  MAKE: make -j2 V=1
65
71
 
66
72
  steps:
67
- - uses: actions/checkout@v2
73
+ - uses: actions/checkout@v3
68
74
  - name: Set up Ruby
69
75
  uses: ruby/setup-ruby@v1
70
76
  with:
71
77
  ruby-version: ${{ matrix.ruby }}
72
78
 
73
79
  - name: Download gem from build job
74
- uses: actions/download-artifact@v2
80
+ uses: actions/download-artifact@v3
75
81
  with:
76
82
  name: source-gem
77
83
 
@@ -98,10 +104,10 @@ jobs:
98
104
  - name: Download PostgreSQL Ubuntu
99
105
  if: matrix.os == 'ubuntu'
100
106
  run: |
101
- echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main $PGVER" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
107
+ echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVER" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
102
108
  wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
103
- sudo apt -y update
104
- sudo apt -y --allow-downgrades install postgresql-$PGVER libpq5=$PGVER* libpq-dev=$PGVER*
109
+ sudo apt-get -y update
110
+ sudo apt-get -y --allow-downgrades install postgresql-$PGVER libpq5=$PGVER* libpq-dev=$PGVER*
105
111
  echo /usr/lib/postgresql/$PGVER/bin >> $GITHUB_PATH
106
112
 
107
113
  - name: Download PostgreSQL Macos
@@ -112,7 +118,7 @@ jobs:
112
118
  sudo unzip postgresql-$PGVERSION-binaries.zip -d /Library/PostgreSQL/$PGVER && \
113
119
  echo /Library/PostgreSQL/$PGVER/bin >> $GITHUB_PATH
114
120
 
115
- - run: gem update --system
121
+ - run: gem update --system 3.3.26
116
122
  - run: bundle install
117
123
 
118
124
  - run: gem install --local *.gem --verbose
data/.gitignore CHANGED
@@ -1,13 +1,22 @@
1
1
  *.lock
2
+ *.orig
3
+ *_BACKUP_*
4
+ *_BASE_*
5
+ *_LOCAL_*
6
+ *_REMOTE_*
2
7
  /.test_symlink
3
8
  /build/
9
+ /ext/Makefile
10
+ /ext/mkmf.log
11
+ /ext/postgresql_lib_path.rb
4
12
  /doc/
5
13
  /lib/*.bundle
6
14
  /lib/*.so
7
- /lib/2.*/
15
+ /lib/2.?/
16
+ /lib/3.?/
8
17
  /pkg/
9
18
  /tmp/
10
- /tmp_test_specs/
19
+ /tmp_test_*/
11
20
  /vendor/
12
21
  /lib/libpq.dll
13
22
  /lib/pg/postgresql_lib_path.rb
data/.travis.yml CHANGED
@@ -38,8 +38,8 @@ before_install:
38
38
  # Download and install postgresql version to test against in /opt (for non-cross compile only)
39
39
  - echo "deb http://apt.postgresql.org/pub/repos/apt/ ${TRAVIS_DIST}-pgdg main $PGVERSION" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
40
40
  - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
41
- - sudo apt -y update
42
- - sudo apt -y --allow-downgrades install postgresql-$PGVERSION libpq5=$PGVERSION* libpq-dev=$PGVERSION*
41
+ - sudo apt-get -y update
42
+ - sudo apt-get -y --allow-downgrades install postgresql-$PGVERSION libpq5=$PGVERSION* libpq-dev=$PGVERSION*
43
43
  - export PATH=/usr/lib/postgresql/$PGVERSION/bin:$PATH
44
44
 
45
45
  script: