pg_query 0.13.3 → 0.13.4

Sign up to get free protection for your applications and to get access to all the features.
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