sequel_pg 1.12.5 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +4 -0
- data/ext/sequel_pg/sequel_pg.c +18 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ec2808e8924aa1b5ab101973ff6d3505f8199e21c6e919bfeab3bca809ac61c
|
4
|
+
data.tar.gz: 41f30cc22ea16c6700cab68e2d7fbdd3fca950a975c004ffa12d21423608f198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 904f2d4068265c5df0c584fd0da9bffc2521d1f048e55294c8cebba96232e2900a1424f2473dae222770cd2c79c50196d6c3ae424ac1ef9f772eb785e7f40453
|
7
|
+
data.tar.gz: a0d3748e9b150ecb55e53cb9ccd423f507f12e196a1686f60ba2804f8f4319303844dd828b21229fbf7871531256f8da39eafcaefe229f90da62b795415da744
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
=== 1.13.0 (2020-04-13)
|
2
|
+
|
3
|
+
* Allow overriding of inet/cidr type conversion using conversion procs (beanieboi, jeremyevans) (#36, #37)
|
4
|
+
|
1
5
|
=== 1.12.5 (2020-03-23)
|
2
6
|
|
3
7
|
* Fix offset calculation for timestamptz types when datetime_class is DateTime and using local application timezone (jeremyevans)
|
data/ext/sequel_pg/sequel_pg.c
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#define SEQUEL_PG_VERSION_INTEGER
|
1
|
+
#define SEQUEL_PG_VERSION_INTEGER 11300
|
2
2
|
|
3
3
|
#include <string.h>
|
4
4
|
#include <stdio.h>
|
@@ -931,8 +931,10 @@ static VALUE spg__array_col_value(char *v, size_t length, VALUE converter, int e
|
|
931
931
|
break;
|
932
932
|
case 869: /* inet */
|
933
933
|
case 650: /* cidr */
|
934
|
-
|
935
|
-
|
934
|
+
if (!RTEST(converter)) {
|
935
|
+
rv = spg_inet(v, length);
|
936
|
+
break;
|
937
|
+
}
|
936
938
|
default:
|
937
939
|
rv = rb_tainted_str_new(v, length);
|
938
940
|
PG_ENCODING_SET_NOCHECK(rv, enc_index);
|
@@ -1079,10 +1081,6 @@ static VALUE spg__col_value(VALUE self, PGresult *res, long i, long j, VALUE* co
|
|
1079
1081
|
rv = rb_tainted_str_new(v, PQgetlength(res, i, j));
|
1080
1082
|
PG_ENCODING_SET_NOCHECK(rv, enc_index);
|
1081
1083
|
break;
|
1082
|
-
case 869: /* inet */
|
1083
|
-
case 650: /* cidr */
|
1084
|
-
rv = spg_inet(v, PQgetlength(res, i, j));
|
1085
|
-
break;
|
1086
1084
|
/* array types */
|
1087
1085
|
case 1009:
|
1088
1086
|
case 1014:
|
@@ -1220,17 +1218,30 @@ static VALUE spg__col_value(VALUE self, PGresult *res, long i, long j, VALUE* co
|
|
1220
1218
|
scalar_oid = 22;
|
1221
1219
|
break;
|
1222
1220
|
case 1041:
|
1221
|
+
if (RTEST(colconvert[j])) {
|
1222
|
+
goto default_cond;
|
1223
|
+
}
|
1223
1224
|
array_type = spg_sym_inet;
|
1224
1225
|
scalar_oid = 869;
|
1225
1226
|
break;
|
1226
1227
|
case 651:
|
1228
|
+
if (RTEST(colconvert[j])) {
|
1229
|
+
goto default_cond;
|
1230
|
+
}
|
1227
1231
|
array_type = spg_sym_cidr;
|
1228
1232
|
scalar_oid = 650;
|
1229
1233
|
break;
|
1230
1234
|
}
|
1231
1235
|
rv = spg_array_value(v, PQgetlength(res, i, j), colconvert[j], enc_index, scalar_oid, self, array_type);
|
1232
1236
|
break;
|
1237
|
+
case 869: /* inet */
|
1238
|
+
case 650: /* cidr */
|
1239
|
+
if (colconvert[j] == Qnil) {
|
1240
|
+
rv = spg_inet(v, PQgetlength(res, i, j));
|
1241
|
+
break;
|
1242
|
+
}
|
1233
1243
|
default:
|
1244
|
+
default_cond:
|
1234
1245
|
rv = rb_tainted_str_new(v, PQgetlength(res, i, j));
|
1235
1246
|
PG_ENCODING_SET_NOCHECK(rv, enc_index);
|
1236
1247
|
if (colconvert[j] != Qnil) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel_pg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|