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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +4 -0
  3. data/ext/sequel_pg/sequel_pg.c +18 -7
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 609ef32bd9eb0fe13dad508682adc477415124359e04f1aebbf5e54cdaaf4630
4
- data.tar.gz: 31d2bebfa20c348daf4a0e03bee7df3f727b0306fa3f0987bbcfdaa050f2a234
3
+ metadata.gz: 9ec2808e8924aa1b5ab101973ff6d3505f8199e21c6e919bfeab3bca809ac61c
4
+ data.tar.gz: 41f30cc22ea16c6700cab68e2d7fbdd3fca950a975c004ffa12d21423608f198
5
5
  SHA512:
6
- metadata.gz: 9a1ba95aa91fa7e521b3b6991b716fec37722faca0d2a658a7743e4fdd5e631b789f3c6da667b1b6f84159ab0ce2091d72b753b1c1d7fb08a357ddf645e9b81d
7
- data.tar.gz: 97bacb9be53e6781fcdfb60abbd934b8aa269554495559a64c2d223a0dde3f78a8ca64a32dc04898bec69c753656ffcad1005913fe0b5fc34597e4ab01f3267c
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)
@@ -1,4 +1,4 @@
1
- #define SEQUEL_PG_VERSION_INTEGER 11205
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
- rv = spg_inet(v, length);
935
- break;
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.12.5
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-03-23 00:00:00.000000000 Z
11
+ date: 2020-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg