pg_conn 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/TODO +7 -4
- data/lib/pg_conn/version.rb +1 -1
- data/lib/pg_conn.rb +11 -8
- 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: 6e3c08d86eff1bd5cc3d8d40024dad64bf5879f14e56f20a5facdcc8abf3cc72
|
4
|
+
data.tar.gz: ff23710aa798488f0ad6b18bea834c7b396d54e211bb19af800b8f66d7378430
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5505ad838a108abdcf146ec2da0ca255bf9931b8ff786d796eced468c5bc00a0222e1a2fb7aca7e6e9ac758ea187bbb253c5b536e51a485e8e54b8da71bb886
|
7
|
+
data.tar.gz: b336099c4158450ef646a022b76d4cbc72399e6b4dfb34fd6905317fd11168459b0d51f4105152df5ccae8135cedf8bd01322733859a45e446a711a952848fab
|
data/TODO
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
TODO
|
2
|
-
o
|
3
|
-
|
4
|
-
|
5
|
-
o
|
2
|
+
o Use SQL parameters. Optionally with a different syntax:
|
3
|
+
$var - Value that gets single-quoted
|
4
|
+
@var - Identifier that gets double-quoted (@ for "attribute")
|
5
|
+
o Option to accept no records when using #value, #tuple, and #struct. Maybe
|
6
|
+
value?, tuple?, struct?. The alternative is to use the 'one-table' as base
|
7
|
+
table in the query and then left join the rest
|
6
8
|
o Proper implementation of call of functions and procedures: Functions should
|
7
9
|
be called through #value, #tuple etc. and procedures through #call.
|
8
10
|
Proceduer output parameters needs handling too
|
11
|
+
o Implement search_path
|
9
12
|
o Create an abstract PgConnBase and have PgStmts (writes statements to array)
|
10
13
|
and PgConn (sends statements to server) classes derived from it
|
11
14
|
o fix silent
|
data/lib/pg_conn/version.rb
CHANGED
data/lib/pg_conn.rb
CHANGED
@@ -219,10 +219,12 @@ module PgConn
|
|
219
219
|
# Return true if the table or the result of the query is empty
|
220
220
|
def empty?(arg, where_clause = nil)
|
221
221
|
if arg =~ /\s/
|
222
|
-
|
222
|
+
value "select count(*) from (#{arg} limit 1) as inner_query"
|
223
|
+
elsif where_clause
|
224
|
+
value "select count(*) from (select 1 from #{arg} where #{where_clause} limit 1) as inner_query"
|
223
225
|
else
|
224
|
-
count(
|
225
|
-
end ==
|
226
|
+
value "select count(*) from (select 1 from #{arg} limit 1) as inner_query"
|
227
|
+
end == 0
|
226
228
|
end
|
227
229
|
|
228
230
|
# :call-seq:
|
@@ -433,11 +435,12 @@ module PgConn
|
|
433
435
|
end
|
434
436
|
|
435
437
|
# Return the value of calling the given function (which can be a String or
|
436
|
-
# a Symbol
|
437
|
-
#
|
438
|
-
# (like #value or #values),
|
439
|
-
# (like #tuple), and an array of
|
440
|
-
# than one record with multiple
|
438
|
+
# a Symbol and can contain the schema of the function). It dynamically
|
439
|
+
# detects the structure of the result and return a value or an array of
|
440
|
+
# values if the result contained only one column (like #value or #values),
|
441
|
+
# a tuple if the record has multiple columns (like #tuple), and an array of
|
442
|
+
# of tuples if the result contained more than one record with multiple
|
443
|
+
# columns (like #tuples)
|
441
444
|
#
|
442
445
|
def call(name, *args, proc: false) # :proc may interfere with hashes
|
443
446
|
args_sql = args.map { |arg| # TODO: Use pg's encoder
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_conn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|