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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.appveyor.yml +15 -9
- data/.github/workflows/binary-gems.yml +41 -10
- data/.github/workflows/source-gem.yml +18 -12
- data/.gitignore +11 -2
- data/.travis.yml +2 -2
- data/{History.rdoc → History.md} +223 -153
- data/README.ja.md +276 -0
- data/README.md +286 -0
- data/Rakefile +12 -3
- data/Rakefile.cross +7 -11
- data/certs/larskanis-2023.pem +24 -0
- data/ext/pg.c +10 -28
- data/ext/pg.h +10 -5
- data/ext/pg_binary_decoder.c +79 -0
- data/ext/pg_binary_encoder.c +224 -0
- data/ext/pg_coder.c +16 -7
- data/ext/pg_connection.c +156 -60
- data/ext/pg_copy_coder.c +306 -17
- data/ext/pg_record_coder.c +5 -4
- data/ext/pg_result.c +88 -17
- data/ext/pg_text_decoder.c +28 -10
- data/ext/pg_text_encoder.c +22 -9
- data/ext/pg_tuple.c +34 -31
- data/ext/pg_type_map.c +3 -2
- data/ext/pg_type_map_all_strings.c +2 -2
- data/ext/pg_type_map_by_class.c +5 -3
- data/ext/pg_type_map_by_column.c +9 -3
- data/ext/pg_type_map_by_oid.c +7 -4
- data/ext/pg_type_map_in_ruby.c +5 -2
- data/lib/3.1/pg_ext.so +0 -0
- data/lib/3.2/pg_ext.so +0 -0
- data/lib/pg/basic_type_map_based_on_result.rb +21 -1
- data/lib/pg/basic_type_map_for_queries.rb +13 -8
- data/lib/pg/basic_type_map_for_results.rb +26 -3
- data/lib/pg/basic_type_registry.rb +30 -32
- data/lib/pg/binary_decoder/date.rb +9 -0
- data/lib/pg/binary_decoder/timestamp.rb +26 -0
- data/lib/pg/binary_encoder/timestamp.rb +20 -0
- data/lib/pg/coder.rb +15 -13
- data/lib/pg/connection.rb +82 -30
- data/lib/pg/exceptions.rb +7 -0
- data/lib/pg/text_decoder/date.rb +18 -0
- data/lib/pg/text_decoder/inet.rb +9 -0
- data/lib/pg/text_decoder/json.rb +14 -0
- data/lib/pg/text_decoder/numeric.rb +9 -0
- data/lib/pg/text_decoder/timestamp.rb +30 -0
- data/lib/pg/text_encoder/date.rb +12 -0
- data/lib/pg/text_encoder/inet.rb +28 -0
- data/lib/pg/text_encoder/json.rb +14 -0
- data/lib/pg/text_encoder/numeric.rb +9 -0
- data/lib/pg/text_encoder/timestamp.rb +24 -0
- data/lib/pg/version.rb +1 -1
- data/lib/pg.rb +44 -15
- data/lib/x64-mingw-ucrt/libpq.dll +0 -0
- data/pg.gemspec +4 -2
- data/rakelib/task_extension.rb +1 -1
- data/translation/.po4a-version +7 -0
- data/translation/po/all.pot +910 -0
- data/translation/po/ja.po +1047 -0
- data/translation/po4a.cfg +12 -0
- data.tar.gz.sig +0 -0
- metadata +111 -35
- metadata.gz.sig +0 -0
- data/README.ja.rdoc +0 -13
- data/README.rdoc +0 -233
- data/lib/pg/binary_decoder.rb +0 -23
- data/lib/pg/constants.rb +0 -12
- data/lib/pg/text_decoder.rb +0 -46
- data/lib/pg/text_encoder.rb +0 -59
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'ipaddr'
|
5
|
+
|
6
|
+
module PG
|
7
|
+
module TextEncoder
|
8
|
+
class Inet < SimpleEncoder
|
9
|
+
def encode(value)
|
10
|
+
case value
|
11
|
+
when IPAddr
|
12
|
+
default_prefix = (value.family == Socket::AF_INET ? 32 : 128)
|
13
|
+
s = value.to_s
|
14
|
+
if value.respond_to?(:prefix)
|
15
|
+
prefix = value.prefix
|
16
|
+
else
|
17
|
+
range = value.to_range
|
18
|
+
prefix = default_prefix - Math.log(((range.end.to_i - range.begin.to_i) + 1), 2).to_i
|
19
|
+
end
|
20
|
+
s << "/" << prefix.to_s if prefix != default_prefix
|
21
|
+
s
|
22
|
+
else
|
23
|
+
value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end # module PG
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module PG
|
5
|
+
module TextEncoder
|
6
|
+
class TimestampWithoutTimeZone < SimpleEncoder
|
7
|
+
def encode(value)
|
8
|
+
value.respond_to?(:strftime) ? value.strftime("%Y-%m-%d %H:%M:%S.%N") : value
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class TimestampUtc < SimpleEncoder
|
13
|
+
def encode(value)
|
14
|
+
value.respond_to?(:utc) ? value.utc.strftime("%Y-%m-%d %H:%M:%S.%N") : value
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class TimestampWithTimeZone < SimpleEncoder
|
19
|
+
def encode(value)
|
20
|
+
value.respond_to?(:strftime) ? value.strftime("%Y-%m-%d %H:%M:%S.%N %:z") : value
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end # module PG
|
data/lib/pg/version.rb
CHANGED
data/lib/pg.rb
CHANGED
@@ -50,12 +50,6 @@ module PG
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
|
54
|
-
class NotAllCopyDataRetrieved < PG::Error
|
55
|
-
end
|
56
|
-
class NotInBlockingMode < PG::Error
|
57
|
-
end
|
58
|
-
|
59
53
|
# Get the PG library version.
|
60
54
|
#
|
61
55
|
# +include_buildnum+ is no longer used and any value passed will be ignored.
|
@@ -69,21 +63,56 @@ module PG
|
|
69
63
|
Connection.new( *args, &block )
|
70
64
|
end
|
71
65
|
|
66
|
+
if defined?(Ractor.make_shareable)
|
67
|
+
def self.make_shareable(obj)
|
68
|
+
Ractor.make_shareable(obj)
|
69
|
+
end
|
70
|
+
else
|
71
|
+
def self.make_shareable(obj)
|
72
|
+
obj.freeze
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
module BinaryDecoder
|
77
|
+
%i[ TimestampUtc TimestampUtcToLocal TimestampLocal ].each do |klass|
|
78
|
+
autoload klass, 'pg/binary_decoder/timestamp'
|
79
|
+
end
|
80
|
+
autoload :Date, 'pg/binary_decoder/date'
|
81
|
+
end
|
82
|
+
module BinaryEncoder
|
83
|
+
%i[ TimestampUtc TimestampLocal ].each do |klass|
|
84
|
+
autoload klass, 'pg/binary_encoder/timestamp'
|
85
|
+
end
|
86
|
+
end
|
87
|
+
module TextDecoder
|
88
|
+
%i[ TimestampUtc TimestampUtcToLocal TimestampLocal TimestampWithoutTimeZone TimestampWithTimeZone ].each do |klass|
|
89
|
+
autoload klass, 'pg/text_decoder/timestamp'
|
90
|
+
end
|
91
|
+
autoload :Date, 'pg/text_decoder/date'
|
92
|
+
autoload :Inet, 'pg/text_decoder/inet'
|
93
|
+
autoload :JSON, 'pg/text_decoder/json'
|
94
|
+
autoload :Numeric, 'pg/text_decoder/numeric'
|
95
|
+
end
|
96
|
+
module TextEncoder
|
97
|
+
%i[ TimestampUtc TimestampWithoutTimeZone TimestampWithTimeZone ].each do |klass|
|
98
|
+
autoload klass, 'pg/text_encoder/timestamp'
|
99
|
+
end
|
100
|
+
autoload :Date, 'pg/text_encoder/date'
|
101
|
+
autoload :Inet, 'pg/text_encoder/inet'
|
102
|
+
autoload :JSON, 'pg/text_encoder/json'
|
103
|
+
autoload :Numeric, 'pg/text_encoder/numeric'
|
104
|
+
end
|
72
105
|
|
106
|
+
autoload :BasicTypeMapBasedOnResult, 'pg/basic_type_map_based_on_result'
|
107
|
+
autoload :BasicTypeMapForQueries, 'pg/basic_type_map_for_queries'
|
108
|
+
autoload :BasicTypeMapForResults, 'pg/basic_type_map_for_results'
|
109
|
+
autoload :BasicTypeRegistry, 'pg/basic_type_registry'
|
73
110
|
require 'pg/exceptions'
|
74
|
-
require 'pg/constants'
|
75
111
|
require 'pg/coder'
|
76
|
-
require 'pg/binary_decoder'
|
77
|
-
require 'pg/text_encoder'
|
78
|
-
require 'pg/text_decoder'
|
79
|
-
require 'pg/basic_type_registry'
|
80
|
-
require 'pg/basic_type_map_based_on_result'
|
81
|
-
require 'pg/basic_type_map_for_queries'
|
82
|
-
require 'pg/basic_type_map_for_results'
|
83
112
|
require 'pg/type_map_by_column'
|
84
113
|
require 'pg/connection'
|
85
114
|
require 'pg/result'
|
86
115
|
require 'pg/tuple'
|
87
|
-
|
116
|
+
autoload :VERSION, 'pg/version'
|
88
117
|
|
89
118
|
end # module PG
|
Binary file
|
data/pg.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
19
19
|
spec.metadata["source_code_uri"] = "https://github.com/ged/ruby-pg"
|
20
|
-
spec.metadata["changelog_uri"] = "https://github.com/ged/ruby-pg/blob/master/History.
|
20
|
+
spec.metadata["changelog_uri"] = "https://github.com/ged/ruby-pg/blob/master/History.md"
|
21
21
|
spec.metadata["documentation_uri"] = "http://deveiate.org/code/pg"
|
22
22
|
|
23
23
|
# Specify which files should be added to the gem when it is released.
|
@@ -28,5 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.extensions = ["ext/extconf.rb"]
|
29
29
|
spec.require_paths = ["lib"]
|
30
30
|
spec.cert_chain = ["certs/ged.pem"]
|
31
|
-
spec.rdoc_options = ["--main", "README.
|
31
|
+
spec.rdoc_options = ["--main", "README.md",
|
32
|
+
"--title", "PG: The Ruby PostgreSQL Driver"]
|
33
|
+
spec.extra_rdoc_files = `git ls-files -z *.rdoc *.md lib/*.rb lib/*/*.rb lib/*/*/*.rb ext/*.c ext/*.h`.split("\x0")
|
32
34
|
end
|
data/rakelib/task_extension.rb
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
po4a version 0.69.
|
2
|
+
Written by Martin Quinson and Denis Barbier.
|
3
|
+
|
4
|
+
Copyright © 2002-2022 Software in the Public Interest, Inc.
|
5
|
+
This is free software; see source code for copying
|
6
|
+
conditions. There is NO warranty; not even for
|
7
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|