extralite 1.9 → 1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/ext/extralite/extralite.c +3 -3
- data/lib/extralite/version.rb +1 -1
- data/test/test_database.rb +8 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1dbf79f19c8e1a1b31da57db9e1b20eb32efed2a510dfd1a19df048ecdf6532
|
4
|
+
data.tar.gz: 633afbfd7042dedb38a5275d525bf9876a8cd194e6b6f95db183d78019c53816
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9987a2e1b14e9213a289d04d79a0914e6d3a843c5af94e4d57d6839f193b8294b57b280141dd4784419d9f920d8b1ee32f9a21efee56a85ff524128bc4262aed
|
7
|
+
data.tar.gz: 2b53f9dd796f37e7c901f88b5bfe2b28463c0465ff5aaf0ade160b1ecf95f0beb7b0cd56496e3c76bd4f754ef7649bf8a704ff7eb94053a7b7f1b1099cf31a5b
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/ext/extralite/extralite.c
CHANGED
@@ -136,16 +136,16 @@ static inline void bind_hash_parameter_values(sqlite3_stmt *stmt, VALUE hash) {
|
|
136
136
|
switch (TYPE(k)) {
|
137
137
|
case T_FIXNUM:
|
138
138
|
bind_parameter_value(stmt, NUM2INT(k), v);
|
139
|
-
|
139
|
+
break;
|
140
140
|
case T_SYMBOL:
|
141
141
|
k = rb_funcall(k, ID_TO_S, 0);
|
142
142
|
case T_STRING:
|
143
143
|
if(RSTRING_PTR(k)[0] != ':') k = rb_str_plus(rb_str_new2(":"), k);
|
144
144
|
int pos = sqlite3_bind_parameter_index(stmt, StringValuePtr(k));
|
145
145
|
bind_parameter_value(stmt, pos, v);
|
146
|
-
|
146
|
+
break;
|
147
147
|
default:
|
148
|
-
|
148
|
+
rb_raise(cError, "Cannot bind hash key value idx %d", i);
|
149
149
|
}
|
150
150
|
}
|
151
151
|
RB_GC_GUARD(keys);
|
data/lib/extralite/version.rb
CHANGED
data/test/test_database.rb
CHANGED
@@ -139,6 +139,14 @@ end
|
|
139
139
|
assert_equal [{ x: 4, y: 5, z: 6 }], r
|
140
140
|
end
|
141
141
|
|
142
|
+
def test_parameter_binding_with_index_key
|
143
|
+
r = @db.query('select x, y, z from t where z = ?', 1 => 3)
|
144
|
+
assert_equal [{ x: 1, y: 2, z: 3 }], r
|
145
|
+
|
146
|
+
r = @db.query('select x, y, z from t where x = ?2', 1 => 42, 2 => 4)
|
147
|
+
assert_equal [{ x: 4, y: 5, z: 6 }], r
|
148
|
+
end
|
149
|
+
|
142
150
|
def test_value_casting
|
143
151
|
r = @db.query_single_value("select 'abc'")
|
144
152
|
assert_equal 'abc', r
|