pg_query 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/pg_query/deparse.rb +13 -2
- data/lib/pg_query/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d1df6666392e194e8ac7a87086cae2e3051644a
|
4
|
+
data.tar.gz: b524259660a3489556696cf0f4b75d0c5c3c91b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61523601794ef69a4dad8e33ba3fc9b5f35f299dce42f3b924b8ccca8726d9a11266dbcbbb7c1fc6f92c98c3443a02092d006c2c9a1484a1a9b9e0875fa9b6e3
|
7
|
+
data.tar.gz: 476105d1b4a3337f9ef4266452858cb70d02278ad8b564320ad9d76169425f81f2e64fc9fff070fcc9739ce3589bde93e5ea000bf062c61a7190d5f4e38eacee
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.0.2 2018-04-11
|
4
|
+
|
5
|
+
* Deparsing improvements
|
6
|
+
* SELECT DISTINCT clause [#77](https://github.com/lfittl/pg_query/pull/77) [@Papierkorb](https://github.com/Papierkorb)
|
7
|
+
* "CASE expr WHEN ... END" clause [#78](https://github.com/lfittl/pg_query/pull/78) [@Papierkorb](https://github.com/Papierkorb)
|
8
|
+
* LEFT/RIGHT/FULL/NATURAL JOIN [#79](https://github.com/lfittl/pg_query/pull/79) [@Papierkorb](https://github.com/Papierkorb)
|
9
|
+
* SELECT that includes schema name [#80](https://github.com/lfittl/pg_query/pull/80) [@jcsjcs](https://github.com/jcsjcs)
|
10
|
+
|
11
|
+
|
3
12
|
## 1.0.1 2018-02-02
|
4
13
|
|
5
14
|
* Parse CTEs and nested selects in INSERT/UPDATE [#76](https://github.com/lfittl/pg_query/pull/76) [@jcoleman](https://github.com/jcoleman)
|
data/lib/pg_query/deparse.rb
CHANGED
@@ -174,7 +174,8 @@ class PgQuery
|
|
174
174
|
def deparse_rangevar(node)
|
175
175
|
output = []
|
176
176
|
output << 'ONLY' unless node['inh']
|
177
|
-
|
177
|
+
schema = node['schemaname'] ? '"' + node['schemaname'] + '".' : ''
|
178
|
+
output << schema + '"' + node['relname'] + '"'
|
178
179
|
output << deparse_item(node['alias']) if node['alias']
|
179
180
|
output.join(' ')
|
180
181
|
end
|
@@ -432,9 +433,17 @@ class PgQuery
|
|
432
433
|
output << deparse_item(node['larg'])
|
433
434
|
case node['jointype']
|
434
435
|
when 0
|
435
|
-
|
436
|
+
if node['isNatural']
|
437
|
+
output << 'NATURAL'
|
438
|
+
elsif node['quals'].nil? && node['usingClause'].nil?
|
439
|
+
output << 'CROSS'
|
440
|
+
end
|
436
441
|
when 1
|
437
442
|
output << 'LEFT'
|
443
|
+
when 2
|
444
|
+
output << 'FULL'
|
445
|
+
when 3
|
446
|
+
output << 'RIGHT'
|
438
447
|
end
|
439
448
|
output << 'JOIN'
|
440
449
|
output << deparse_item(node['rarg'])
|
@@ -528,6 +537,7 @@ class PgQuery
|
|
528
537
|
|
529
538
|
def deparse_case(node)
|
530
539
|
output = ['CASE']
|
540
|
+
output << deparse_item(node['arg']) if node['arg']
|
531
541
|
output += node['args'].map { |arg| deparse_item(arg) }
|
532
542
|
if node['defresult']
|
533
543
|
output << 'ELSE'
|
@@ -681,6 +691,7 @@ class PgQuery
|
|
681
691
|
|
682
692
|
if node[TARGET_LIST_FIELD]
|
683
693
|
output << 'SELECT'
|
694
|
+
output << 'DISTINCT' if node['distinctClause']
|
684
695
|
output << node[TARGET_LIST_FIELD].map do |item|
|
685
696
|
deparse_item(item, :select)
|
686
697
|
end.join(', ')
|
data/lib/pg_query/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_query
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Fittl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
122
|
version: '0'
|
123
123
|
requirements: []
|
124
124
|
rubyforge_project:
|
125
|
-
rubygems_version: 2.6.
|
125
|
+
rubygems_version: 2.6.8
|
126
126
|
signing_key:
|
127
127
|
specification_version: 4
|
128
128
|
summary: PostgreSQL query parsing and normalization library
|