pg_query 0.13.3 → 0.13.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41868b21a2b7a440970f576289d910e0830f4bce
4
- data.tar.gz: af57e55f9d2db4f4fa3e6e4a4284c4896b3b221b
3
+ metadata.gz: ff41b6f96f4b8cf081341854b35684016ccfdab7
4
+ data.tar.gz: 016e672d36156857083385248901065174e95ca2
5
5
  SHA512:
6
- metadata.gz: 2443cf93ee2cdeacf5b9231049ed8503d902d73d779b3873fba7cc2ad8bd17d95ae7a39ad90dae652adfc4e432e8973c02b7d78c7a529156a2a1739dc918f2da
7
- data.tar.gz: 35306d9dc32a1812fb8a902de034626e82e9bf7fd2369473a3718b13e4aea14fa671ae8d34df22e9c4550d0b21f8835c36be937a40a0af07e6c0a343adb08326
6
+ metadata.gz: c61da4a93cf780a6b55fb47ee366db887a0c75d88a50bf2c7e15f28bbbb298ea8715386b16e83462077836c1f323b6aa381d46f8361f6d292ee3f9198480e5d0
7
+ data.tar.gz: 622df6653bea3aad75f39f1b816038633c51f9ae31a45ba0fc81802470ea4dd1b1089b63db0684920bdf7096f3b8d7efa2d378d17e63ff7090a7054d119d7cbc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.4 2017-10-20
4
+
5
+ * Update to libpg_query 9.5-1.7.0
6
+ - Fixes compilation old gcc before 4.6.0 [#73](https://github.com/lfittl/pg_query/issues/73)
7
+
8
+
3
9
  ## 0.13.3 2017-09-04
4
10
 
5
11
  * Fix table detection for SELECTs that have sub-SELECTs without FROM clause [#69](https://github.com/lfittl/pg_query/issues/69)
@@ -3,7 +3,7 @@
3
3
  require 'mkmf'
4
4
  require 'open-uri'
5
5
 
6
- LIB_PG_QUERY_TAG = '9.5-1.6.2'.freeze
6
+ LIB_PG_QUERY_TAG = '9.5-1.7.0'.freeze
7
7
 
8
8
  workdir = Dir.pwd
9
9
  libdir = File.join(workdir, 'libpg_query-' + LIB_PG_QUERY_TAG)
@@ -424,12 +424,12 @@ class PgQuery
424
424
  format('NULLIF(%s, %s)', lexpr, rexpr)
425
425
  end
426
426
 
427
- def deparse_joinexpr(node)
427
+ def deparse_joinexpr(node) # rubocop:disable Metrics/CyclomaticComplexity
428
428
  output = []
429
429
  output << deparse_item(node['larg'])
430
430
  case node['jointype']
431
431
  when 0
432
- output << 'CROSS' if node['quals'].nil?
432
+ output << 'CROSS' if node['quals'].nil? && node['usingClause'].nil?
433
433
  when 1
434
434
  output << 'LEFT'
435
435
  end
@@ -441,6 +441,8 @@ class PgQuery
441
441
  output << deparse_item(node['quals'])
442
442
  end
443
443
 
444
+ output << format('USING (%s)', node['usingClause'].map { |n| deparse_item(n) }.join(', ')) if node['usingClause']
445
+
444
446
  output.join(' ')
445
447
  end
446
448
 
@@ -27,6 +27,9 @@ class PgQuery
27
27
  @query = query
28
28
  @tree = tree
29
29
  @warnings = warnings
30
+ @tables = nil
31
+ @aliases = nil
32
+ @cte_names = nil
30
33
  end
31
34
 
32
35
  def tables
@@ -87,20 +90,20 @@ class PgQuery
87
90
  from_clause_items << { item: item, type: :select }
88
91
  end
89
92
  end
90
-
91
- # CTEs
92
- with_clause = statement[SELECT_STMT]['withClause']
93
- if with_clause
94
- with_clause[WITH_CLAUSE]['ctes'].each do |item|
95
- next unless item[COMMON_TABLE_EXPR]
96
- @cte_names << item[COMMON_TABLE_EXPR]['ctename']
97
- statements << item[COMMON_TABLE_EXPR]['ctequery']
98
- end
99
- end
100
93
  when 1
101
94
  statements << statement[SELECT_STMT]['larg'] if statement[SELECT_STMT]['larg']
102
95
  statements << statement[SELECT_STMT]['rarg'] if statement[SELECT_STMT]['rarg']
103
96
  end
97
+
98
+ # CTEs
99
+ with_clause = statement[SELECT_STMT]['withClause']
100
+ if with_clause
101
+ with_clause[WITH_CLAUSE]['ctes'].each do |item|
102
+ next unless item[COMMON_TABLE_EXPR]
103
+ @cte_names << item[COMMON_TABLE_EXPR]['ctename']
104
+ statements << item[COMMON_TABLE_EXPR]['ctequery']
105
+ end
106
+ end
104
107
  # The following statements modify the contents of a table
105
108
  when INSERT_STMT, UPDATE_STMT, DELETE_STMT
106
109
  from_clause_items << { item: statement.values[0]['relation'], type: :dml }
@@ -1,3 +1,3 @@
1
1
  class PgQuery
2
- VERSION = '0.13.3'.freeze
2
+ VERSION = '0.13.4'.freeze
3
3
  end
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: 0.13.3
4
+ version: 0.13.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Fittl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-05 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  requirements: []
144
144
  rubyforge_project:
145
- rubygems_version: 2.5.1
145
+ rubygems_version: 2.6.11
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: PostgreSQL query parsing and normalization library