sequel_pg 1.12.5 → 1.13.0

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.
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