pg_query 1.0.1 → 1.0.2
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.
- 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
|