pg 1.4.6-x86-mingw32 → 1.5.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.appveyor.yml +1 -1
  4. data/.gitignore +3 -0
  5. data/History.md +61 -0
  6. data/README.ja.md +29 -19
  7. data/README.md +29 -15
  8. data/Rakefile.cross +1 -1
  9. data/ext/pg.c +10 -28
  10. data/ext/pg.h +10 -5
  11. data/ext/pg_binary_decoder.c +79 -0
  12. data/ext/pg_binary_encoder.c +224 -0
  13. data/ext/pg_coder.c +16 -7
  14. data/ext/pg_connection.c +50 -34
  15. data/ext/pg_copy_coder.c +306 -17
  16. data/ext/pg_record_coder.c +5 -4
  17. data/ext/pg_result.c +88 -17
  18. data/ext/pg_text_decoder.c +28 -10
  19. data/ext/pg_text_encoder.c +22 -9
  20. data/ext/pg_tuple.c +34 -31
  21. data/ext/pg_type_map.c +3 -2
  22. data/ext/pg_type_map_all_strings.c +2 -2
  23. data/ext/pg_type_map_by_class.c +5 -3
  24. data/ext/pg_type_map_by_column.c +9 -3
  25. data/ext/pg_type_map_by_oid.c +7 -4
  26. data/ext/pg_type_map_in_ruby.c +5 -2
  27. data/lib/2.5/pg_ext.so +0 -0
  28. data/lib/2.6/pg_ext.so +0 -0
  29. data/lib/2.7/pg_ext.so +0 -0
  30. data/lib/3.0/pg_ext.so +0 -0
  31. data/lib/3.1/pg_ext.so +0 -0
  32. data/lib/3.2/pg_ext.so +0 -0
  33. data/lib/pg/basic_type_map_based_on_result.rb +21 -1
  34. data/lib/pg/basic_type_map_for_queries.rb +13 -8
  35. data/lib/pg/basic_type_map_for_results.rb +26 -3
  36. data/lib/pg/basic_type_registry.rb +30 -32
  37. data/lib/pg/binary_decoder/date.rb +9 -0
  38. data/lib/pg/binary_decoder/timestamp.rb +26 -0
  39. data/lib/pg/binary_encoder/timestamp.rb +20 -0
  40. data/lib/pg/coder.rb +15 -13
  41. data/lib/pg/connection.rb +63 -12
  42. data/lib/pg/text_decoder/date.rb +18 -0
  43. data/lib/pg/text_decoder/inet.rb +9 -0
  44. data/lib/pg/text_decoder/json.rb +14 -0
  45. data/lib/pg/text_decoder/numeric.rb +9 -0
  46. data/lib/pg/text_decoder/timestamp.rb +30 -0
  47. data/lib/pg/text_encoder/date.rb +12 -0
  48. data/lib/pg/text_encoder/inet.rb +28 -0
  49. data/lib/pg/text_encoder/json.rb +14 -0
  50. data/lib/pg/text_encoder/numeric.rb +9 -0
  51. data/lib/pg/text_encoder/timestamp.rb +24 -0
  52. data/lib/pg/version.rb +1 -1
  53. data/lib/pg.rb +44 -9
  54. data/lib/x86-mingw32/libpq.dll +0 -0
  55. data/pg.gemspec +1 -1
  56. data/translation/po/all.pot +170 -135
  57. data/translation/po/ja.po +365 -186
  58. data/translation/po4a.cfg +4 -1
  59. data.tar.gz.sig +1 -3
  60. metadata +28 -10
  61. metadata.gz.sig +0 -0
  62. data/lib/pg/binary_decoder.rb +0 -23
  63. data/lib/pg/constants.rb +0 -12
  64. data/lib/pg/text_decoder.rb +0 -46
  65. data/lib/pg/text_encoder.rb +0 -59
data/translation/po4a.cfg CHANGED
@@ -4,6 +4,9 @@
4
4
  --localized-charset UTF-8 \
5
5
  --master-language en \
6
6
  --option markdown \
7
- --keep 0
7
+ --keep 0 \
8
+ --package-name Pg \
9
+ --package-version 1.4.6 \
10
+ --copyright-holder 'Pg authors'
8
11
 
9
12
  [type:text] ../README.md ja:../README.ja.md
data.tar.gz.sig CHANGED
@@ -1,3 +1 @@
1
- O�@�5*��9���ѶNs��<:7D�!B3u~��[qp��g��|��m�+@
2
- �x��<[���M�$�x�'�r�1���P|,PAG4l�5��T��R�2I�Gry���NC?���T�5�}�A�b�w����"S�
3
- IO�_Iφu����%���;������ ~��m��eC�`$�B#�3[V1v��خ���ɏQ��tZ�U��qR�2����g�k�|>��<,姮O/ K� �I���zt�
1
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.6
4
+ version: 1.5.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Michael Granger
@@ -34,7 +34,7 @@ cert_chain:
34
34
  Dzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd
35
35
  NUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx
36
36
  -----END CERTIFICATE-----
37
- date: 2023-02-26 00:00:00.000000000 Z
37
+ date: 2023-04-24 00:00:00.000000000 Z
38
38
  dependencies: []
39
39
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
40
40
  9.3 and later.
@@ -79,14 +79,23 @@ extra_rdoc_files:
79
79
  - lib/pg/basic_type_map_for_queries.rb
80
80
  - lib/pg/basic_type_map_for_results.rb
81
81
  - lib/pg/basic_type_registry.rb
82
- - lib/pg/binary_decoder.rb
82
+ - lib/pg/binary_decoder/date.rb
83
+ - lib/pg/binary_decoder/timestamp.rb
84
+ - lib/pg/binary_encoder/timestamp.rb
83
85
  - lib/pg/coder.rb
84
86
  - lib/pg/connection.rb
85
- - lib/pg/constants.rb
86
87
  - lib/pg/exceptions.rb
87
88
  - lib/pg/result.rb
88
- - lib/pg/text_decoder.rb
89
- - lib/pg/text_encoder.rb
89
+ - lib/pg/text_decoder/date.rb
90
+ - lib/pg/text_decoder/inet.rb
91
+ - lib/pg/text_decoder/json.rb
92
+ - lib/pg/text_decoder/numeric.rb
93
+ - lib/pg/text_decoder/timestamp.rb
94
+ - lib/pg/text_encoder/date.rb
95
+ - lib/pg/text_encoder/inet.rb
96
+ - lib/pg/text_encoder/json.rb
97
+ - lib/pg/text_encoder/numeric.rb
98
+ - lib/pg/text_encoder/timestamp.rb
90
99
  - lib/pg/tuple.rb
91
100
  - lib/pg/type_map_by_column.rb
92
101
  - lib/pg/version.rb
@@ -161,14 +170,23 @@ files:
161
170
  - lib/pg/basic_type_map_for_queries.rb
162
171
  - lib/pg/basic_type_map_for_results.rb
163
172
  - lib/pg/basic_type_registry.rb
164
- - lib/pg/binary_decoder.rb
173
+ - lib/pg/binary_decoder/date.rb
174
+ - lib/pg/binary_decoder/timestamp.rb
175
+ - lib/pg/binary_encoder/timestamp.rb
165
176
  - lib/pg/coder.rb
166
177
  - lib/pg/connection.rb
167
- - lib/pg/constants.rb
168
178
  - lib/pg/exceptions.rb
169
179
  - lib/pg/result.rb
170
- - lib/pg/text_decoder.rb
171
- - lib/pg/text_encoder.rb
180
+ - lib/pg/text_decoder/date.rb
181
+ - lib/pg/text_decoder/inet.rb
182
+ - lib/pg/text_decoder/json.rb
183
+ - lib/pg/text_decoder/numeric.rb
184
+ - lib/pg/text_decoder/timestamp.rb
185
+ - lib/pg/text_encoder/date.rb
186
+ - lib/pg/text_encoder/inet.rb
187
+ - lib/pg/text_encoder/json.rb
188
+ - lib/pg/text_encoder/numeric.rb
189
+ - lib/pg/text_encoder/timestamp.rb
172
190
  - lib/pg/tuple.rb
173
191
  - lib/pg/type_map_by_column.rb
174
192
  - lib/pg/version.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,23 +0,0 @@
1
- # -*- ruby -*-
2
- # frozen_string_literal: true
3
-
4
- module PG
5
- module BinaryDecoder
6
- # Convenience classes for timezone options
7
- class TimestampUtc < Timestamp
8
- def initialize(params={})
9
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_UTC | PG::Coder::TIMESTAMP_APP_UTC))
10
- end
11
- end
12
- class TimestampUtcToLocal < Timestamp
13
- def initialize(params={})
14
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_UTC | PG::Coder::TIMESTAMP_APP_LOCAL))
15
- end
16
- end
17
- class TimestampLocal < Timestamp
18
- def initialize(params={})
19
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_LOCAL | PG::Coder::TIMESTAMP_APP_LOCAL))
20
- end
21
- end
22
- end
23
- end # module PG
data/lib/pg/constants.rb DELETED
@@ -1,12 +0,0 @@
1
- # -*- ruby -*-
2
- # frozen_string_literal: true
3
-
4
- require 'pg' unless defined?( PG )
5
-
6
-
7
- module PG::Constants
8
-
9
- # Most of these are defined in the extension.
10
-
11
- end # module PG::Constants
12
-
@@ -1,46 +0,0 @@
1
- # -*- ruby -*-
2
- # frozen_string_literal: true
3
-
4
- require 'date'
5
- require 'json'
6
-
7
- module PG
8
- module TextDecoder
9
- class Date < SimpleDecoder
10
- def decode(string, tuple=nil, field=nil)
11
- if string =~ /\A(\d{4})-(\d\d)-(\d\d)\z/
12
- ::Date.new $1.to_i, $2.to_i, $3.to_i
13
- else
14
- string
15
- end
16
- end
17
- end
18
-
19
- class JSON < SimpleDecoder
20
- def decode(string, tuple=nil, field=nil)
21
- ::JSON.parse(string, quirks_mode: true)
22
- end
23
- end
24
-
25
- # Convenience classes for timezone options
26
- class TimestampUtc < Timestamp
27
- def initialize(params={})
28
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_UTC | PG::Coder::TIMESTAMP_APP_UTC))
29
- end
30
- end
31
- class TimestampUtcToLocal < Timestamp
32
- def initialize(params={})
33
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_UTC | PG::Coder::TIMESTAMP_APP_LOCAL))
34
- end
35
- end
36
- class TimestampLocal < Timestamp
37
- def initialize(params={})
38
- super(params.merge(flags: PG::Coder::TIMESTAMP_DB_LOCAL | PG::Coder::TIMESTAMP_APP_LOCAL))
39
- end
40
- end
41
-
42
- # For backward compatibility:
43
- TimestampWithoutTimeZone = TimestampLocal
44
- TimestampWithTimeZone = Timestamp
45
- end
46
- end # module PG
@@ -1,59 +0,0 @@
1
- # -*- ruby -*-
2
- # frozen_string_literal: true
3
-
4
- require 'json'
5
- require 'ipaddr'
6
-
7
- module PG
8
- module TextEncoder
9
- class Date < SimpleEncoder
10
- def encode(value)
11
- value.respond_to?(:strftime) ? value.strftime("%Y-%m-%d") : value
12
- end
13
- end
14
-
15
- class TimestampWithoutTimeZone < SimpleEncoder
16
- def encode(value)
17
- value.respond_to?(:strftime) ? value.strftime("%Y-%m-%d %H:%M:%S.%N") : value
18
- end
19
- end
20
-
21
- class TimestampUtc < SimpleEncoder
22
- def encode(value)
23
- value.respond_to?(:utc) ? value.utc.strftime("%Y-%m-%d %H:%M:%S.%N") : value
24
- end
25
- end
26
-
27
- class TimestampWithTimeZone < SimpleEncoder
28
- def encode(value)
29
- value.respond_to?(:strftime) ? value.strftime("%Y-%m-%d %H:%M:%S.%N %:z") : value
30
- end
31
- end
32
-
33
- class JSON < SimpleEncoder
34
- def encode(value)
35
- ::JSON.generate(value, quirks_mode: true)
36
- end
37
- end
38
-
39
- class Inet < SimpleEncoder
40
- def encode(value)
41
- case value
42
- when IPAddr
43
- default_prefix = (value.family == Socket::AF_INET ? 32 : 128)
44
- s = value.to_s
45
- if value.respond_to?(:prefix)
46
- prefix = value.prefix
47
- else
48
- range = value.to_range
49
- prefix = default_prefix - Math.log(((range.end.to_i - range.begin.to_i) + 1), 2).to_i
50
- end
51
- s << "/" << prefix.to_s if prefix != default_prefix
52
- s
53
- else
54
- value
55
- end
56
- end
57
- end
58
- end
59
- end # module PG