pg 1.5.3 → 1.5.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cbac60d76e50f034bb84d601d55d816cd3d3b8c05a3067b9ccd3103fc293699
4
- data.tar.gz: e9e5d36b50bd17e8cfd3d2191a0bbc499ca09a466f9c73dc81c2799be82a3346
3
+ metadata.gz: e50a6829d4fe134af52d85429a3db06240fb6d228b96ef5b3fade98d38f4d199
4
+ data.tar.gz: 281f5700e856a64a4a7c3157bbef4398345ac16698dbcdce54ed0408c0448457
5
5
  SHA512:
6
- metadata.gz: b9bc096fb5410cc044f0f5fb7f688d8047fcc5c7ea8ff025bb6ada32f92288f1f6c076da157e8812aa01a47fe2b025798bafa92aab7fd1294bfcc60f03e53f09
7
- data.tar.gz: 120f870057de3c7552e4beef0c81dd90e5ce03a4557bf3b01d518197596dfa149c7612375028451c0b07f6714567ee5e2c80040ec9470226d045e6b9fc3153eb
6
+ metadata.gz: 4ca887b068f003b077c17fca5e8297368f5236ed74ae16888a64312fed269110c455e2cd58105b5a23fbb53a1841b081ae215d3a4c3473815914642fcdde75cc
7
+ data.tar.gz: 86599add8d622097727be30a1a05259c69d8c83fa73e1dad0f46125e95685a752a5df24f235158ff0d62dbfe99034aa8512e89bc39f26edf81a2540c466a6541
checksums.yaml.gz.sig CHANGED
Binary file
@@ -42,6 +42,10 @@ jobs:
42
42
  ruby: "2.5"
43
43
  PGVERSION: 9.4.26-1-windows-x64
44
44
  PGVER: "9.4"
45
+ - os: windows
46
+ ruby: "mswin"
47
+ PGVERSION: 15.1-1-windows-x64
48
+ PGVER: "15"
45
49
  - os: ubuntu
46
50
  ruby: "head"
47
51
  PGVER: "15"
@@ -82,7 +86,7 @@ jobs:
82
86
  name: source-gem
83
87
 
84
88
  - name: Install required packages Windows
85
- if: matrix.os == 'windows'
89
+ if: matrix.os == 'windows' && matrix.ruby != 'mswin'
86
90
  shell: cmd
87
91
  run: ridk exec sh -c "pacman --sync --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc"
88
92
 
data/History.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## v1.5.4 [2023-09-01] Lars Kanis <lars@greiz-reinsdorf.de>
2
+
3
+ - Fix compiling the pg extension with MSVC 2022. [#535](https://github.com/ged/ruby-pg/pull/535)
4
+ - Set PG::Connection's encoding even if setting client_encoding on connection startup fails. [#541](https://github.com/ged/ruby-pg/pull/541)
5
+ - Don't set the server's client_encoding if it's unnecessary. [#542](https://github.com/ged/ruby-pg/pull/542)
6
+ This is important for connection proxies, who disallow configuration settings.
7
+
8
+
1
9
  ## v1.5.3 [2023-04-28] Lars Kanis <lars@greiz-reinsdorf.de>
2
10
 
3
11
  - Fix possible segfault when creating a new PG::Result with type map. [#530](https://github.com/ged/ruby-pg/pull/530)
data/README.ja.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # pg
2
2
 
3
- * home :: https://github.com/ged/ruby-pg
4
- * docs :: http://deveiate.org/code/pg (English) ,
5
- https://deveiate.org/code/pg/README_ja_md.html (Japanese)
6
- * clog :: link:/History.md
3
+ * ホーム :: https://github.com/ged/ruby-pg
4
+ * ドキュメント :: http://deveiate.org/code/pg (英語)、 https://deveiate.org/code/pg/README_ja_md.html (日本語)
5
+ * 変更履歴 :: link:/History.md
7
6
 
8
7
  [![https://gitter.im/ged/ruby-pg
9
8
  でチャットに参加](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ged/ruby-pg?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -84,8 +83,9 @@ README-Windows.rdoc を参照してください。
84
83
 
85
84
  ## 型変換
86
85
 
87
- PgにはおまけとしてRubyとネイティブCコードにある結果の値やクエリ引数の型変換ができます。
88
- こうすることでデータベースとのデータの往来を加速させられますが、それは文字列のアロケーションが減り、(より遅い)Rubyのコードでの変換部分が除かれるからです。
86
+ Pgでは任意でRubyと素のCコードにある結果の値やクエリ引数の型変換ができます。
87
+ こうすることでデータベースとのデータの往来を加速させられます。
88
+ なぜなら文字列のアロケーションが減り、(比較的遅い)Rubyのコードでの変換部分が省かれるからです。
89
89
 
90
90
  とても基本的な型変換は次のようにできます。
91
91
  ```ruby
@@ -104,9 +104,13 @@ PgにはおまけとしてRubyとネイティブCコードにある結果の値
104
104
 
105
105
  ### エンコーダーとデコーダー (ext/pg_*coder.c, lib/pg/*coder.rb)
106
106
 
107
- こちらはより低層で、DBMSへ転送するためにRubyのオブジェクトを変換するエンコーディングクラスと取得してきたデータをRubyのオブジェクトに変換し戻すデコーディングクラスが含まれています。クラスはそれぞれの形式によって名前空間PG::TextEncoder、PG::TextDecoder、PG::BinaryEncoder、そしてPG::BinaryDecoderに分かれています。
107
+ こちらはより低層で、DBMSへ転送するためにRubyのオブジェクトを変換するエンコーディングクラスと、取得してきたデータをRubyのオブジェクトに変換し戻すデコーディングクラスが含まれています。
108
+ クラスはそれぞれの形式によって名前空間 PG::TextEncoder, PG::TextDecoder, PG::BinaryEncoder, そして
109
+ PG::BinaryDecoder に分かれています。
108
110
 
109
- エンコーダーないしデコーダーオブジェクトにOIDデータ型や形式コード(テキストないしバイナリ)や任意で名前を割り当てることができます。要素のエンコーダーないしデコーダーを割り当てることによって複合型を構築することもできます。PG::CoderオブジェクトはPG::TypeMapをセットアップしたりその代わりに単一の値と文字列表現とを相互に変換したりするのに使えます。
111
+ エンコーダーないしデコーダーオブジェクトにOIDデータ型や形式コード(テキストないしバイナリ)や任意で名前を割り当てることができます。
112
+ 要素のエンコーダーないしデコーダーを割り当てることによって複合型を構築することもできます。
113
+ PG::Coder オブジェクトは PG::TypeMap をセットアップしたり、その代わりに単一の値と文字列表現とを相互に変換したりするのに使えます。
110
114
 
111
115
  ruby-pgでは以下のPostgreSQLカラム型に対応しています(TE = Text Encoder、TD = Text Decoder、BE =
112
116
  Binary Encoder、BD = Binary Decoder)。
@@ -137,14 +141,11 @@ Binary Encoder、BD = Binary Decoder)。
137
141
  [現地時間](rdoc-ref:PG::TextEncoder::TimestampWithoutTimeZone)、[UTC](rdoc-ref:PG::TextEncoder::TimestampUtc)、[タイムゾーン付き](rdoc-ref:PG::TextEncoder::TimestampWithTimeZone)
138
142
  * TD:
139
143
  [現地時間](rdoc-ref:PG::TextDecoder::TimestampLocal)、[UTC](rdoc-ref:PG::TextDecoder::TimestampUtc)、[UTCから現地時間へ](rdoc-ref:PG::TextDecoder::TimestampUtcToLocal)
140
- * BE: [local](rdoc-ref:PG::BinaryEncoder::TimestampLocal),
141
- [UTC](rdoc-ref:PG::BinaryEncoder::TimestampUtc)
144
+ * BE:
145
+ [現地時間](rdoc-ref:PG::BinaryEncoder::TimestampLocal)、[UTC](rdoc-ref:PG::BinaryEncoder::TimestampUtc)
142
146
  * BD:
143
147
  [現地時間](rdoc-ref:PG::BinaryDecoder::TimestampLocal)、[UTC](rdoc-ref:PG::BinaryDecoder::TimestampUtc)、[UTCから現地時間へ](rdoc-ref:PG::BinaryDecoder::TimestampUtcToLocal)
144
- * Date: [TE](rdoc-ref:PG::TextEncoder::Date),
145
- [TD](rdoc-ref:PG::TextDecoder::Date),
146
- [BE](rdoc-ref:PG::BinaryEncoder::Date),
147
- [BD](rdoc-ref:PG::BinaryDecoder::Date)
148
+ * 日付:[TE](rdoc-ref:PG::TextEncoder::Date)、[TD](rdoc-ref:PG::TextDecoder::Date)、[BE](rdoc-ref:PG::BinaryEncoder::Date)、[BD](rdoc-ref:PG::BinaryDecoder::Date)
148
149
  * JSONとJSONB:
149
150
  [TE](rdoc-ref:PG::TextEncoder::JSON)、[TD](rdoc-ref:PG::TextDecoder::JSON)
150
151
  * Inet:
@@ -153,8 +154,7 @@ Binary Encoder、BD = Binary Decoder)。
153
154
  [TE](rdoc-ref:PG::TextEncoder::Array)、[TD](rdoc-ref:PG::TextDecoder::Array)
154
155
  * 複合型(「行」や「レコード」などとも言います):[TE](rdoc-ref:PG::TextEncoder::Record)、[TD](rdoc-ref:PG::TextDecoder::Record)
155
156
 
156
- The following text and binary formats can also be encoded although they are
157
- not used as column type:
157
+ カラム型として使われていませんが、以下のテキスト形式とバイナリ形式もエンコードできます。
158
158
 
159
159
  * COPYの入出力データ:[TE](rdoc-ref:PG::TextEncoder::CopyRow)、[TD](rdoc-ref:PG::TextDecoder::CopyRow),
160
160
  [BE](rdoc-ref:PG::BinaryEncoder::CopyRow),
@@ -163,11 +163,16 @@ not used as column type:
163
163
  * SQLの識別子:
164
164
  [TE](rdoc-ref:PG::TextEncoder::Identifier)、[TD](rdoc-ref:PG::TextDecoder::Identifier)
165
165
 
166
- ### PG::TypeMapとその派生 (ext/pg_type_map*.c, lib/pg/type_map*.rb)
166
+ ### PG::TypeMap とその派生 (ext/pg_type_map*.c, lib/pg/type_map*.rb)
167
167
 
168
- TypeMapはエンコーダーまたはデコーダーのどちらによってどの値を変換するかを定義します。様々な型の対応付け戦略があるので、このクラスにはいくつかの派生が実装されています。型変換の特有の需要に合わせてそれらの派生から選んで調整を加えることができます。既定の型の対応付けはPG::TypeMapAllStringsです。
168
+ TypeMapはエンコーダーまたはデコーダーのどちらによってどの値を変換するかを定義します。
169
+ 様々な型の対応付け戦略があるので、このクラスにはいくつかの派生が実装されています。
170
+ 型変換の特有の需要に合わせてそれらの派生から選んで調整を加えることができます。
171
+ 既定の型の対応付けは PG::TypeMapAllStrings です。
169
172
 
170
- 型の対応付けは、結果の集合それぞれに対し、接続毎ないしクエリ毎に割り当てることができます。型の対応付けはCOPYの入出力データストリーミングでも使うことができます。PG::Connection#copy_dataを参照してください。
173
+ 型の対応付けは、結果の集合それぞれに対し、接続毎ないしクエリ毎に割り当てることができます。
174
+ 型の対応付けはCOPYの入出力データストリーミングでも使うことができます。
175
+ PG::Connection#copy_data を参照してください。
171
176
 
172
177
  以下の基底となる型の対応付けが使えます。
173
178
 
@@ -177,19 +182,21 @@ TypeMapはエンコーダーまたはデコーダーのどちらによってど
177
182
  * PG::TypeMapByOid - PostgreSQLのOIDデータ型によってデコーダーを選択します
178
183
  * PG::TypeMapInRuby - Rubyで独自の型の対応付けを定義します
179
184
 
180
- 以下の型の対応付けはPG::BasicTypeRegistry由来の型の対応付けが入った状態になっています。
185
+ 以下の型の対応付けは PG::BasicTypeRegistry 由来の型の対応付けが入った状態になっています。
181
186
 
182
- * PG::BasicTypeMapForResults -
183
- PG::TypeMapByOidによくあるPostgreSQLカラム型用にデコーダーが入った状態になっています
184
- * PG::BasicTypeMapBasedOnResult -
185
- PG::TypeMapByOidによくあるPostgreSQLカラム型用のエンコーダーが入った状態になっています
186
- * PG::BasicTypeMapForQueries -
187
- PG::TypeMapByClassによくあるRubyの値クラス用にエンコーダーが入った状態になっています
187
+ * PG::BasicTypeMapForResults - PG::TypeMapByOid
188
+ によくあるPostgreSQLカラム型用にデコーダーが入った状態になっています
189
+ * PG::BasicTypeMapBasedOnResult - PG::TypeMapByOid
190
+ によくあるPostgreSQLカラム型用のエンコーダーが入った状態になっています
191
+ * PG::BasicTypeMapForQueries - PG::TypeMapByClass
192
+ によくあるRubyの値クラス用にエンコーダーが入った状態になっています
188
193
 
189
194
 
190
195
  ## スレッド対応
191
196
 
192
- PGには個々のスレッドが別々のPG::Connectionオブジェクトを同時に使えるという点でスレッド安全性があります。しかし1つ以上のスレッドから同時にPgのオブジェクトにアクセスすると安全ではありません。そのため必ず、毎回新しいスレッドを作るときに新しいデータベースサーバー接続を開くか、スレッド安全性のある方法で接続を管理するActiveRecordのようなラッパーライブラリを使うようにしてください。
197
+ PGには個々のスレッドが別々の PG::Connection オブジェクトを同時に使えるという点でスレッド安全性があります。
198
+ しかし1つ以上のスレッドから同時にPgのオブジェクトにアクセスすると安全ではありません。
199
+ そのため必ず、毎回新しいスレッドを作るときに新しいデータベースサーバー接続を開くか、スレッド安全性のある方法で接続を管理するActiveRecordのようなラッパーライブラリを使うようにしてください。
193
200
 
194
201
  以下のようなメッセージが標準エラー出力に表示された場合、恐らく複数のスレッドが1つの接続を使っています。
195
202
 
@@ -202,13 +209,30 @@ PGには個々のスレッドが別々のPG::Connectionオブジェクトを同
202
209
 
203
210
  ## Fiber IOスケジューラー対応
204
211
 
205
- PgはRuby-3.0で導入された`Fiber.scheduler`に完全に対応しています。`Fiber.scheduler`のWindows対応についてはRuby-3.1以降で使えます。`Fiber.scheduler`が走らせているスレッドに登録されている場合、起こりうる全てのブロッキングIO操作はそのスケジューラーを経由します。同期的であったりブロックしたりするメソッド呼び出しについてもpgが内部的に非同期のlibpqインターフェースを使っているのはそれが理由です。またlibpqの組み込み関数に代えてRubyのDNS解決を使っています。
212
+ pg-1.3.0以降で、PgはRuby-3.0で導入された`Fiber.scheduler`に完全に対応しています。
213
+ Windowsでは、`Fiber.scheduler`対応はRuby-3.1以降で使えます。
214
+ `Fiber.scheduler`が走らせているスレッドに登録されている場合、起こりうる全てのブロッキングIO操作はそのスケジューラーを経由します。
215
+ 同期的であったりブロックしたりするメソッド呼び出しについてもpgが内部的に非同期のlibpqインターフェースを使っているのはそれが理由です。
216
+ またlibpqの組み込み関数に代えてRubyのDNS解決を使っています。
206
217
 
207
- 内部的にPgは常にlibpqのノンブロッキング接続モードを使います。それからブロッキングモードで走っているように振舞いますが、もし`Fiber.scheduler`が登録されていれば全てのブロッキングIOはそのスケジューラーを通じてRubyで制御されます。`PG::Connection.setnonblocking(true)`が呼ばれたらノンブロッキング状態が有効になったままになりますが、それ以降のブロッキング状態の制御が無効になるので、呼び出しているプログラムはブロッキング状態を自力で制御しなければなりません。
218
+ 内部的にPgは常にlibpqのノンブロッキング接続モードを使います。
219
+ それからブロッキングモードで走っているように振舞いますが、もし`Fiber.scheduler`が登録されていれば全てのブロッキングIOはそのスケジューラーを通じてRubyで制御されます。
220
+ `PG::Connection.setnonblocking(true)`が呼ばれたらノンブロッキング状態が有効になったままになりますが、それ以降のブロッキング状態の制御が無効になるので、呼び出しているプログラムはブロッキング状態を自力で制御しなければなりません。
208
221
 
209
222
  この規則の1つの例外には、`PG::Connection#lo_create`や外部ライブラリを使う認証メソッド(GSSAPI認証など)のような、大きめのオブジェクト用のメソッドがあります。これらは`Fiber.scheduler`と互換性がないため、ブロッキング状態は登録されたIOスケジューラに渡されません。つまり操作は適切に実行されますが、IO待ち状態に別のIOを扱うFiberから使用を切り替えてくることができなくなります。
210
223
 
211
224
 
225
+ ## Ractor対応
226
+
227
+ pg-1.5.0以降で、PgはRuby-3.0で導入されたRactorと完全な互換性があります。
228
+ 型エンコーダーないしデコーダー、及び型の対応付けが`Ractor.make_shareable`により凍結されている場合、これらをractor間で共有できます。
229
+ また凍結された PG::Result と PG::Tuple オブジェクトも共有できます。
230
+ 少なくとも全ての凍結されたオブジェクト(ただし PG::Connection
231
+ を除く)はPostgreSQLサーバーとのやり取りをしたり取得されたデータを読むのに使えます。
232
+
233
+ PG::Connection は共有できません。個々の接続を確立するために、それぞれのRactor内で作られなければなりません。
234
+
235
+
212
236
  ## 貢献
213
237
 
214
238
  バグを報告したり機能を提案したりGitでソースをチェックアウトしたりするには[プロジェクトページをご確認ください](https://github.com/ged/ruby-pg)。
@@ -271,6 +295,6 @@ Portions copyright LAIKA, Inc.
271
295
 
272
296
  ## 謝辞
273
297
 
274
- 長年にわたって貢献してくださった方々についてはContributors.rdocを参照してください。
298
+ 長年にわたって貢献してくださった方々については Contributors.rdoc を参照してください。
275
299
 
276
300
  ruby-listとruby-devメーリングリストの方々に感謝します。またPostgreSQLを開発された方々へも謝意を表します。
data/ext/extconf.rb CHANGED
@@ -60,6 +60,10 @@ else
60
60
  if dlldir && RbConfig::CONFIG["RPATHFLAG"].to_s.empty?
61
61
  append_ldflags "-Wl,-rpath,#{dlldir.quote}"
62
62
  end
63
+
64
+ if /mswin/ =~ RUBY_PLATFORM
65
+ $libs = append_library($libs, 'ws2_32')
66
+ end
63
67
  end
64
68
 
65
69
  $stderr.puts "Using libpq from #{dlldir}"
data/ext/pg.c CHANGED
@@ -125,7 +125,7 @@ const char * const (pg_enc_pg2ruby_mapping[][2]) = {
125
125
  * - returns NULL if the client encoding is 'SQL_ASCII'.
126
126
  * - returns ASCII-8BIT if the client encoding is unknown.
127
127
  */
128
- rb_encoding *
128
+ static rb_encoding *
129
129
  pg_get_pg_encoding_as_rb_encoding( int enc_id )
130
130
  {
131
131
  const char *name = pg_encoding_to_char( enc_id );
data/ext/pg.h CHANGED
@@ -369,7 +369,6 @@ pgresult_get_this( VALUE self )
369
369
  }
370
370
 
371
371
 
372
- rb_encoding * pg_get_pg_encoding_as_rb_encoding _(( int ));
373
372
  rb_encoding * pg_get_pg_encname_as_rb_encoding _(( const char * ));
374
373
  const char * pg_get_rb_encoding_as_pg_encoding _(( rb_encoding * ));
375
374
  rb_encoding *pg_conn_enc_get _(( PGconn * ));
data/ext/pg_connection.c CHANGED
@@ -4171,16 +4171,23 @@ static VALUE
4171
4171
  pgconn_set_default_encoding( VALUE self )
4172
4172
  {
4173
4173
  PGconn *conn = pg_get_pgconn( self );
4174
- rb_encoding *enc;
4175
- const char *encname;
4174
+ rb_encoding *rb_enc;
4176
4175
 
4177
4176
  rb_check_frozen(self);
4178
- if (( enc = rb_default_internal_encoding() )) {
4179
- encname = pg_get_rb_encoding_as_pg_encoding( enc );
4180
- if ( pgconn_set_client_encoding_async(self, rb_str_new_cstr(encname)) != 0 )
4181
- rb_warning( "Failed to set the default_internal encoding to %s: '%s'",
4182
- encname, PQerrorMessage(conn) );
4183
- return rb_enc_from_encoding( enc );
4177
+ if (( rb_enc = rb_default_internal_encoding() )) {
4178
+ rb_encoding * conn_encoding = pg_conn_enc_get( conn );
4179
+
4180
+ /* Don't set the server encoding, if it's unnecessary.
4181
+ * This is important for connection proxies, who disallow configuration settings.
4182
+ */
4183
+ if ( conn_encoding != rb_enc ) {
4184
+ const char *encname = pg_get_rb_encoding_as_pg_encoding( rb_enc );
4185
+ if ( pgconn_set_client_encoding_async(self, rb_str_new_cstr(encname)) != 0 )
4186
+ rb_warning( "Failed to set the default_internal encoding to %s: '%s'",
4187
+ encname, PQerrorMessage(conn) );
4188
+ }
4189
+ pgconn_set_internal_encoding_index( self );
4190
+ return rb_enc_from_encoding( rb_enc );
4184
4191
  } else {
4185
4192
  pgconn_set_internal_encoding_index( self );
4186
4193
  return Qnil;
data/ext/pg_result.c CHANGED
@@ -392,8 +392,8 @@ pg_result_clear(VALUE self)
392
392
  * It also denies setting a type_map or field_name_type.
393
393
  *
394
394
  */
395
- VALUE
396
- static pg_result_freeze(VALUE self)
395
+ static VALUE
396
+ pg_result_freeze(VALUE self)
397
397
  {
398
398
  t_pg_result *this = pgresult_get_this(self);
399
399
 
data/lib/pg/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PG
2
2
  # Library version
3
- VERSION = '1.5.3'
3
+ VERSION = '1.5.4'
4
4
  end
@@ -1,4 +1,4 @@
1
- po4a version 0.69.
1
+ po4a version 0.68.
2
2
  Written by Martin Quinson and Denis Barbier.
3
3
 
4
4
  Copyright © 2002-2022 Software in the Public Interest, Inc.
@@ -7,7 +7,7 @@
7
7
  msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Pg 1.4.6\n"
10
- "POT-Creation-Date: 2023-03-28 08:27+0200\n"
10
+ "POT-Creation-Date: 2023-05-26 21:44+0900\n"
11
11
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -663,13 +663,13 @@ msgstr ""
663
663
  #: ../README.md:201
664
664
  #, markdown-text
665
665
  msgid ""
666
- "Pg is fully compatible with `Fiber.scheduler` introduced in Ruby-3.0. On "
667
- "Windows support for `Fiber.scheduler` is available on Ruby-3.1 or newer. "
668
- "All possibly blocking IO operations are routed through the `Fiber.scheduler` "
669
- "if one is registered for the running thread. That is why pg internally uses "
670
- "the asynchronous libpq interface even for synchronous/blocking method "
671
- "calls. It also uses Ruby's DNS resolution instead of libpq's builtin "
672
- "functions."
666
+ "Pg is fully compatible with `Fiber.scheduler` introduced in Ruby-3.0 since "
667
+ "pg-1.3.0. On Windows support for `Fiber.scheduler` is available on Ruby-3.1 "
668
+ "or newer. All possibly blocking IO operations are routed through the "
669
+ "`Fiber.scheduler` if one is registered for the running thread. That is why "
670
+ "pg internally uses the asynchronous libpq interface even for "
671
+ "synchronous/blocking method calls. It also uses Ruby's DNS resolution "
672
+ "instead of libpq's builtin functions."
673
673
  msgstr ""
674
674
 
675
675
  #. type: Plain text
@@ -699,11 +699,37 @@ msgstr ""
699
699
  #. type: Title ##
700
700
  #: ../README.md:211
701
701
  #, markdown-text, no-wrap
702
+ msgid "Ractor support"
703
+ msgstr ""
704
+
705
+ #. type: Plain text
706
+ #: ../README.md:217
707
+ #, markdown-text
708
+ msgid ""
709
+ "Pg is fully compatible with Ractor introduced in Ruby-3.0 since pg-1.5.0. "
710
+ "All type en/decoders and type maps are shareable between ractors if they are "
711
+ "made frozen by `Ractor.make_shareable`. Also frozen PG::Result and "
712
+ "PG::Tuple objects can be shared. All frozen objects (except PG::Connection) "
713
+ "can still be used to do communication with the PostgreSQL server or to read "
714
+ "retrieved data."
715
+ msgstr ""
716
+
717
+ #. type: Plain text
718
+ #: ../README.md:219
719
+ #, markdown-text
720
+ msgid ""
721
+ "PG::Connection is not shareable and must be created within each Ractor to "
722
+ "establish a dedicated connection."
723
+ msgstr ""
724
+
725
+ #. type: Title ##
726
+ #: ../README.md:221
727
+ #, markdown-text, no-wrap
702
728
  msgid "Contributing"
703
729
  msgstr ""
704
730
 
705
731
  #. type: Plain text
706
- #: ../README.md:215
732
+ #: ../README.md:225
707
733
  #, markdown-text
708
734
  msgid ""
709
735
  "To report bugs, suggest features, or check out the source with Git, [check "
@@ -711,19 +737,19 @@ msgid ""
711
737
  msgstr ""
712
738
 
713
739
  #. type: Plain text
714
- #: ../README.md:217
740
+ #: ../README.md:227
715
741
  #, markdown-text
716
742
  msgid "After checking out the source, install all dependencies:"
717
743
  msgstr ""
718
744
 
719
745
  #. type: Plain text
720
- #: ../README.md:219
746
+ #: ../README.md:229
721
747
  #, markdown-text, no-wrap
722
748
  msgid " $ bundle install\n"
723
749
  msgstr ""
724
750
 
725
751
  #. type: Plain text
726
- #: ../README.md:222
752
+ #: ../README.md:232
727
753
  #, markdown-text
728
754
  msgid ""
729
755
  "Cleanup extension files, packaging files, test databases. Run this to "
@@ -731,25 +757,25 @@ msgid ""
731
757
  msgstr ""
732
758
 
733
759
  #. type: Plain text
734
- #: ../README.md:224
760
+ #: ../README.md:234
735
761
  #, markdown-text, no-wrap
736
762
  msgid " $ rake clean\n"
737
763
  msgstr ""
738
764
 
739
765
  #. type: Plain text
740
- #: ../README.md:226
766
+ #: ../README.md:236
741
767
  #, markdown-text
742
768
  msgid "Compile extension:"
743
769
  msgstr ""
744
770
 
745
771
  #. type: Plain text
746
- #: ../README.md:228
772
+ #: ../README.md:238
747
773
  #, markdown-text, no-wrap
748
774
  msgid " $ rake compile\n"
749
775
  msgstr ""
750
776
 
751
777
  #. type: Plain text
752
- #: ../README.md:230
778
+ #: ../README.md:240
753
779
  #, markdown-text
754
780
  msgid ""
755
781
  "Run tests/specs on the PostgreSQL version that `pg_config --bindir` points "
@@ -757,13 +783,13 @@ msgid ""
757
783
  msgstr ""
758
784
 
759
785
  #. type: Plain text
760
- #: ../README.md:232
786
+ #: ../README.md:242
761
787
  #, markdown-text, no-wrap
762
788
  msgid " $ rake test\n"
763
789
  msgstr ""
764
790
 
765
791
  #. type: Plain text
766
- #: ../README.md:234
792
+ #: ../README.md:244
767
793
  #, markdown-text
768
794
  msgid ""
769
795
  "Or run a specific test per file and line number on a specific PostgreSQL "
@@ -771,7 +797,7 @@ msgid ""
771
797
  msgstr ""
772
798
 
773
799
  #. type: Plain text
774
- #: ../README.md:236
800
+ #: ../README.md:246
775
801
  #, markdown-text, no-wrap
776
802
  msgid ""
777
803
  " $ PATH=/usr/lib/postgresql/14/bin:$PATH rspec -Ilib -fd "
@@ -779,25 +805,25 @@ msgid ""
779
805
  msgstr ""
780
806
 
781
807
  #. type: Plain text
782
- #: ../README.md:238
808
+ #: ../README.md:248
783
809
  #, markdown-text
784
810
  msgid "Generate the API documentation:"
785
811
  msgstr ""
786
812
 
787
813
  #. type: Plain text
788
- #: ../README.md:240
814
+ #: ../README.md:250
789
815
  #, markdown-text, no-wrap
790
816
  msgid " $ rake docs\n"
791
817
  msgstr ""
792
818
 
793
819
  #. type: Plain text
794
- #: ../README.md:242
820
+ #: ../README.md:252
795
821
  #, markdown-text
796
822
  msgid "Make sure, that all bugs and new features are verified by tests."
797
823
  msgstr ""
798
824
 
799
825
  #. type: Plain text
800
- #: ../README.md:245
826
+ #: ../README.md:255
801
827
  #, markdown-text
802
828
  msgid ""
803
829
  "The current maintainers are Michael Granger <ged@FaerieMUD.org> and Lars "
@@ -805,67 +831,67 @@ msgid ""
805
831
  msgstr ""
806
832
 
807
833
  #. type: Title ##
808
- #: ../README.md:247
834
+ #: ../README.md:257
809
835
  #, markdown-text, no-wrap
810
836
  msgid "Copying"
811
837
  msgstr ""
812
838
 
813
839
  #. type: Plain text
814
- #: ../README.md:250
840
+ #: ../README.md:260
815
841
  #, markdown-text
816
842
  msgid "Copyright (c) 1997-2022 by the authors."
817
843
  msgstr ""
818
844
 
819
845
  #. type: Bullet: '* '
820
- #: ../README.md:259
846
+ #: ../README.md:269
821
847
  #, markdown-text
822
848
  msgid "Jeff Davis <ruby-pg@j-davis.com>"
823
849
  msgstr ""
824
850
 
825
851
  #. type: Bullet: '* '
826
- #: ../README.md:259
852
+ #: ../README.md:269
827
853
  #, markdown-text
828
854
  msgid "Guy Decoux (ts) <decoux@moulon.inra.fr>"
829
855
  msgstr ""
830
856
 
831
857
  #. type: Bullet: '* '
832
- #: ../README.md:259
858
+ #: ../README.md:269
833
859
  #, markdown-text
834
860
  msgid "Michael Granger <ged@FaerieMUD.org>"
835
861
  msgstr ""
836
862
 
837
863
  #. type: Bullet: '* '
838
- #: ../README.md:259
864
+ #: ../README.md:269
839
865
  #, markdown-text
840
866
  msgid "Lars Kanis <lars@greiz-reinsdorf.de>"
841
867
  msgstr ""
842
868
 
843
869
  #. type: Bullet: '* '
844
- #: ../README.md:259
870
+ #: ../README.md:269
845
871
  #, markdown-text
846
872
  msgid "Dave Lee"
847
873
  msgstr ""
848
874
 
849
875
  #. type: Bullet: '* '
850
- #: ../README.md:259
876
+ #: ../README.md:269
851
877
  #, markdown-text
852
878
  msgid "Eiji Matsumoto <usagi@ruby.club.or.jp>"
853
879
  msgstr ""
854
880
 
855
881
  #. type: Bullet: '* '
856
- #: ../README.md:259
882
+ #: ../README.md:269
857
883
  #, markdown-text
858
884
  msgid "Yukihiro Matsumoto <matz@ruby-lang.org>"
859
885
  msgstr ""
860
886
 
861
887
  #. type: Bullet: '* '
862
- #: ../README.md:259
888
+ #: ../README.md:269
863
889
  #, markdown-text
864
890
  msgid "Noboru Saitou <noborus@netlab.jp>"
865
891
  msgstr ""
866
892
 
867
893
  #. type: Plain text
868
- #: ../README.md:263
894
+ #: ../README.md:273
869
895
  #, markdown-text
870
896
  msgid ""
871
897
  "You may redistribute this software under the same terms as Ruby itself; see "
@@ -874,7 +900,7 @@ msgid ""
874
900
  msgstr ""
875
901
 
876
902
  #. type: Plain text
877
- #: ../README.md:266
903
+ #: ../README.md:276
878
904
  #, markdown-text
879
905
  msgid ""
880
906
  "Portions of the code are from the PostgreSQL project, and are distributed "
@@ -882,19 +908,19 @@ msgid ""
882
908
  msgstr ""
883
909
 
884
910
  #. type: Plain text
885
- #: ../README.md:268
911
+ #: ../README.md:278
886
912
  #, markdown-text
887
913
  msgid "Portions copyright LAIKA, Inc."
888
914
  msgstr ""
889
915
 
890
916
  #. type: Title ##
891
- #: ../README.md:270
917
+ #: ../README.md:280
892
918
  #, markdown-text, no-wrap
893
919
  msgid "Acknowledgments"
894
920
  msgstr ""
895
921
 
896
922
  #. type: Plain text
897
- #: ../README.md:274
923
+ #: ../README.md:284
898
924
  #, markdown-text
899
925
  msgid ""
900
926
  "See Contributors.rdoc for the many additional fine people that have "
@@ -902,7 +928,7 @@ msgid ""
902
928
  msgstr ""
903
929
 
904
930
  #. type: Plain text
905
- #: ../README.md:276
931
+ #: ../README.md:286
906
932
  #, markdown-text
907
933
  msgid ""
908
934
  "We are thankful to the people at the ruby-list and ruby-dev mailing lists. "
data/translation/po/ja.po CHANGED
@@ -1,11 +1,20 @@
1
1
  # Pgの日本語訳
2
2
  # Copyright (C) 2023 gemmaro.
3
3
  #
4
+ # 翻訳に関しての注意点は以下です。
5
+ #
6
+ # * クラス名やファイル名の両側には日本語の文字をそのまま書けません。
7
+ # RDocでドキュメントを生成したときにリンクが自動生成されないからです。
8
+ #
9
+ # また訳語は以下の対応にしています。
10
+ #
11
+ # encoder -> エンコーダー
12
+ # decoder -> デコーダー
4
13
  msgid ""
5
14
  msgstr ""
6
15
  "Project-Id-Version: Pg 1.4.5\n"
7
- "POT-Creation-Date: 2023-03-28 08:27+0200\n"
8
- "PO-Revision-Date: 2023-02-28 21:24+0900\n"
16
+ "POT-Creation-Date: 2023-05-26 21:44+0900\n"
17
+ "PO-Revision-Date: 2023-05-26 22:39+0900\n"
9
18
  "Last-Translator: gemmaro <gemmaro.dev@gmail.com>\n"
10
19
  "Language-Team: none\n"
11
20
  "Language: ja\n"
@@ -22,7 +31,7 @@ msgstr "pg"
22
31
  #. type: Bullet: '* '
23
32
  #: ../README.md:7
24
33
  msgid "home :: https://github.com/ged/ruby-pg"
25
- msgstr ""
34
+ msgstr "ホーム :: https://github.com/ged/ruby-pg"
26
35
 
27
36
  #. type: Plain text
28
37
  #: ../README.md:7
@@ -32,6 +41,8 @@ msgid ""
32
41
  " https://deveiate.org/code/pg/README_ja_md.html (Japanese)\n"
33
42
  "* clog :: link:/History.md\n"
34
43
  msgstr ""
44
+ "* ドキュメント :: http://deveiate.org/code/pg (英語)、 https://deveiate.org/code/pg/README_ja_md.html (日本語)\n"
45
+ "* 変更履歴 :: link:/History.md\n"
35
46
 
36
47
  #. type: Plain text
37
48
  #: ../README.md:9
@@ -281,11 +292,9 @@ msgid ""
281
292
  "because String allocations are reduced and conversions in (slower) Ruby code "
282
293
  "can be omitted."
283
294
  msgstr ""
284
- "PgにはおまけとしてRubyとネイティブCコードにある結果の値やクエリ引数の型変換が"
285
- "できます。\n"
286
- "こうすることでデータベースとのデータの往来を加速させられますが、それは文字列"
287
- "のアロケーションが減り、(より遅い)Rubyのコードでの変換部分が除かれるからで"
288
- "す。"
295
+ "Pgでは任意でRubyと素のCコードにある結果の値やクエリ引数の型変換ができます。\n"
296
+ "こうすることでデータベースとのデータの往来を加速させられます。\n"
297
+ "なぜなら文字列のアロケーションが減り、(比較的遅い)Rubyのコードでの変換部分が省かれるからです。"
289
298
 
290
299
  #. type: Plain text
291
300
  #: ../README.md:96
@@ -339,11 +348,8 @@ msgid ""
339
348
  "their format and direction in PG::TextEncoder, PG::TextDecoder, PG::"
340
349
  "BinaryEncoder and PG::BinaryDecoder."
341
350
  msgstr ""
342
- "こちらはより低層で、DBMSへ転送するためにRubyのオブジェクトを変換するエンコー"
343
- "ディングクラスと取得してきたデータをRubyのオブジェクトに変換し戻すデコーディ"
344
- "ングクラスが含まれています。クラスはそれぞれの形式によって名前空間PG::"
345
- "TextEncoder、PG::TextDecoder、PG::BinaryEncoder、そしてPG::BinaryDecoderに分"
346
- "かれています。"
351
+ "こちらはより低層で、DBMSへ転送するためにRubyのオブジェクトを変換するエンコーディングクラスと、取得してきたデータをRubyのオブジェクトに変換し戻すデコーディングクラスが含まれています。\n"
352
+ "クラスはそれぞれの形式によって名前空間 PG::TextEncoder, PG::TextDecoder, PG::BinaryEncoder, そして PG::BinaryDecoder に分かれています。"
347
353
 
348
354
  # 以下によるとcomposite typeは複合型と訳すのが良さそうです。
349
355
  #
@@ -367,11 +373,9 @@ msgid ""
367
373
  "objects can be used to set up a PG::TypeMap or alternatively to convert "
368
374
  "single values to/from their string representation."
369
375
  msgstr ""
370
- "エンコーダーないしデコーダーオブジェクトにOIDデータ型や形式コード(テキストな"
371
- "いしバイナリ)や任意で名前を割り当てることができます。要素のエンコーダーない"
372
- "しデコーダーを割り当てることによって複合型を構築することもできます。PG::Coder"
373
- "オブジェクトはPG::TypeMapをセットアップしたりその代わりに単一の値と文字列表現"
374
- "とを相互に変換したりするのに使えます。"
376
+ "エンコーダーないしデコーダーオブジェクトにOIDデータ型や形式コード(テキストないしバイナリ)や任意で名前を割り当てることができます。\n"
377
+ "要素のエンコーダーないしデコーダーを割り当てることによって複合型を構築することもできます。\n"
378
+ "PG::Coder オブジェクトは PG::TypeMap をセットアップしたり、その代わりに単一の値と文字列表現とを相互に変換したりするのに使えます。"
375
379
 
376
380
  #. type: Plain text
377
381
  #: ../README.md:126
@@ -415,16 +419,10 @@ msgstr ""
415
419
 
416
420
  #. type: Bullet: ' * '
417
421
  #: ../README.md:146
418
- #, fuzzy
419
- #| msgid ""
420
- #| "BE: [Int2](rdoc-ref:PG::BinaryEncoder::Int2), [Int4](rdoc-ref:PG::"
421
- #| "BinaryEncoder::Int4), [Int8](rdoc-ref:PG::BinaryEncoder::Int8)"
422
422
  msgid ""
423
423
  "BE: [Float4](rdoc-ref:PG::BinaryEncoder::Float4), [Float8](rdoc-ref:PG::"
424
424
  "BinaryEncoder::Float8)"
425
- msgstr ""
426
- "BE: [Int2](rdoc-ref:PG::BinaryEncoder::Int2)、[Int4](rdoc-ref:PG::"
427
- "BinaryEncoder::Int4)、[Int8](rdoc-ref:PG::BinaryEncoder::Int8)"
425
+ msgstr "BE: [Float4](rdoc-ref:PG::BinaryEncoder::Float4), [Float8](rdoc-ref:PG::BinaryEncoder::Float8)"
428
426
 
429
427
  #. type: Bullet: '* '
430
428
  #: ../README.md:146
@@ -508,18 +506,10 @@ msgstr ""
508
506
 
509
507
  #. type: Bullet: ' * '
510
508
  #: ../README.md:146
511
- #, fuzzy
512
- #| msgid ""
513
- #| "BD: [local](rdoc-ref:PG::BinaryDecoder::TimestampLocal), [UTC](rdoc-ref:"
514
- #| "PG::BinaryDecoder::TimestampUtc), [UTC-to-local](rdoc-ref:PG::"
515
- #| "BinaryDecoder::TimestampUtcToLocal)"
516
509
  msgid ""
517
510
  "BE: [local](rdoc-ref:PG::BinaryEncoder::TimestampLocal), [UTC](rdoc-ref:PG::"
518
511
  "BinaryEncoder::TimestampUtc)"
519
- msgstr ""
520
- "BD: [現地時間](rdoc-ref:PG::BinaryDecoder::TimestampLocal)、[UTC](rdoc-ref:"
521
- "PG::BinaryDecoder::TimestampUtc)、[UTCから現地時間へ](rdoc-ref:PG::"
522
- "BinaryDecoder::TimestampUtcToLocal)"
512
+ msgstr "BE: [現地時間](rdoc-ref:PG::BinaryEncoder::TimestampLocal)、[UTC](rdoc-ref:PG::BinaryEncoder::TimestampUtc)"
523
513
 
524
514
  #. type: Bullet: ' * '
525
515
  #: ../README.md:146
@@ -534,19 +524,11 @@ msgstr ""
534
524
 
535
525
  #. type: Bullet: '* '
536
526
  #: ../README.md:146
537
- #, fuzzy
538
- #| msgid ""
539
- #| "Bytea: [TE](rdoc-ref:PG::TextEncoder::Bytea), [TD](rdoc-ref:PG::"
540
- #| "TextDecoder::Bytea), [BE](rdoc-ref:PG::BinaryEncoder::Bytea), [BD](rdoc-"
541
- #| "ref:PG::BinaryDecoder::Bytea)"
542
527
  msgid ""
543
528
  "Date: [TE](rdoc-ref:PG::TextEncoder::Date), [TD](rdoc-ref:PG::TextDecoder::"
544
529
  "Date), [BE](rdoc-ref:PG::BinaryEncoder::Date), [BD](rdoc-ref:PG::"
545
530
  "BinaryDecoder::Date)"
546
- msgstr ""
547
- "Bytea: [TE](rdoc-ref:PG::TextEncoder::Bytea)、[TD](rdoc-ref:PG::TextDecoder::"
548
- "Bytea)、[BE](rdoc-ref:PG::BinaryEncoder::Bytea)、[BD](rdoc-ref:PG::"
549
- "BinaryDecoder::Bytea)"
531
+ msgstr "日付:[TE](rdoc-ref:PG::TextEncoder::Date)、[TD](rdoc-ref:PG::TextDecoder::Date)、[BE](rdoc-ref:PG::BinaryEncoder::Date)、[BD](rdoc-ref:PG::BinaryDecoder::Date)"
550
532
 
551
533
  #. type: Bullet: '* '
552
534
  #: ../README.md:146
@@ -586,15 +568,10 @@ msgstr ""
586
568
 
587
569
  #. type: Plain text
588
570
  #: ../README.md:148
589
- #, fuzzy
590
- #| msgid ""
591
- #| "The following text formats can also be encoded although they are not used "
592
- #| "as column type:"
593
571
  msgid ""
594
572
  "The following text and binary formats can also be encoded although they are "
595
573
  "not used as column type:"
596
- msgstr ""
597
- "カラム型として使われていませんが以下のテキスト形式もエンコードできます。"
574
+ msgstr "カラム型として使われていませんが、以下のテキスト形式とバイナリ形式もエンコードできます。"
598
575
 
599
576
  #. type: Bullet: '* '
600
577
  #: ../README.md:152
@@ -628,7 +605,7 @@ msgstr ""
628
605
  #: ../README.md:153
629
606
  #, no-wrap
630
607
  msgid "PG::TypeMap and derivations (ext/pg_type_map*.c, lib/pg/type_map*.rb)"
631
- msgstr "PG::TypeMapとその派生 (ext/pg_type_map*.c, lib/pg/type_map*.rb)"
608
+ msgstr "PG::TypeMap とその派生 (ext/pg_type_map*.c, lib/pg/type_map*.rb)"
632
609
 
633
610
  #. type: Plain text
634
611
  #: ../README.md:159
@@ -638,10 +615,10 @@ msgid ""
638
615
  "of this class. They can be chosen and configured according to the particular "
639
616
  "needs for type casting. The default type map is PG::TypeMapAllStrings."
640
617
  msgstr ""
641
- "TypeMapはエンコーダーまたはデコーダーのどちらによってどの値を変換するかを定義"
642
- "します。様々な型の対応付け戦略があるので、このクラスにはいくつかの派生が実装"
643
- "されています。型変換の特有の需要に合わせてそれらの派生から選んで調整を加える"
644
- "ことができます。既定の型の対応付けはPG::TypeMapAllStringsです。"
618
+ "TypeMapはエンコーダーまたはデコーダーのどちらによってどの値を変換するかを定義します。\n"
619
+ "様々な型の対応付け戦略があるので、このクラスにはいくつかの派生が実装されています。\n"
620
+ "型変換の特有の需要に合わせてそれらの派生から選んで調整を加えることができます。\n"
621
+ "既定の型の対応付けは PG::TypeMapAllStrings です。"
645
622
 
646
623
  #. type: Plain text
647
624
  #: ../README.md:163
@@ -650,9 +627,9 @@ msgid ""
650
627
  "result set. Type maps can also be used for COPY in and out data streaming. "
651
628
  "See PG::Connection#copy_data ."
652
629
  msgstr ""
653
- "型の対応付けは、結果の集合それぞれに対し、接続毎ないしクエリ毎に割り当てるこ"
654
- "とができます。型の対応付けはCOPYの入出力データストリーミングでも使うことがで"
655
- "きます。PG::Connection#copy_dataを参照してください。"
630
+ "型の対応付けは、結果の集合それぞれに対し、接続毎ないしクエリ毎に割り当てることができます。\n"
631
+ "型の対応付けはCOPYの入出力データストリーミングでも使うことができます。\n"
632
+ "PG::Connection#copy_data を参照してください。"
656
633
 
657
634
  #. type: Plain text
658
635
  #: ../README.md:165
@@ -699,36 +676,28 @@ msgstr "PG::TypeMapInRuby - Rubyで独自の型の対応付けを定義します
699
676
  msgid ""
700
677
  "The following type maps are prefilled with type mappings from the PG::"
701
678
  "BasicTypeRegistry :"
702
- msgstr ""
703
- "以下の型の対応付けはPG::BasicTypeRegistry由来の型の対応付けが入った状態になっ"
704
- "ています。"
679
+ msgstr "以下の型の対応付けは PG::BasicTypeRegistry 由来の型の対応付けが入った状態になっています。"
705
680
 
706
681
  #. type: Bullet: '* '
707
682
  #: ../README.md:177
708
683
  msgid ""
709
684
  "PG::BasicTypeMapForResults - a PG::TypeMapByOid prefilled with decoders for "
710
685
  "common PostgreSQL column types"
711
- msgstr ""
712
- "PG::BasicTypeMapForResults - PG::TypeMapByOidによくあるPostgreSQLカラム型用に"
713
- "デコーダーが入った状態になっています"
686
+ msgstr "PG::BasicTypeMapForResults - PG::TypeMapByOid によくあるPostgreSQLカラム型用にデコーダーが入った状態になっています"
714
687
 
715
688
  #. type: Bullet: '* '
716
689
  #: ../README.md:177
717
690
  msgid ""
718
691
  "PG::BasicTypeMapBasedOnResult - a PG::TypeMapByOid prefilled with encoders "
719
692
  "for common PostgreSQL column types"
720
- msgstr ""
721
- "PG::BasicTypeMapBasedOnResult - PG::TypeMapByOidによくあるPostgreSQLカラム型"
722
- "用のエンコーダーが入った状態になっています"
693
+ msgstr "PG::BasicTypeMapBasedOnResult - PG::TypeMapByOid によくあるPostgreSQLカラム型用のエンコーダーが入った状態になっています"
723
694
 
724
695
  #. type: Bullet: '* '
725
696
  #: ../README.md:177
726
697
  msgid ""
727
698
  "PG::BasicTypeMapForQueries - a PG::TypeMapByClass prefilled with encoders "
728
699
  "for common Ruby value classes"
729
- msgstr ""
730
- "PG::BasicTypeMapForQueries - PG::TypeMapByClassによくあるRubyの値クラス用にエ"
731
- "ンコーダーが入った状態になっています"
700
+ msgstr "PG::BasicTypeMapForQueries - PG::TypeMapByClass によくあるRubyの値クラス用にエンコーダーが入った状態になっています"
732
701
 
733
702
  #. type: Title ##
734
703
  #: ../README.md:179
@@ -745,11 +714,9 @@ msgid ""
745
714
  "new database server connection for every new thread or use a wrapper library "
746
715
  "like ActiveRecord that manages connections in a thread safe way."
747
716
  msgstr ""
748
- "PGには個々のスレッドが別々のPG::Connectionオブジェクトを同時に使えるという点"
749
- "でスレッド安全性があります。しかし1つ以上のスレッドから同時にPgのオブジェクト"
750
- "にアクセスすると安全ではありません。そのため必ず、毎回新しいスレッドを作ると"
751
- "きに新しいデータベースサーバー接続を開くか、スレッド安全性のある方法で接続を"
752
- "管理するActiveRecordのようなラッパーライブラリを使うようにしてください。"
717
+ "PGには個々のスレッドが別々の PG::Connection オブジェクトを同時に使えるという点でスレッド安全性があります。\n"
718
+ "しかし1つ以上のスレッドから同時にPgのオブジェクトにアクセスすると安全ではありません。\n"
719
+ "そのため必ず、毎回新しいスレッドを作るときに新しいデータベースサーバー接続を開くか、スレッド安全性のある方法で接続を管理するActiveRecordのようなラッパーライブラリを使うようにしてください。"
753
720
 
754
721
  #. type: Plain text
755
722
  #: ../README.md:186
@@ -785,20 +752,19 @@ msgstr "Fiber IOスケジューラー対応"
785
752
  #. type: Plain text
786
753
  #: ../README.md:201
787
754
  msgid ""
788
- "Pg is fully compatible with `Fiber.scheduler` introduced in Ruby-3.0. On "
789
- "Windows support for `Fiber.scheduler` is available on Ruby-3.1 or newer. "
790
- "All possibly blocking IO operations are routed through the `Fiber.scheduler` "
791
- "if one is registered for the running thread. That is why pg internally uses "
792
- "the asynchronous libpq interface even for synchronous/blocking method "
793
- "calls. It also uses Ruby's DNS resolution instead of libpq's builtin "
794
- "functions."
755
+ "Pg is fully compatible with `Fiber.scheduler` introduced in Ruby-3.0 since "
756
+ "pg-1.3.0. On Windows support for `Fiber.scheduler` is available on Ruby-3.1 "
757
+ "or newer. All possibly blocking IO operations are routed through the `Fiber."
758
+ "scheduler` if one is registered for the running thread. That is why pg "
759
+ "internally uses the asynchronous libpq interface even for synchronous/"
760
+ "blocking method calls. It also uses Ruby's DNS resolution instead of "
761
+ "libpq's builtin functions."
795
762
  msgstr ""
796
- "PgはRuby-3.0で導入された`Fiber.scheduler`に完全に対応しています。`Fiber."
797
- "scheduler`のWindows対応についてはRuby-3.1以降で使えます。`Fiber.scheduler`が"
798
- "走らせているスレッドに登録されている場合、起こりうる全てのブロッキングIO操作"
799
- "はそのスケジューラーを経由します。同期的であったりブロックしたりするメソッド"
800
- "呼び出しについてもpgが内部的に非同期のlibpqインターフェースを使っているのはそ"
801
- "れが理由です。またlibpqの組み込み関数に代えてRubyのDNS解決を使っています。"
763
+ "pg-1.3.0以降で、PgはRuby-3.0で導入された`Fiber.scheduler`に完全に対応しています。\n"
764
+ "Windowsでは、`Fiber.scheduler`対応はRuby-3.1以降で使えます。\n"
765
+ "`Fiber.scheduler`が走らせているスレッドに登録されている場合、起こりうる全てのブロッキングIO操作はそのスケジューラーを経由します。\n"
766
+ "同期的であったりブロックしたりするメソッド呼び出しについてもpgが内部的に非同期のlibpqインターフェースを使っているのはそれが理由です。\n"
767
+ "またlibpqの組み込み関数に代えてRubyのDNS解決を使っています。"
802
768
 
803
769
  #. type: Plain text
804
770
  #: ../README.md:205
@@ -810,12 +776,9 @@ msgid ""
810
776
  "enabled, but the additional handling of blocking states is disabled, so that "
811
777
  "the calling program has to handle blocking states on its own."
812
778
  msgstr ""
813
- "内部的にPgは常にlibpqのノンブロッキング接続モードを使います。それからブロッキ"
814
- "ングモードで走っているように振舞いますが、もし`Fiber.scheduler`が登録されてい"
815
- "れば全てのブロッキングIOはそのスケジューラーを通じてRubyで制御されます。`PG::"
816
- "Connection.setnonblocking(true)`が呼ばれたらノンブロッキング状態が有効になっ"
817
- "たままになりますが、それ以降のブロッキング状態の制御が無効になるので、呼び出"
818
- "しているプログラムはブロッキング状態を自力で制御しなければなりません。"
779
+ "内部的にPgは常にlibpqのノンブロッキング接続モードを使います。\n"
780
+ "それからブロッキングモードで走っているように振舞いますが、もし`Fiber.scheduler`が登録されていれば全てのブロッキングIOはそのスケジューラーを通じてRubyで制御されます。\n"
781
+ "`PG::Connection.setnonblocking(true)`が呼ばれたらノンブロッキング状態が有効になったままになりますが、それ以降のブロッキング状態の制御が無効になるので、呼び出しているプログラムはブロッキング状態を自力で制御しなければなりません。"
819
782
 
820
783
  #. type: Plain text
821
784
  #: ../README.md:209
@@ -836,11 +799,39 @@ msgstr ""
836
799
  #. type: Title ##
837
800
  #: ../README.md:211
838
801
  #, no-wrap
802
+ msgid "Ractor support"
803
+ msgstr "Ractor対応"
804
+
805
+ #. type: Plain text
806
+ #: ../README.md:217
807
+ msgid ""
808
+ "Pg is fully compatible with Ractor introduced in Ruby-3.0 since pg-1.5.0. "
809
+ "All type en/decoders and type maps are shareable between ractors if they are "
810
+ "made frozen by `Ractor.make_shareable`. Also frozen PG::Result and PG::"
811
+ "Tuple objects can be shared. All frozen objects (except PG::Connection) can "
812
+ "still be used to do communication with the PostgreSQL server or to read "
813
+ "retrieved data."
814
+ msgstr ""
815
+ "pg-1.5.0以降で、PgはRuby-3.0で導入されたRactorと完全な互換性があります。\n"
816
+ "型エンコーダーないしデコーダー、及び型の対応付けが`Ractor.make_shareable`により凍結されている場合、これらをractor間で共有できます。\n"
817
+ "また凍結された PG::Result と PG::Tuple オブジェクトも共有できます。\n"
818
+ "少なくとも全ての凍結されたオブジェクト(ただし PG::Connection を除く)はPostgreSQLサーバーとのやり取りをしたり取得されたデータを読むのに使えます。"
819
+
820
+ #. type: Plain text
821
+ #: ../README.md:219
822
+ msgid ""
823
+ "PG::Connection is not shareable and must be created within each Ractor to "
824
+ "establish a dedicated connection."
825
+ msgstr "PG::Connection は共有できません。個々の接続を確立するために、それぞれのRactor内で作られなければなりません。"
826
+
827
+ #. type: Title ##
828
+ #: ../README.md:221
829
+ #, no-wrap
839
830
  msgid "Contributing"
840
831
  msgstr "貢献"
841
832
 
842
833
  #. type: Plain text
843
- #: ../README.md:215
834
+ #: ../README.md:225
844
835
  msgid ""
845
836
  "To report bugs, suggest features, or check out the source with Git, [check "
846
837
  "out the project page](https://github.com/ged/ruby-pg)."
@@ -849,18 +840,18 @@ msgstr ""
849
840
  "ロジェクトページをご確認ください](https://github.com/ged/ruby-pg)。"
850
841
 
851
842
  #. type: Plain text
852
- #: ../README.md:217
843
+ #: ../README.md:227
853
844
  msgid "After checking out the source, install all dependencies:"
854
845
  msgstr "ソースをチェックアウトしたあとは全ての依存関係をインストールします。"
855
846
 
856
847
  #. type: Plain text
857
- #: ../README.md:219
848
+ #: ../README.md:229
858
849
  #, no-wrap
859
850
  msgid " $ bundle install\n"
860
851
  msgstr " $ bundle install\n"
861
852
 
862
853
  #. type: Plain text
863
- #: ../README.md:222
854
+ #: ../README.md:232
864
855
  msgid ""
865
856
  "Cleanup extension files, packaging files, test databases. Run this to "
866
857
  "change between PostgreSQL versions:"
@@ -869,24 +860,24 @@ msgstr ""
869
860
  "ンドを走らせてください。PostgreSQLのバージョンも切り替わります。"
870
861
 
871
862
  #. type: Plain text
872
- #: ../README.md:224
863
+ #: ../README.md:234
873
864
  #, no-wrap
874
865
  msgid " $ rake clean\n"
875
866
  msgstr " $ rake clean\n"
876
867
 
877
868
  #. type: Plain text
878
- #: ../README.md:226
869
+ #: ../README.md:236
879
870
  msgid "Compile extension:"
880
871
  msgstr "拡張をコンパイルするには次のようにします。"
881
872
 
882
873
  #. type: Plain text
883
- #: ../README.md:228
874
+ #: ../README.md:238
884
875
  #, no-wrap
885
876
  msgid " $ rake compile\n"
886
877
  msgstr " $ rake compile\n"
887
878
 
888
879
  #. type: Plain text
889
- #: ../README.md:230
880
+ #: ../README.md:240
890
881
  msgid ""
891
882
  "Run tests/specs on the PostgreSQL version that `pg_config --bindir` points "
892
883
  "to:"
@@ -895,13 +886,13 @@ msgstr ""
895
886
  "には次のようにします。"
896
887
 
897
888
  #. type: Plain text
898
- #: ../README.md:232
889
+ #: ../README.md:242
899
890
  #, no-wrap
900
891
  msgid " $ rake test\n"
901
892
  msgstr " $ rake test\n"
902
893
 
903
894
  #. type: Plain text
904
- #: ../README.md:234
895
+ #: ../README.md:244
905
896
  msgid ""
906
897
  "Or run a specific test per file and line number on a specific PostgreSQL "
907
898
  "version:"
@@ -910,29 +901,29 @@ msgstr ""
910
901
  "トを走らせるには次のようにします。"
911
902
 
912
903
  #. type: Plain text
913
- #: ../README.md:236
904
+ #: ../README.md:246
914
905
  #, no-wrap
915
906
  msgid " $ PATH=/usr/lib/postgresql/14/bin:$PATH rspec -Ilib -fd spec/pg/connection_spec.rb:455\n"
916
907
  msgstr " $ PATH=/usr/lib/postgresql/14/bin:$PATH rspec -Ilib -fd spec/pg/connection_spec.rb:455\n"
917
908
 
918
909
  #. type: Plain text
919
- #: ../README.md:238
910
+ #: ../README.md:248
920
911
  msgid "Generate the API documentation:"
921
912
  msgstr "APIドキュメントを生成するには次のようにします。"
922
913
 
923
914
  #. type: Plain text
924
- #: ../README.md:240
915
+ #: ../README.md:250
925
916
  #, no-wrap
926
917
  msgid " $ rake docs\n"
927
918
  msgstr " $ rake docs\n"
928
919
 
929
920
  #. type: Plain text
930
- #: ../README.md:242
921
+ #: ../README.md:252
931
922
  msgid "Make sure, that all bugs and new features are verified by tests."
932
923
  msgstr "必ず全てのバグと新機能についてテストを使って検証してください。"
933
924
 
934
925
  #. type: Plain text
935
- #: ../README.md:245
926
+ #: ../README.md:255
936
927
  msgid ""
937
928
  "The current maintainers are Michael Granger <ged@FaerieMUD.org> and Lars "
938
929
  "Kanis <lars@greiz-reinsdorf.de>."
@@ -941,58 +932,58 @@ msgstr ""
941
932
  "reinsdorf.de>です。"
942
933
 
943
934
  #. type: Title ##
944
- #: ../README.md:247
935
+ #: ../README.md:257
945
936
  #, no-wrap
946
937
  msgid "Copying"
947
938
  msgstr "著作権"
948
939
 
949
940
  #. type: Plain text
950
- #: ../README.md:250
941
+ #: ../README.md:260
951
942
  msgid "Copyright (c) 1997-2022 by the authors."
952
943
  msgstr "Copyright (c) 1997-2022 by the authors."
953
944
 
954
945
  #. type: Bullet: '* '
955
- #: ../README.md:259
946
+ #: ../README.md:269
956
947
  msgid "Jeff Davis <ruby-pg@j-davis.com>"
957
948
  msgstr "Jeff Davis <ruby-pg@j-davis.com>"
958
949
 
959
950
  #. type: Bullet: '* '
960
- #: ../README.md:259
951
+ #: ../README.md:269
961
952
  msgid "Guy Decoux (ts) <decoux@moulon.inra.fr>"
962
953
  msgstr "Guy Decoux (ts) <decoux@moulon.inra.fr>"
963
954
 
964
955
  #. type: Bullet: '* '
965
- #: ../README.md:259
956
+ #: ../README.md:269
966
957
  msgid "Michael Granger <ged@FaerieMUD.org>"
967
958
  msgstr "Michael Granger <ged@FaerieMUD.org>"
968
959
 
969
960
  #. type: Bullet: '* '
970
- #: ../README.md:259
961
+ #: ../README.md:269
971
962
  msgid "Lars Kanis <lars@greiz-reinsdorf.de>"
972
963
  msgstr "Lars Kanis <lars@greiz-reinsdorf.de>"
973
964
 
974
965
  #. type: Bullet: '* '
975
- #: ../README.md:259
966
+ #: ../README.md:269
976
967
  msgid "Dave Lee"
977
968
  msgstr "Dave Lee"
978
969
 
979
970
  #. type: Bullet: '* '
980
- #: ../README.md:259
971
+ #: ../README.md:269
981
972
  msgid "Eiji Matsumoto <usagi@ruby.club.or.jp>"
982
973
  msgstr "Eiji Matsumoto <usagi@ruby.club.or.jp>"
983
974
 
984
975
  #. type: Bullet: '* '
985
- #: ../README.md:259
976
+ #: ../README.md:269
986
977
  msgid "Yukihiro Matsumoto <matz@ruby-lang.org>"
987
978
  msgstr "Yukihiro Matsumoto <matz@ruby-lang.org>"
988
979
 
989
980
  #. type: Bullet: '* '
990
- #: ../README.md:259
981
+ #: ../README.md:269
991
982
  msgid "Noboru Saitou <noborus@netlab.jp>"
992
983
  msgstr "Noboru Saitou <noborus@netlab.jp>"
993
984
 
994
985
  #. type: Plain text
995
- #: ../README.md:263
986
+ #: ../README.md:273
996
987
  msgid ""
997
988
  "You may redistribute this software under the same terms as Ruby itself; see "
998
989
  "https://www.ruby-lang.org/en/about/license.txt or the BSDL file in the "
@@ -1006,7 +997,7 @@ msgstr ""
1006
997
  "のBSDLファイルを参照してください)"
1007
998
 
1008
999
  #. type: Plain text
1009
- #: ../README.md:266
1000
+ #: ../README.md:276
1010
1001
  msgid ""
1011
1002
  "Portions of the code are from the PostgreSQL project, and are distributed "
1012
1003
  "under the terms of the PostgreSQL license, included in the file POSTGRES."
@@ -1018,27 +1009,25 @@ msgstr ""
1018
1009
  "許諾の条件の元で配布されます。ファイルPOSTGRESに含まれています)"
1019
1010
 
1020
1011
  #. type: Plain text
1021
- #: ../README.md:268
1012
+ #: ../README.md:278
1022
1013
  msgid "Portions copyright LAIKA, Inc."
1023
1014
  msgstr "Portions copyright LAIKA, Inc."
1024
1015
 
1025
1016
  #. type: Title ##
1026
- #: ../README.md:270
1017
+ #: ../README.md:280
1027
1018
  #, no-wrap
1028
1019
  msgid "Acknowledgments"
1029
1020
  msgstr "謝辞"
1030
1021
 
1031
1022
  #. type: Plain text
1032
- #: ../README.md:274
1023
+ #: ../README.md:284
1033
1024
  msgid ""
1034
1025
  "See Contributors.rdoc for the many additional fine people that have "
1035
1026
  "contributed to this library over the years."
1036
- msgstr ""
1037
- "長年にわたって貢献してくださった方々についてはContributors.rdocを参照してくだ"
1038
- "さい。"
1027
+ msgstr "長年にわたって貢献してくださった方々については Contributors.rdoc を参照してください。"
1039
1028
 
1040
1029
  #. type: Plain text
1041
- #: ../README.md:276
1030
+ #: ../README.md:286
1042
1031
  msgid ""
1043
1032
  "We are thankful to the people at the ruby-list and ruby-dev mailing lists. "
1044
1033
  "And to the people who developed PostgreSQL."
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,40 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
8
8
  - Lars Kanis
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIEBDCCAmygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz
15
- L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMzAyMTUxNzQxMTVaFw0yNDAy
16
- MTUxNzQxMTVaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
17
- PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/
18
- mZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN
19
- eSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/
20
- 8nBMvR0mHo77kIkapHc26UzVq/G0nKLfDsIHXVylto3PjzOumjG6GhmFN4r3cP6e
21
- SDfl1FSeRYVpt4kmQULz/zdSaOH3AjAq7PM2Z91iGwQvoUXMANH2v89OWjQO/NHe
22
- JMNDFsmHK/6Ji4Kk48Z3TyscHQnipAID5GhS1oD21/WePdj7GhmbF5gBzkV5uepd
23
- eJQPgWGwrQW/Z2oPjRuJrRofzWfrMWqbOahj9uth6WSxhNexUtbjk6P8emmXOJi5
24
- chQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg
25
- 9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjOTA3MAkG
26
- A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ4h1tIyvdUWtMI739xMzTR
27
- 7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEAQAcuTARfiiVUVx5KURICfdTM2Kd7LhOn
28
- qt3Vs4ANGvT226LEp3RnQ+kWGQYMRb3cw3LY2TNQRPlnZxE994mgjBscN4fbjXqO
29
- T0JbVpeszRZa5k1goggbnWT7CO7yU7WcHh13DaSubY7HUpAJn2xz9w2stxQfN/EE
30
- VMlnDJ1P7mUHAvpK8X9j9h7Xlc1niViT18MYwux8mboVTryrLr+clATUkkM3yBF0
31
- RV+c34ReW5eXO9Tr6aKTxh/pFC9ggDT6jOxuJgSvG8HWJzVf4NDvMavIas4KYjiI
32
- BU6CpWaG5NxicqL3BERi52U43HV08br+LNVpb7Rekgve/PJuSFnAR015bhSRXe5U
33
- vBioD1qW2ZW9tXg8Ww2IfDaO5a1So5Xby51rhNlyo6ATj2NkuLWZUKPKHhAz0TKm
34
- Dzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd
35
- NUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx
14
+ MIIDLjCCAhagAwIBAgIBCzANBgkqhkiG9w0BAQsFADA9MQ4wDAYDVQQDDAVrYW5p
15
+ czEXMBUGCgmSJomT8ixkARkWB2NvbWNhcmQxEjAQBgoJkiaJk/IsZAEZFgJkZTAe
16
+ Fw0yMzA0MjgwOTI0NDhaFw0yNDA0MjcwOTI0NDhaMD0xDjAMBgNVBAMMBWthbmlz
17
+ MRcwFQYKCZImiZPyLGQBGRYHY29tY2FyZDESMBAGCgmSJomT8ixkARkWAmRlMIIB
18
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApop+rNmg35bzRugZ21VMGqI6
19
+ HGzPLO4VHYncWn/xmgPU/ZMcZdfj6MzIaZJ/czXyt4eHpBk1r8QOV3gBXnRXEjVW
20
+ 9xi+EdVOkTV2/AVFKThcbTAQGiF/bT1n2M+B1GTybRzMg6hyhOJeGPqIhLfJEpxn
21
+ lJi4+ENAVT4MpqHEAGB8yFoPC0GqiOHQsdHxQV3P3c2OZqG+yJey74QtwA2tLcLn
22
+ Q53c63+VLGsOjODl1yPn/2ejyq8qWu6ahfTxiIlSar2UbwtaQGBDFdb2CXgEufXT
23
+ L7oaPxlmj+Q2oLOfOnInd2Oxop59HoJCQPsg8f921J43NCQGA8VHK6paxIRDLQID
24
+ AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUvgTdT7fe
25
+ x17ugO3IOsjEJwW7KP4wDQYJKoZIhvcNAQELBQADggEBACAxNXwfMGG7paZjnG/c
26
+ smdi/ocW2GmCNtILaSzDZqlD5LoA68MiO7u5vwWyBaDJ6giUB330VJoGRbWMxvxN
27
+ JU6Bnwa4yYp9YtF91wYIi7FXwIrCPKd9bk3bf4M5wECdsv+zvVceq2zRXqD7fci8
28
+ 1LRG8ort/f4TgaT7B4aNwOaabA2UT6u0FGeglqxLkhir86MY3QQyBfJZUoTKWGkz
29
+ S9a7GXsYpe+8HMOaE4+SZp8SORKPgATND5m/4VdzuO59VXjE5UP7QpXigbxAt7H7
30
+ ciK5Du2ZDhowmWzZwNzR7VvVmfAK6RQJlRB03VkkQRWGld5yApOrYDne6WbD8kE0
31
+ uM8=
36
32
  -----END CERTIFICATE-----
37
- date: 2023-04-28 00:00:00.000000000 Z
33
+ date: 2023-09-01 00:00:00.000000000 Z
38
34
  dependencies: []
39
35
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
40
36
  9.3 and later.
@@ -229,7 +225,7 @@ metadata:
229
225
  source_code_uri: https://github.com/ged/ruby-pg
230
226
  changelog_uri: https://github.com/ged/ruby-pg/blob/master/History.md
231
227
  documentation_uri: http://deveiate.org/code/pg
232
- post_install_message:
228
+ post_install_message:
233
229
  rdoc_options:
234
230
  - "--main"
235
231
  - README.md
@@ -248,8 +244,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
244
  - !ruby/object:Gem::Version
249
245
  version: '0'
250
246
  requirements: []
251
- rubygems_version: 3.4.6
252
- signing_key:
247
+ rubygems_version: 3.4.15
248
+ signing_key:
253
249
  specification_version: 4
254
250
  summary: Pg is the Ruby interface to the PostgreSQL RDBMS
255
251
  test_files: []
metadata.gz.sig CHANGED
Binary file