pg 0.12.1 → 0.12.2
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.
- data.tar.gz.sig +0 -0
- data/ChangeLog +42 -1
- data/History.rdoc +9 -0
- data/ext/extconf.rb +1 -1
- data/ext/pg.c +17 -10
- data/ext/pg.h +5 -1
- data/spec/m17n_spec.rb +24 -5
- data/spec/pgconn_spec.rb +14 -7
- data/spec/pgresult_spec.rb +12 -7
- metadata +14 -14
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,7 +1,48 @@
|
|
1
|
+
2012-01-03 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* History.rdoc:
|
4
|
+
Updating history for Lars's patch
|
5
|
+
[5daf0ca646d2] [tip]
|
6
|
+
|
7
|
+
* spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb:
|
8
|
+
Moved all the spec hooks to the top of the file
|
9
|
+
[42671e5d4d67]
|
10
|
+
|
11
|
+
2012-01-03 Michael Granger <ged@faeriemud.org>
|
12
|
+
|
13
|
+
* Merged in larskanis/ruby-pg (pull request #4)
|
14
|
+
[8d88c47ccc9b]
|
15
|
+
|
16
|
+
2012-01-03 Lars Kanis <kanis@comcard.de>
|
17
|
+
|
18
|
+
* ext/extconf.rb, ext/pg.h:
|
19
|
+
Alternatively include 'st.h' instead of 'ruby/st.h'. This fixes
|
20
|
+
compilation on Ruby 1.8.
|
21
|
+
[0cf272cb383f]
|
22
|
+
|
23
|
+
2012-01-03 Michael Granger <ged@FaerieMUD.org>
|
24
|
+
|
25
|
+
* Merged with 6fc514ea2547
|
26
|
+
[5ec3792d1cac]
|
27
|
+
|
28
|
+
2012-01-02 Michael Granger <ged@FaerieMUD.org>
|
29
|
+
|
30
|
+
* .hgtags:
|
31
|
+
Added tag v0.12.1 for changeset 21f84883e5c2
|
32
|
+
[6fc514ea2547]
|
33
|
+
|
34
|
+
* .hgsigs:
|
35
|
+
Added signature for changeset f72b14d349bf
|
36
|
+
[21f84883e5c2] [v0.12.1]
|
37
|
+
|
1
38
|
2011-12-27 Michael Granger <ged@FaerieMUD.org>
|
2
39
|
|
40
|
+
* History.rdoc:
|
41
|
+
Updating history file with the st.h change
|
42
|
+
[935f29411410]
|
43
|
+
|
3
44
|
* Merged with f8d66e32b9a8
|
4
|
-
[f72b14d349bf] [
|
45
|
+
[f72b14d349bf] [github/master]
|
5
46
|
|
6
47
|
2011-12-14 Michael Granger <ged@FaerieMUD.org>
|
7
48
|
|
data/History.rdoc
CHANGED
@@ -1,8 +1,17 @@
|
|
1
|
+
== v0.12.2 [2012-01-03] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
- Fix for the 1.8.7 breakage introduced by the st.h fix for alternative Ruby
|
4
|
+
implementations (#97 and #98). Thanks to Lars Kanis for the patch.
|
5
|
+
- Encode error messages with the connection's encoding under 1.9 (#96)
|
6
|
+
|
7
|
+
|
1
8
|
== v0.12.1 [2011-12-14] Michael Granger <ged@FaerieMUD.org>
|
2
9
|
|
3
10
|
- Made rake-compiler a dev dependency, as Rubygems doesn't use the Rakefile
|
4
11
|
for compiling the extension. Thanks to eolamey@bitbucket and Jeremy Evans
|
5
12
|
for pointing this out.
|
13
|
+
- Added an explicit include for ruby/st.h for implementations that need it
|
14
|
+
(fixes #95).
|
6
15
|
|
7
16
|
|
8
17
|
== v0.12.0 [2011-12-07] Michael Granger <ged@FaerieMUD.org>
|
data/ext/extconf.rb
CHANGED
@@ -61,7 +61,7 @@ $defs.push( "-DHAVE_ST_NOTIFY_EXTRA" ) if
|
|
61
61
|
|
62
62
|
# unistd.h confilicts with ruby/win32.h when cross compiling for win32 and ruby 1.9.1
|
63
63
|
have_header 'unistd.h' unless enable_config("static-build")
|
64
|
-
have_header 'ruby/st.h' or abort "pg currently requires the ruby/st.h header"
|
64
|
+
have_header 'ruby/st.h' or have_header 'st.h' or abort "pg currently requires the ruby/st.h header"
|
65
65
|
|
66
66
|
create_header()
|
67
67
|
create_makefile( "pg_ext" )
|
data/ext/pg.c
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
modified at: Wed Jan 20 16:41:51 1999
|
10
10
|
|
11
11
|
$Author: ged $
|
12
|
-
$Date:
|
12
|
+
$Date: 2012/01/03 23:14:35 $
|
13
13
|
************************************************/
|
14
14
|
|
15
15
|
#include "pg.h"
|
@@ -28,7 +28,7 @@ static VALUE rb_cPGconn;
|
|
28
28
|
static VALUE rb_cPGresult;
|
29
29
|
static VALUE rb_ePGError;
|
30
30
|
|
31
|
-
static const char *VERSION = "0.12.
|
31
|
+
static const char *VERSION = "0.12.2";
|
32
32
|
|
33
33
|
|
34
34
|
/* The following functions are part of libpq, but not
|
@@ -134,14 +134,17 @@ new_pgresult(PGresult *result)
|
|
134
134
|
static void
|
135
135
|
pgresult_check(VALUE rb_pgconn, VALUE rb_pgresult)
|
136
136
|
{
|
137
|
-
VALUE error;
|
137
|
+
VALUE error, exception;
|
138
138
|
PGconn *conn = get_pgconn(rb_pgconn);
|
139
139
|
PGresult *result;
|
140
140
|
Data_Get_Struct(rb_pgresult, PGresult, result);
|
141
|
+
#ifdef M17N_SUPPORTED
|
142
|
+
rb_encoding *enc = pgconn_get_client_encoding_as_rb_encoding(conn);
|
143
|
+
#endif
|
141
144
|
|
142
145
|
if(result == NULL)
|
143
146
|
{
|
144
|
-
error =
|
147
|
+
error = rb_str_new2( PQerrorMessage(conn) );
|
145
148
|
}
|
146
149
|
else
|
147
150
|
{
|
@@ -156,17 +159,21 @@ pgresult_check(VALUE rb_pgconn, VALUE rb_pgresult)
|
|
156
159
|
case PGRES_BAD_RESPONSE:
|
157
160
|
case PGRES_FATAL_ERROR:
|
158
161
|
case PGRES_NONFATAL_ERROR:
|
159
|
-
error =
|
162
|
+
error = rb_str_new2( PQresultErrorMessage(result) );
|
160
163
|
break;
|
161
164
|
default:
|
162
|
-
error =
|
163
|
-
"internal error : unknown result status.");
|
165
|
+
error = rb_str_new2( "internal error : unknown result status." );
|
164
166
|
}
|
165
167
|
}
|
166
168
|
|
167
|
-
|
168
|
-
|
169
|
-
|
169
|
+
#ifdef M17N_SUPPORTED
|
170
|
+
rb_enc_set_index( error, rb_enc_to_index(enc) );
|
171
|
+
#endif
|
172
|
+
exception = rb_exc_new3( rb_ePGError, error );
|
173
|
+
rb_iv_set( exception, "@connection", rb_pgconn );
|
174
|
+
rb_iv_set( exception, "@result", rb_pgresult );
|
175
|
+
rb_exc_raise( exception );
|
176
|
+
|
170
177
|
return;
|
171
178
|
}
|
172
179
|
|
data/ext/pg.h
CHANGED
@@ -14,7 +14,11 @@
|
|
14
14
|
#endif /* HAVE_UNISTD_H */
|
15
15
|
|
16
16
|
#include "ruby.h"
|
17
|
-
#
|
17
|
+
#ifdef HAVE_RUBY_ST_H
|
18
|
+
#include "ruby/st.h"
|
19
|
+
#elif HAVE_ST_H
|
20
|
+
#include "st.h"
|
21
|
+
#endif
|
18
22
|
#include "libpq-fe.h"
|
19
23
|
#include "libpq/libpq-fs.h" /* large-object interface */
|
20
24
|
#include "compat.h"
|
data/spec/m17n_spec.rb
CHANGED
@@ -26,6 +26,18 @@ describe "multinationalization support", :ruby_19 => true do
|
|
26
26
|
@conn.exec( 'BEGIN' )
|
27
27
|
end
|
28
28
|
|
29
|
+
after( :each ) do
|
30
|
+
@conn.exec( 'ROLLBACK' ) if @conn
|
31
|
+
end
|
32
|
+
|
33
|
+
after( :all ) do
|
34
|
+
teardown_testing_db( @conn ) if @conn
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
#
|
39
|
+
# Examples
|
40
|
+
#
|
29
41
|
|
30
42
|
it "should return the same bytes in text format that are sent as inline text" do
|
31
43
|
binary_file = File.join(Dir.pwd, 'spec/data', 'random_binary_data')
|
@@ -115,6 +127,7 @@ describe "multinationalization support", :ruby_19 => true do
|
|
115
127
|
end
|
116
128
|
end
|
117
129
|
|
130
|
+
|
118
131
|
describe "Ruby 1.9.x default_internal encoding" do
|
119
132
|
|
120
133
|
it "honors the Encoding.default_internal if it's set and the synchronous interface is used" do
|
@@ -141,11 +154,17 @@ describe "multinationalization support", :ruby_19 => true do
|
|
141
154
|
end
|
142
155
|
|
143
156
|
|
144
|
-
|
145
|
-
@conn.
|
146
|
-
|
157
|
+
it "encodes exception messages with the connection's encoding (#96)" do
|
158
|
+
@conn.set_client_encoding( 'utf-8' )
|
159
|
+
@conn.exec "CREATE TABLE foo (bar TEXT)"
|
147
160
|
|
148
|
-
|
149
|
-
|
161
|
+
begin
|
162
|
+
@conn.exec "INSERT INTO foo VALUES ('Côte d'Ivoire')"
|
163
|
+
rescue => err
|
164
|
+
err.message.encoding.should == Encoding::UTF_8
|
165
|
+
else
|
166
|
+
fail "No exception raised?!"
|
167
|
+
end
|
150
168
|
end
|
169
|
+
|
151
170
|
end
|
data/spec/pgconn_spec.rb
CHANGED
@@ -22,6 +22,7 @@ require 'timeout'
|
|
22
22
|
describe PGconn do
|
23
23
|
include PgTestingHelpers
|
24
24
|
|
25
|
+
|
25
26
|
before( :all ) do
|
26
27
|
@conn = setup_testing_db( "PGconn" )
|
27
28
|
end
|
@@ -30,6 +31,19 @@ describe PGconn do
|
|
30
31
|
@conn.exec( 'BEGIN' )
|
31
32
|
end
|
32
33
|
|
34
|
+
after( :each ) do
|
35
|
+
@conn.exec( 'ROLLBACK' )
|
36
|
+
end
|
37
|
+
|
38
|
+
after( :all ) do
|
39
|
+
teardown_testing_db( @conn )
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
#
|
44
|
+
# Examples
|
45
|
+
#
|
46
|
+
|
33
47
|
it "can create a connection option string from a Hash of options" do
|
34
48
|
optstring = PGconn.parse_connect_args(
|
35
49
|
:host => 'pgsql.example.com',
|
@@ -633,11 +647,4 @@ describe PGconn do
|
|
633
647
|
result.should == { 'one' => '47' }
|
634
648
|
end
|
635
649
|
|
636
|
-
after( :each ) do
|
637
|
-
@conn.exec( 'ROLLBACK' )
|
638
|
-
end
|
639
|
-
|
640
|
-
after( :all ) do
|
641
|
-
teardown_testing_db( @conn )
|
642
|
-
end
|
643
650
|
end
|
data/spec/pgresult_spec.rb
CHANGED
@@ -29,6 +29,18 @@ describe PGresult do
|
|
29
29
|
@conn.exec( 'BEGIN' )
|
30
30
|
end
|
31
31
|
|
32
|
+
after( :each ) do
|
33
|
+
@conn.exec( 'ROLLBACK' )
|
34
|
+
end
|
35
|
+
|
36
|
+
after( :all ) do
|
37
|
+
teardown_testing_db( @conn )
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
#
|
42
|
+
# Examples
|
43
|
+
#
|
32
44
|
|
33
45
|
it "should act as an array of hashes" do
|
34
46
|
res = @conn.exec("SELECT 1 AS a, 2 AS b")
|
@@ -240,11 +252,4 @@ describe PGresult do
|
|
240
252
|
res.ftablecol(1).should == 0 # and it shouldn't raise an exception, either
|
241
253
|
end
|
242
254
|
|
243
|
-
after( :each ) do
|
244
|
-
@conn.exec( 'ROLLBACK' )
|
245
|
-
end
|
246
|
-
|
247
|
-
after( :all ) do
|
248
|
-
teardown_testing_db( @conn )
|
249
|
-
end
|
250
255
|
end
|
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: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -49,11 +49,11 @@ cert_chain:
|
|
49
49
|
-----END CERTIFICATE-----
|
50
50
|
|
51
51
|
'
|
52
|
-
date: 2012-01-
|
52
|
+
date: 2012-01-03 00:00:00.000000000 Z
|
53
53
|
dependencies:
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: hoe-mercurial
|
56
|
-
requirement: &
|
56
|
+
requirement: &70233760093620 !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
@@ -61,10 +61,10 @@ dependencies:
|
|
61
61
|
version: 1.3.1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
|
-
version_requirements: *
|
64
|
+
version_requirements: *70233760093620
|
65
65
|
- !ruby/object:Gem::Dependency
|
66
66
|
name: hoe-highline
|
67
|
-
requirement: &
|
67
|
+
requirement: &70233760093100 !ruby/object:Gem::Requirement
|
68
68
|
none: false
|
69
69
|
requirements:
|
70
70
|
- - ~>
|
@@ -72,10 +72,10 @@ dependencies:
|
|
72
72
|
version: 0.0.1
|
73
73
|
type: :development
|
74
74
|
prerelease: false
|
75
|
-
version_requirements: *
|
75
|
+
version_requirements: *70233760093100
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: rake-compiler
|
78
|
-
requirement: &
|
78
|
+
requirement: &70233760092580 !ruby/object:Gem::Requirement
|
79
79
|
none: false
|
80
80
|
requirements:
|
81
81
|
- - ~>
|
@@ -83,10 +83,10 @@ dependencies:
|
|
83
83
|
version: '0.7'
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
|
-
version_requirements: *
|
86
|
+
version_requirements: *70233760092580
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: rspec
|
89
|
-
requirement: &
|
89
|
+
requirement: &70233760092140 !ruby/object:Gem::Requirement
|
90
90
|
none: false
|
91
91
|
requirements:
|
92
92
|
- - ~>
|
@@ -94,10 +94,10 @@ dependencies:
|
|
94
94
|
version: '2.6'
|
95
95
|
type: :development
|
96
96
|
prerelease: false
|
97
|
-
version_requirements: *
|
97
|
+
version_requirements: *70233760092140
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: hoe
|
100
|
-
requirement: &
|
100
|
+
requirement: &70233760091700 !ruby/object:Gem::Requirement
|
101
101
|
none: false
|
102
102
|
requirements:
|
103
103
|
- - ~>
|
@@ -105,10 +105,10 @@ dependencies:
|
|
105
105
|
version: '2.12'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
|
-
version_requirements: *
|
108
|
+
version_requirements: *70233760091700
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: rdoc
|
111
|
-
requirement: &
|
111
|
+
requirement: &70233760164380 !ruby/object:Gem::Requirement
|
112
112
|
none: false
|
113
113
|
requirements:
|
114
114
|
- - ~>
|
@@ -116,7 +116,7 @@ dependencies:
|
|
116
116
|
version: '3.10'
|
117
117
|
type: :development
|
118
118
|
prerelease: false
|
119
|
-
version_requirements: *
|
119
|
+
version_requirements: *70233760164380
|
120
120
|
description: ! "Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].\n\nIt
|
121
121
|
works with PostgreSQL 8.2 and later.\n\nThis will be the last minor version to support
|
122
122
|
8.2 -- 0.13 will support 8.3 \nand later, following the \n{PostgreSQL Release Support
|
metadata.gz.sig
CHANGED
Binary file
|