querybuilder 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -5,4 +5,5 @@ Makefile
5
5
  lib/*.o
6
6
  lib/*.bundle
7
7
  lib/*.so
8
- coverage
8
+ coverage
9
+ log
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.8.0 2010-07-22
2
+
3
+ * Major enhancements:
4
+ * Better handling of mixed 'or' clauses.
5
+ * Allowing ':' in relations and scopes.
6
+ * Raises a SyntaxError on non-closing parenthesis.
7
+ * Started to fix some issues with for PostgreSQL.
8
+
1
9
  == 0.7.0 2010-05-27
2
10
 
3
11
  * Major enhancements:
data/Rakefile CHANGED
@@ -74,8 +74,9 @@ end
74
74
  desc "Build native extensions"
75
75
  task :build => :ragel do
76
76
  [
77
- "ruby lib/extconf.rb",
78
- "cd lib && make",
77
+ 'ruby lib/extconf.rb',
78
+ 'mv Makefile lib/',
79
+ 'cd lib && make',
79
80
  ].each do |cmd|
80
81
  puts cmd
81
82
  system cmd
@@ -1,3 +1,3 @@
1
1
  module QueryBuilder
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.0'
3
3
  end
@@ -141,6 +141,7 @@ module QueryBuilder
141
141
 
142
142
  @context = opts.merge(:first => true, :last => true)
143
143
  @query = Query.new(self.class)
144
+ @query.main_class = @opts[:main_class] if @opts[:main_class]
144
145
  before_process
145
146
 
146
147
  process_all
@@ -218,24 +219,64 @@ module QueryBuilder
218
219
  end
219
220
 
220
221
  clauses.map! do |clause|
221
- process(clause)
222
- query = @query
223
- @query = Query.new(this.class)
222
+ query = @query.dup
223
+ with_query(query) do
224
+ process(clause)
225
+ end
224
226
  query
225
227
  end
226
228
 
227
- merge_queries(clauses.reverse)
229
+ @query = merge_queries(clauses.reverse)
228
230
  end
229
231
 
230
- def merge_queries(queries)
231
- @query = queries.first
232
- @query.tables = queries.inject([]) {|list, query| list + query.tables}.uniq
232
+ def merge_queries(queries, merge_filters = true)
233
+ tables = []
234
+ table_alias = {}
235
+
236
+ queries.each do |query|
237
+ tables += query.tables
238
+ table_alias.merge!(query.table_alias)
239
+ end
240
+
241
+ tables.uniq!
242
+
243
+ queries.each do |query|
244
+ missing_tables = tables - query.tables
245
+ missing_tables.each do |missing_table|
246
+ if missing_table =~ /^(.+) AS (.+)$/
247
+ resolve_missing_table(query, $1, $2)
248
+ else
249
+ resolve_missing_table(query, missing_table, missing_table)
250
+ end
251
+ end
252
+ end
253
+
254
+ query = queries.first
255
+ query.tables = tables
256
+ query.table_alias = table_alias
257
+
258
+ query.where = [merge_or_filters(queries)] if merge_filters
259
+
260
+ query.distinct = true
261
+
262
+ # FIXME: !! We need to resolve main_class from different 'or' clauses !!
263
+ # query.main_class = ...
264
+
265
+ query
266
+ end
267
+
268
+ # Fix every query to work with the final list of tables (insert dummy clauses for example).
269
+ def resolve_missing_table(query, table_alias, table_name)
270
+ # raise an error
271
+ raise QueryBuilder::Error.new("Could not resolve missing '#{table_name}' in OR clause.")
272
+ end
273
+
274
+ def merge_or_filters(queries)
233
275
  filters = queries.map do |query|
234
276
  query.where.size > 1 ? "(#{query.filter})" : query.where.first
235
277
  end
236
278
 
237
- @query.where = ["(#{filters.join(' OR ')})"]
238
- distinct!
279
+ "(#{filters.join(' OR ')})"
239
280
  end
240
281
 
241
282
  def process_clause_par(content)
@@ -313,7 +354,9 @@ module QueryBuilder
313
354
  elsif (context[:scope_type] = :context) && context_relation(relation)
314
355
  elsif (context[:scope_type] = :filter) && filter_relation(relation)
315
356
  else
316
- raise QueryBuilder::SyntaxError.new("Unknown relation '#{relation}'.")
357
+ # Strange Ruby bug ? Using dstring directly in new method generates garbled UTF8...
358
+ msg = "Unknown relation '#{relation}'."
359
+ raise QueryBuilder::SyntaxError.new(msg)
317
360
  end
318
361
  end
319
362
 
@@ -421,7 +464,32 @@ module QueryBuilder
421
464
  end
422
465
 
423
466
  def process_or(left, right)
424
- "(#{this.process(left)} OR #{this.process(right)})"
467
+ left_query = @query.dup
468
+ left_query.where = []
469
+ right_query = @query.dup
470
+ right_query.where = []
471
+
472
+ with_query(left_query) do
473
+ add_filter process(left)
474
+ end
475
+
476
+ with_query(right_query) do
477
+ add_filter process(right)
478
+ end
479
+
480
+ merge_queries([left_query, right_query], false)
481
+ @query.tables = left_query.tables
482
+ @query.table_alias = left_query.table_alias
483
+ @query.distinct = left_query.distinct
484
+
485
+ merge_or_filters([left_query, right_query])
486
+ end
487
+
488
+ def with_query(query)
489
+ bak = @query
490
+ @query = query
491
+ yield
492
+ @query = bak
425
493
  end
426
494
 
427
495
  def process_op(op, left, right)
@@ -485,7 +553,7 @@ module QueryBuilder
485
553
  if fld && (page_size = @query.limit[/ LIMIT (\d+)/,1])
486
554
  @query.page_size = [2, page_size.to_i].max
487
555
  @query.offset = " OFFSET #{insert_bind("((#{fld}.to_i > 0 ? #{fld}.to_i : 1)-1)*#{@query.page_size}")}"
488
- @query.pagination_key = fld
556
+ @query.pagination_key ||= paginate_fld.last
489
557
  else
490
558
  raise QueryBuilder::SyntaxError.new("Invalid paginate clause '#{paginate}'.")
491
559
  end
@@ -564,6 +632,7 @@ module QueryBuilder
564
632
  end
565
633
 
566
634
  @query.processor_class = processor.class
635
+ @query.main_class = QueryBuilder.resolve_const(processor.class.main_class)
567
636
  update_processor(processor)
568
637
  end
569
638
  end
@@ -577,6 +646,7 @@ module QueryBuilder
577
646
 
578
647
  def custom_query(relation)
579
648
  return false unless first? && last? # current safety net until "from" is correctly implemented and tested
649
+
580
650
  custom_queries = self.class.custom_queries[self.class]
581
651
  if custom_queries &&
582
652
  custom_queries[@opts[:custom_query_group]] &&
@@ -684,7 +754,8 @@ module QueryBuilder
684
754
  end
685
755
 
686
756
  def set_main_class(klass)
687
- @query.set_main_class(klass)
757
+ # FIXME: be clever on different klass settings in filters (AND / OR)...
758
+ @query.main_class = klass
688
759
  end
689
760
 
690
761
  def needs_join_table(*args)
@@ -1,8 +1,16 @@
1
+ require 'active_record'
2
+
1
3
  module QueryBuilder
2
4
  class Query
3
5
  attr_accessor :processor_class, :distinct, :select, :tables, :table_alias, :where,
4
6
  :limit, :offset, :page_size, :order, :group, :error, :attributes_alias,
5
- :pagination_key
7
+ :pagination_key, :main_class, :context
8
+
9
+ class << self
10
+ def adapter
11
+ @adapter ||= ActiveRecord::Base.connection.class.name.split('::').last[/(.+)Adapter/,1].downcase
12
+ end
13
+ end
6
14
 
7
15
  def initialize(processor_class)
8
16
  @processor_class = processor_class
@@ -41,19 +49,6 @@ module QueryBuilder
41
49
  QueryBuilder.resolve_const(klass)
42
50
  end
43
51
 
44
- # Define the class of the returned object. If a previous class
45
- # has already been defined, try to find a common ancestor or revert
46
- # to the default.
47
- def set_main_class(klass)
48
- if @main_class
49
- # TODO
50
- # For now: revert to default
51
- @main_class = self.default_class
52
- else
53
- @main_class = klass
54
- end
55
- end
56
-
57
52
  def add_filter(filter)
58
53
  @where << filter
59
54
  end
@@ -140,6 +135,15 @@ module QueryBuilder
140
135
  end
141
136
  end
142
137
 
138
+ # Duplicate query, avoiding mutual
139
+ def dup
140
+ other = super
141
+ %w{tables table_alias where}.each do |k|
142
+ other.send("#{k}=", other.send(k).dup)
143
+ end
144
+ other
145
+ end
146
+
143
147
  # Used after setting @tables from custom query.
144
148
  def rebuild_tables!
145
149
  @table_alias = {}
@@ -173,7 +177,7 @@ module QueryBuilder
173
177
  def get_alias(use_name, table_name = nil, avoid_alias = true)
174
178
  table_name ||= use_name
175
179
  @table_alias[use_name] ||= []
176
- if avoid_alias && !@tables.include?(use_name)
180
+ if avoid_alias && !@tables.include?(table_name)
177
181
  alias_name = use_name
178
182
  elsif @tables.include?(use_name)
179
183
  # links, li1, li2, li3
@@ -220,10 +224,21 @@ module QueryBuilder
220
224
 
221
225
  group = @group
222
226
  if !group && @distinct
223
- group = @tables.size > 1 ? " GROUP BY #{main_table}.id" : " GROUP BY id"
227
+ key = @tables.size > 1 ? "#{main_table}.id" : 'id'
228
+
229
+ case self.class.adapter
230
+ when 'postgresql'
231
+ if @order.to_s =~ /ORDER BY (.*)/
232
+ keys = $1.split(',').map {|k| k[/^(.*)\s/,1]}
233
+ key = ([key] + keys).join(',')
234
+ end
235
+ distinct = " DISTINCT ON (#{key})"
236
+ else
237
+ group = " GROUP BY #{key}"
238
+ end
224
239
  end
225
240
 
226
- "SELECT #{(@select || ["#{main_table}.*"]).join(',')} FROM #{table_list.flatten.sort.join(',')}" + (@where == [] ? '' : " WHERE #{filter}") + group.to_s + @order.to_s + @limit.to_s + @offset.to_s
241
+ "SELECT#{distinct} #{(@select || ["#{main_table}.*"]).join(',')} FROM #{table_list.flatten.sort.join(',')}" + (@where == [] ? '' : " WHERE #{filter}") + group.to_s + @order.to_s + @limit.to_s + @offset.to_s
227
242
  end
228
243
 
229
244
  def count_statement
@@ -108,7 +108,7 @@ void Init_querybuilder_ext() {
108
108
  #define APPLY_OP(elem) last = rb_funcall(self, _apply_op, 2, stack, elem);
109
109
 
110
110
 
111
- #line 366 "querybuilder_ext.rl"
111
+ #line 368 "querybuilder_ext.rl"
112
112
 
113
113
 
114
114
 
@@ -139,94 +139,95 @@ static const char _querybuilder_actions[] = {
139
139
  };
140
140
 
141
141
  static const short _querybuilder_key_offsets[] = {
142
- 0, 0, 9, 13, 16, 17, 18, 21,
143
- 30, 34, 37, 38, 39, 40, 49, 58,
144
- 66, 67, 68, 69, 70, 73, 77, 78,
145
- 86, 94, 104, 105, 106, 107, 108, 114,
146
- 120, 122, 128, 134, 136, 141, 142, 143,
147
- 144, 145, 146, 152, 158, 160, 165, 166,
148
- 167, 168, 169, 170, 171, 172, 180, 188,
149
- 196, 198, 199, 200, 201, 204, 208, 209,
150
- 217, 225, 235, 236, 237, 241, 242, 243,
151
- 244, 245, 253, 261, 271, 279, 287, 297,
152
- 298, 301, 309, 317, 319, 323, 324, 325,
153
- 326, 327, 330, 345, 347, 355, 370, 371,
154
- 374, 377, 379, 379, 379, 388, 396, 404,
155
- 418, 434, 436, 436, 440, 448, 449, 450,
156
- 453, 468, 470, 481, 483, 493, 507, 508,
157
- 509, 518, 519, 522, 525, 526, 527, 528,
158
- 530, 533, 538, 539, 540, 541, 549, 551,
159
- 552, 555, 560, 561, 562, 565, 567, 568,
160
- 571, 572, 573, 574, 575, 576, 577, 578,
161
- 579, 580, 581, 583, 584, 587, 591, 592,
162
- 593, 595, 599, 600, 601, 602, 603, 604,
163
- 606, 607, 608, 609, 610, 611, 614, 629,
164
- 631, 639, 654, 655, 658, 661, 663, 663,
165
- 663, 672, 680, 688, 702, 718, 720, 720,
166
- 724, 732, 733, 734, 737, 752, 754, 765,
167
- 767, 777, 791, 792, 793, 802, 803, 806,
168
- 809, 810, 811, 812, 814, 817, 822, 823,
169
- 824, 825, 833, 835, 836, 839, 844, 845,
170
- 846, 849, 851, 852, 855, 856, 857, 858,
171
- 859, 860, 861, 862, 863, 864, 865, 867,
172
- 868, 871, 875, 876, 877, 879, 883, 884,
173
- 885, 886, 887, 888, 890, 891, 892, 893,
174
- 894, 895, 909, 910, 910, 911, 912, 913,
175
- 927, 928, 928, 936, 937, 938, 939, 940,
176
- 949, 957, 958, 961, 969, 977, 978, 979,
177
- 980, 981, 984, 999, 1001, 1009, 1024, 1025,
178
- 1028, 1031, 1033, 1033, 1033, 1042, 1050, 1058,
179
- 1072, 1088, 1090, 1090, 1094, 1102, 1103, 1104,
180
- 1107, 1122, 1124, 1135, 1137, 1147, 1161, 1162,
181
- 1163, 1172, 1173, 1176, 1179, 1180, 1181, 1182,
182
- 1184, 1187, 1192, 1193, 1194, 1195, 1203, 1205,
183
- 1206, 1209, 1214, 1215, 1216, 1219, 1221, 1222,
184
- 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
185
- 1233, 1234, 1235, 1237, 1238, 1241, 1245, 1246,
186
- 1247, 1249, 1253, 1254, 1255, 1256, 1257, 1258,
187
- 1260, 1261, 1262, 1263, 1264, 1265, 1279, 1280,
188
- 1280, 1295, 1297, 1306, 1328, 1343, 1344, 1347,
189
- 1350, 1352, 1352, 1352, 1362, 1370, 1378, 1393,
190
- 1409, 1411, 1411, 1415, 1424, 1441, 1442, 1443,
191
- 1446, 1447, 1449, 1450, 1453, 1458, 1459, 1460,
192
- 1461, 1470, 1472, 1473, 1476, 1481, 1482, 1483,
193
- 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1494,
194
- 1495, 1498, 1502, 1503, 1504, 1506, 1518, 1520,
195
- 1531, 1546, 1547, 1548, 1558, 1559, 1560, 1561,
196
- 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571,
197
- 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579,
198
- 1580, 1581, 1581, 1590, 1594, 1598, 1603, 1604,
199
- 1605, 1606, 1615, 1624, 1631, 1632, 1635, 1643,
200
- 1652, 1653, 1654, 1655, 1656, 1659, 1674, 1676,
201
- 1685, 1708, 1723, 1724, 1727, 1730, 1732, 1732,
202
- 1732, 1742, 1750, 1758, 1773, 1789, 1791, 1791,
203
- 1795, 1804, 1822, 1823, 1824, 1827, 1828, 1830,
204
- 1832, 1835, 1840, 1841, 1842, 1843, 1852, 1854,
205
- 1855, 1858, 1863, 1864, 1865, 1868, 1869, 1870,
206
- 1871, 1872, 1873, 1874, 1876, 1877, 1880, 1884,
207
- 1885, 1886, 1888, 1900, 1902, 1913, 1928, 1929,
208
- 1930, 1940, 1941, 1942, 1943, 1946, 1947, 1948,
209
- 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956,
210
- 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1963,
211
- 1972, 1981, 1992, 1999, 2005, 2010, 2014, 2017,
212
- 2028, 2035, 2058, 2076, 2099, 2122, 2140, 2163,
213
- 2174, 2185, 2208, 2226, 2249, 2249
142
+ 0, 0, 10, 14, 17, 18, 19, 22,
143
+ 32, 36, 39, 40, 41, 42, 52, 62,
144
+ 71, 72, 73, 74, 75, 78, 82, 83,
145
+ 92, 101, 112, 113, 114, 115, 116, 122,
146
+ 128, 130, 136, 142, 144, 149, 150, 151,
147
+ 152, 153, 154, 160, 166, 168, 173, 174,
148
+ 175, 176, 177, 178, 179, 180, 189, 198,
149
+ 207, 209, 210, 211, 212, 215, 219, 220,
150
+ 229, 238, 249, 250, 251, 255, 256, 257,
151
+ 258, 259, 268, 277, 288, 297, 306, 317,
152
+ 318, 321, 330, 339, 341, 345, 346, 347,
153
+ 348, 349, 352, 368, 370, 378, 394, 395,
154
+ 398, 401, 403, 403, 403, 412, 421, 430,
155
+ 445, 462, 464, 464, 468, 476, 477, 478,
156
+ 481, 497, 499, 510, 512, 522, 537, 538,
157
+ 539, 548, 549, 552, 555, 556, 557, 558,
158
+ 560, 563, 568, 569, 570, 571, 579, 581,
159
+ 582, 585, 590, 591, 592, 595, 597, 598,
160
+ 601, 602, 603, 604, 605, 606, 607, 608,
161
+ 609, 610, 611, 613, 614, 617, 621, 622,
162
+ 623, 625, 629, 630, 631, 632, 633, 634,
163
+ 636, 637, 638, 639, 640, 641, 644, 660,
164
+ 662, 670, 686, 687, 690, 693, 695, 695,
165
+ 695, 704, 713, 722, 737, 754, 756, 756,
166
+ 760, 768, 769, 770, 773, 789, 791, 802,
167
+ 804, 814, 829, 830, 831, 840, 841, 844,
168
+ 847, 848, 849, 850, 852, 855, 860, 861,
169
+ 862, 863, 871, 873, 874, 877, 882, 883,
170
+ 884, 887, 889, 890, 893, 894, 895, 896,
171
+ 897, 898, 899, 900, 901, 902, 903, 905,
172
+ 906, 909, 913, 914, 915, 917, 921, 922,
173
+ 923, 924, 925, 926, 928, 929, 930, 931,
174
+ 932, 933, 948, 949, 949, 950, 951, 952,
175
+ 967, 968, 968, 977, 978, 979, 980, 981,
176
+ 991, 1000, 1001, 1004, 1013, 1022, 1023, 1024,
177
+ 1025, 1026, 1029, 1045, 1047, 1055, 1071, 1072,
178
+ 1075, 1078, 1080, 1080, 1080, 1089, 1098, 1107,
179
+ 1122, 1139, 1141, 1141, 1145, 1153, 1154, 1155,
180
+ 1158, 1174, 1176, 1187, 1189, 1199, 1214, 1215,
181
+ 1216, 1225, 1226, 1229, 1232, 1233, 1234, 1235,
182
+ 1237, 1240, 1245, 1246, 1247, 1248, 1256, 1258,
183
+ 1259, 1262, 1267, 1268, 1269, 1272, 1274, 1275,
184
+ 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285,
185
+ 1286, 1287, 1288, 1290, 1291, 1294, 1298, 1299,
186
+ 1300, 1302, 1306, 1307, 1308, 1309, 1310, 1311,
187
+ 1313, 1314, 1315, 1316, 1317, 1318, 1333, 1334,
188
+ 1334, 1350, 1352, 1361, 1383, 1399, 1400, 1403,
189
+ 1406, 1408, 1408, 1408, 1418, 1427, 1436, 1452,
190
+ 1469, 1471, 1471, 1475, 1484, 1501, 1502, 1503,
191
+ 1506, 1507, 1509, 1510, 1513, 1518, 1519, 1520,
192
+ 1521, 1530, 1532, 1533, 1536, 1541, 1542, 1543,
193
+ 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1554,
194
+ 1555, 1558, 1562, 1563, 1564, 1566, 1578, 1580,
195
+ 1591, 1607, 1608, 1609, 1619, 1620, 1621, 1622,
196
+ 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
197
+ 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640,
198
+ 1641, 1642, 1642, 1652, 1656, 1660, 1665, 1666,
199
+ 1667, 1668, 1678, 1688, 1695, 1696, 1699, 1708,
200
+ 1718, 1719, 1720, 1721, 1722, 1725, 1741, 1743,
201
+ 1752, 1775, 1791, 1792, 1795, 1798, 1800, 1800,
202
+ 1800, 1810, 1819, 1828, 1844, 1861, 1863, 1863,
203
+ 1867, 1876, 1894, 1895, 1896, 1899, 1900, 1902,
204
+ 1904, 1907, 1912, 1913, 1914, 1915, 1924, 1926,
205
+ 1927, 1930, 1935, 1936, 1937, 1940, 1941, 1942,
206
+ 1943, 1944, 1945, 1946, 1948, 1949, 1952, 1956,
207
+ 1957, 1958, 1960, 1972, 1974, 1985, 2001, 2002,
208
+ 2003, 2013, 2014, 2015, 2016, 2019, 2020, 2021,
209
+ 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029,
210
+ 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2036,
211
+ 2045, 2054, 2065, 2072, 2078, 2083, 2087, 2090,
212
+ 2101, 2108, 2131, 2149, 2172, 2195, 2213, 2236,
213
+ 2247, 2258, 2281, 2299, 2322, 2322
214
214
  };
215
215
 
216
216
  static const char _querybuilder_trans_keys[] = {
217
- 32, 40, 95, 9, 10, 65, 90, 97,
218
- 122, 32, 41, 9, 10, 32, 9, 10,
219
- 110, 100, 32, 9, 10, 32, 40, 95,
220
- 9, 10, 65, 90, 97, 122, 32, 41,
221
- 9, 10, 32, 9, 10, 114, 111, 109,
222
- 32, 40, 95, 9, 10, 65, 90, 97,
223
- 122, 32, 40, 95, 9, 10, 65, 90,
224
- 97, 122, 32, 95, 9, 10, 65, 90,
225
- 97, 122, 114, 111, 117, 112, 32, 9,
226
- 10, 32, 98, 9, 10, 121, 32, 95,
227
- 9, 10, 65, 90, 97, 122, 32, 95,
228
- 9, 10, 65, 90, 97, 122, 32, 44,
229
- 46, 95, 9, 10, 65, 90, 97, 122,
217
+ 32, 40, 58, 95, 9, 10, 65, 90,
218
+ 97, 122, 32, 41, 9, 10, 32, 9,
219
+ 10, 110, 100, 32, 9, 10, 32, 40,
220
+ 58, 95, 9, 10, 65, 90, 97, 122,
221
+ 32, 41, 9, 10, 32, 9, 10, 114,
222
+ 111, 109, 32, 40, 58, 95, 9, 10,
223
+ 65, 90, 97, 122, 32, 40, 58, 95,
224
+ 9, 10, 65, 90, 97, 122, 32, 58,
225
+ 95, 9, 10, 65, 90, 97, 122, 114,
226
+ 111, 117, 112, 32, 9, 10, 32, 98,
227
+ 9, 10, 121, 32, 58, 95, 9, 10,
228
+ 65, 90, 97, 122, 32, 58, 95, 9,
229
+ 10, 65, 90, 97, 122, 32, 44, 46,
230
+ 58, 95, 9, 10, 65, 90, 97, 122,
230
231
  105, 109, 105, 116, 32, 45, 9, 10,
231
232
  48, 57, 32, 45, 9, 10, 48, 57,
232
233
  48, 57, 32, 44, 9, 10, 48, 57,
@@ -235,129 +236,50 @@ static const char _querybuilder_trans_keys[] = {
235
236
  101, 116, 32, 45, 9, 10, 48, 57,
236
237
  32, 45, 9, 10, 48, 57, 48, 57,
237
238
  32, 9, 10, 48, 57, 97, 103, 105,
238
- 110, 97, 116, 101, 32, 95, 9, 10,
239
- 65, 90, 97, 122, 32, 95, 9, 10,
240
- 65, 90, 97, 122, 32, 95, 9, 10,
241
- 65, 90, 97, 122, 102, 114, 100, 101,
242
- 114, 32, 9, 10, 32, 98, 9, 10,
243
- 121, 32, 95, 9, 10, 65, 90, 97,
244
- 122, 32, 95, 9, 10, 65, 90, 97,
245
- 122, 32, 44, 46, 95, 9, 10, 65,
246
- 90, 97, 122, 83, 67, 32, 44, 9,
247
- 10, 69, 115, 99, 101, 32, 95, 9,
248
- 10, 65, 90, 97, 122, 32, 95, 9,
239
+ 110, 97, 116, 101, 32, 58, 95, 9,
240
+ 10, 65, 90, 97, 122, 32, 58, 95,
241
+ 9, 10, 65, 90, 97, 122, 32, 58,
242
+ 95, 9, 10, 65, 90, 97, 122, 102,
243
+ 114, 100, 101, 114, 32, 9, 10, 32,
244
+ 98, 9, 10, 121, 32, 58, 95, 9,
245
+ 10, 65, 90, 97, 122, 32, 58, 95,
246
+ 9, 10, 65, 90, 97, 122, 32, 44,
247
+ 46, 58, 95, 9, 10, 65, 90, 97,
248
+ 122, 83, 67, 32, 44, 9, 10, 69,
249
+ 115, 99, 101, 32, 58, 95, 9, 10,
250
+ 65, 90, 97, 122, 32, 58, 95, 9,
249
251
  10, 65, 90, 97, 122, 32, 44, 46,
250
- 95, 9, 10, 65, 90, 97, 122, 32,
251
- 95, 9, 10, 65, 90, 97, 122, 32,
252
- 95, 9, 10, 65, 90, 97, 122, 32,
253
- 44, 46, 95, 9, 10, 65, 90, 97,
254
- 122, 110, 32, 9, 10, 32, 95, 9,
255
- 10, 65, 90, 97, 122, 32, 95, 9,
256
- 10, 65, 90, 97, 122, 102, 114, 32,
257
- 100, 9, 10, 104, 101, 114, 101, 32,
258
- 9, 10, 32, 34, 35, 39, 40, 45,
259
- 95, 9, 10, 48, 57, 65, 90, 97,
260
- 122, 34, 92, 32, 43, 45, 61, 9,
261
- 10, 60, 62, 32, 34, 35, 39, 40,
262
- 45, 95, 9, 10, 48, 57, 65, 90,
252
+ 58, 95, 9, 10, 65, 90, 97, 122,
253
+ 32, 58, 95, 9, 10, 65, 90, 97,
254
+ 122, 32, 58, 95, 9, 10, 65, 90,
255
+ 97, 122, 32, 44, 46, 58, 95, 9,
256
+ 10, 65, 90, 97, 122, 110, 32, 9,
257
+ 10, 32, 58, 95, 9, 10, 65, 90,
258
+ 97, 122, 32, 58, 95, 9, 10, 65,
259
+ 90, 97, 122, 102, 114, 32, 100, 9,
260
+ 10, 104, 101, 114, 101, 32, 9, 10,
261
+ 32, 34, 35, 39, 40, 45, 58, 95,
262
+ 9, 10, 48, 57, 65, 90, 97, 122,
263
+ 34, 92, 32, 43, 45, 61, 9, 10,
264
+ 60, 62, 32, 34, 35, 39, 40, 45,
265
+ 58, 95, 9, 10, 48, 57, 65, 90,
263
266
  97, 122, 123, 34, 92, 125, 34, 92,
264
267
  125, 34, 92, 32, 43, 45, 46, 61,
265
- 9, 10, 60, 62, 32, 95, 9, 10,
266
- 65, 90, 97, 122, 32, 95, 9, 10,
267
- 65, 90, 97, 122, 32, 43, 45, 46,
268
- 61, 95, 9, 10, 60, 62, 65, 90,
269
- 97, 122, 32, 34, 35, 39, 40, 45,
270
- 61, 95, 9, 10, 48, 57, 65, 90,
271
- 97, 122, 39, 92, 32, 41, 9, 10,
272
- 32, 43, 45, 61, 9, 10, 60, 62,
273
- 110, 100, 32, 9, 10, 32, 34, 35,
274
- 39, 40, 45, 95, 9, 10, 48, 57,
275
- 65, 90, 97, 122, 48, 57, 32, 43,
276
- 45, 46, 61, 9, 10, 48, 57, 60,
277
- 62, 48, 57, 32, 43, 45, 61, 9,
278
- 10, 48, 57, 60, 62, 32, 43, 45,
279
- 46, 61, 95, 9, 10, 60, 62, 65,
280
- 90, 97, 122, 97, 121, 32, 43, 45,
281
- 61, 115, 9, 10, 60, 62, 113, 32,
282
- 9, 10, 101, 114, 116, 111, 117, 114,
283
- 110, 115, 32, 9, 10, 32, 78, 110,
284
- 9, 10, 85, 76, 76, 32, 43, 45,
285
- 61, 9, 10, 60, 62, 111, 117, 116,
286
- 32, 9, 10, 32, 78, 110, 9, 10,
287
- 108, 108, 101, 105, 116, 107, 109, 101,
288
- 97, 105, 111, 116, 99, 104, 110, 117,
289
- 116, 101, 110, 116, 104, 101, 111, 116,
290
- 32, 9, 10, 32, 108, 9, 10, 105,
291
- 107, 102, 114, 32, 100, 9, 10, 101,
292
- 99, 111, 110, 100, 101, 104, 101, 107,
293
- 101, 114, 101, 32, 9, 10, 32, 34,
294
- 35, 39, 40, 45, 95, 9, 10, 48,
295
- 57, 65, 90, 97, 122, 34, 92, 32,
296
- 43, 45, 61, 9, 10, 60, 62, 32,
297
- 34, 35, 39, 40, 45, 95, 9, 10,
298
- 48, 57, 65, 90, 97, 122, 123, 34,
299
- 92, 125, 34, 92, 125, 34, 92, 32,
300
- 43, 45, 46, 61, 9, 10, 60, 62,
301
- 32, 95, 9, 10, 65, 90, 97, 122,
302
- 32, 95, 9, 10, 65, 90, 97, 122,
303
- 32, 43, 45, 46, 61, 95, 9, 10,
304
- 60, 62, 65, 90, 97, 122, 32, 34,
305
- 35, 39, 40, 45, 61, 95, 9, 10,
268
+ 9, 10, 60, 62, 32, 58, 95, 9,
269
+ 10, 65, 90, 97, 122, 32, 58, 95,
270
+ 9, 10, 65, 90, 97, 122, 32, 43,
271
+ 45, 46, 58, 61, 95, 9, 10, 60,
272
+ 62, 65, 90, 97, 122, 32, 34, 35,
273
+ 39, 40, 45, 58, 61, 95, 9, 10,
306
274
  48, 57, 65, 90, 97, 122, 39, 92,
307
275
  32, 41, 9, 10, 32, 43, 45, 61,
308
276
  9, 10, 60, 62, 110, 100, 32, 9,
309
- 10, 32, 34, 35, 39, 40, 45, 95,
310
- 9, 10, 48, 57, 65, 90, 97, 122,
311
- 48, 57, 32, 43, 45, 46, 61, 9,
312
- 10, 48, 57, 60, 62, 48, 57, 32,
313
- 43, 45, 61, 9, 10, 48, 57, 60,
314
- 62, 32, 43, 45, 46, 61, 95, 9,
315
- 10, 60, 62, 65, 90, 97, 122, 97,
316
- 121, 32, 43, 45, 61, 115, 9, 10,
317
- 60, 62, 113, 32, 9, 10, 101, 114,
318
- 116, 111, 117, 114, 110, 115, 32, 9,
319
- 10, 32, 78, 110, 9, 10, 85, 76,
320
- 76, 32, 43, 45, 61, 9, 10, 60,
321
- 62, 111, 117, 116, 32, 9, 10, 32,
322
- 78, 110, 9, 10, 108, 108, 101, 105,
323
- 116, 107, 109, 101, 97, 105, 111, 116,
324
- 99, 104, 110, 117, 116, 101, 110, 116,
325
- 104, 101, 111, 116, 32, 9, 10, 32,
326
- 108, 9, 10, 105, 107, 102, 114, 32,
327
- 100, 9, 10, 101, 99, 111, 110, 100,
328
- 101, 104, 101, 107, 101, 97, 97, 32,
329
- 43, 45, 46, 61, 95, 9, 10, 60,
330
- 62, 65, 90, 97, 122, 101, 101, 97,
331
- 97, 32, 43, 45, 46, 61, 95, 9,
332
- 10, 60, 62, 65, 90, 97, 122, 101,
333
- 32, 95, 9, 10, 65, 90, 97, 122,
334
- 104, 114, 111, 109, 32, 40, 95, 9,
335
- 10, 65, 90, 97, 122, 32, 95, 9,
336
- 10, 65, 90, 97, 122, 110, 32, 9,
337
- 10, 32, 95, 9, 10, 65, 90, 97,
338
- 122, 32, 95, 9, 10, 65, 90, 97,
339
- 122, 104, 101, 114, 101, 32, 9, 10,
340
- 32, 34, 35, 39, 40, 45, 95, 9,
341
- 10, 48, 57, 65, 90, 97, 122, 34,
342
- 92, 32, 43, 45, 61, 9, 10, 60,
343
- 62, 32, 34, 35, 39, 40, 45, 95,
344
- 9, 10, 48, 57, 65, 90, 97, 122,
345
- 123, 34, 92, 125, 34, 92, 125, 34,
346
- 92, 32, 43, 45, 46, 61, 9, 10,
347
- 60, 62, 32, 95, 9, 10, 65, 90,
348
- 97, 122, 32, 95, 9, 10, 65, 90,
349
- 97, 122, 32, 43, 45, 46, 61, 95,
350
- 9, 10, 60, 62, 65, 90, 97, 122,
351
- 32, 34, 35, 39, 40, 45, 61, 95,
352
- 9, 10, 48, 57, 65, 90, 97, 122,
353
- 39, 92, 32, 41, 9, 10, 32, 43,
354
- 45, 61, 9, 10, 60, 62, 110, 100,
355
- 32, 9, 10, 32, 34, 35, 39, 40,
356
- 45, 95, 9, 10, 48, 57, 65, 90,
357
- 97, 122, 48, 57, 32, 43, 45, 46,
358
- 61, 9, 10, 48, 57, 60, 62, 48,
359
- 57, 32, 43, 45, 61, 9, 10, 48,
360
- 57, 60, 62, 32, 43, 45, 46, 61,
277
+ 10, 32, 34, 35, 39, 40, 45, 58,
278
+ 95, 9, 10, 48, 57, 65, 90, 97,
279
+ 122, 48, 57, 32, 43, 45, 46, 61,
280
+ 9, 10, 48, 57, 60, 62, 48, 57,
281
+ 32, 43, 45, 61, 9, 10, 48, 57,
282
+ 60, 62, 32, 43, 45, 46, 58, 61,
361
283
  95, 9, 10, 60, 62, 65, 90, 97,
362
284
  122, 97, 121, 32, 43, 45, 61, 115,
363
285
  9, 10, 60, 62, 113, 32, 9, 10,
@@ -371,72 +293,159 @@ static const char _querybuilder_trans_keys[] = {
371
293
  110, 116, 104, 101, 111, 116, 32, 9,
372
294
  10, 32, 108, 9, 10, 105, 107, 102,
373
295
  114, 32, 100, 9, 10, 101, 99, 111,
374
- 110, 100, 101, 104, 101, 107, 101, 97,
375
- 97, 32, 43, 45, 46, 61, 95, 9,
296
+ 110, 100, 101, 104, 101, 107, 101, 114,
297
+ 101, 32, 9, 10, 32, 34, 35, 39,
298
+ 40, 45, 58, 95, 9, 10, 48, 57,
299
+ 65, 90, 97, 122, 34, 92, 32, 43,
300
+ 45, 61, 9, 10, 60, 62, 32, 34,
301
+ 35, 39, 40, 45, 58, 95, 9, 10,
302
+ 48, 57, 65, 90, 97, 122, 123, 34,
303
+ 92, 125, 34, 92, 125, 34, 92, 32,
304
+ 43, 45, 46, 61, 9, 10, 60, 62,
305
+ 32, 58, 95, 9, 10, 65, 90, 97,
306
+ 122, 32, 58, 95, 9, 10, 65, 90,
307
+ 97, 122, 32, 43, 45, 46, 58, 61,
308
+ 95, 9, 10, 60, 62, 65, 90, 97,
309
+ 122, 32, 34, 35, 39, 40, 45, 58,
310
+ 61, 95, 9, 10, 48, 57, 65, 90,
311
+ 97, 122, 39, 92, 32, 41, 9, 10,
312
+ 32, 43, 45, 61, 9, 10, 60, 62,
313
+ 110, 100, 32, 9, 10, 32, 34, 35,
314
+ 39, 40, 45, 58, 95, 9, 10, 48,
315
+ 57, 65, 90, 97, 122, 48, 57, 32,
316
+ 43, 45, 46, 61, 9, 10, 48, 57,
317
+ 60, 62, 48, 57, 32, 43, 45, 61,
318
+ 9, 10, 48, 57, 60, 62, 32, 43,
319
+ 45, 46, 58, 61, 95, 9, 10, 60,
320
+ 62, 65, 90, 97, 122, 97, 121, 32,
321
+ 43, 45, 61, 115, 9, 10, 60, 62,
322
+ 113, 32, 9, 10, 101, 114, 116, 111,
323
+ 117, 114, 110, 115, 32, 9, 10, 32,
324
+ 78, 110, 9, 10, 85, 76, 76, 32,
325
+ 43, 45, 61, 9, 10, 60, 62, 111,
326
+ 117, 116, 32, 9, 10, 32, 78, 110,
327
+ 9, 10, 108, 108, 101, 105, 116, 107,
328
+ 109, 101, 97, 105, 111, 116, 99, 104,
329
+ 110, 117, 116, 101, 110, 116, 104, 101,
330
+ 111, 116, 32, 9, 10, 32, 108, 9,
331
+ 10, 105, 107, 102, 114, 32, 100, 9,
332
+ 10, 101, 99, 111, 110, 100, 101, 104,
333
+ 101, 107, 101, 97, 97, 32, 43, 45,
334
+ 46, 58, 61, 95, 9, 10, 60, 62,
335
+ 65, 90, 97, 122, 101, 101, 97, 97,
336
+ 32, 43, 45, 46, 58, 61, 95, 9,
376
337
  10, 60, 62, 65, 90, 97, 122, 101,
377
- 32, 34, 35, 39, 40, 45, 95, 9,
378
- 10, 48, 57, 65, 90, 97, 122, 34,
379
- 92, 32, 41, 43, 45, 61, 9, 10,
380
- 60, 62, 32, 41, 43, 45, 61, 97,
381
- 100, 101, 103, 104, 105, 108, 109, 110,
382
- 111, 115, 119, 121, 9, 10, 60, 62,
383
- 32, 34, 35, 39, 40, 45, 95, 9,
338
+ 32, 58, 95, 9, 10, 65, 90, 97,
339
+ 122, 104, 114, 111, 109, 32, 40, 58,
340
+ 95, 9, 10, 65, 90, 97, 122, 32,
341
+ 58, 95, 9, 10, 65, 90, 97, 122,
342
+ 110, 32, 9, 10, 32, 58, 95, 9,
343
+ 10, 65, 90, 97, 122, 32, 58, 95,
344
+ 9, 10, 65, 90, 97, 122, 104, 101,
345
+ 114, 101, 32, 9, 10, 32, 34, 35,
346
+ 39, 40, 45, 58, 95, 9, 10, 48,
347
+ 57, 65, 90, 97, 122, 34, 92, 32,
348
+ 43, 45, 61, 9, 10, 60, 62, 32,
349
+ 34, 35, 39, 40, 45, 58, 95, 9,
384
350
  10, 48, 57, 65, 90, 97, 122, 123,
385
351
  34, 92, 125, 34, 92, 125, 34, 92,
386
- 32, 41, 43, 45, 46, 61, 9, 10,
387
- 60, 62, 32, 95, 9, 10, 65, 90,
388
- 97, 122, 32, 95, 9, 10, 65, 90,
389
- 97, 122, 32, 41, 43, 45, 46, 61,
390
- 95, 9, 10, 60, 62, 65, 90, 97,
391
- 122, 32, 34, 35, 39, 40, 45, 61,
392
- 95, 9, 10, 48, 57, 65, 90, 97,
393
- 122, 39, 92, 32, 41, 9, 10, 32,
394
- 41, 43, 45, 61, 9, 10, 60, 62,
395
- 32, 41, 43, 45, 61, 97, 101, 103,
396
- 105, 108, 109, 110, 111, 9, 10, 60,
397
- 62, 110, 100, 32, 9, 10, 113, 101,
398
- 116, 115, 32, 9, 10, 32, 78, 110,
399
- 9, 10, 85, 76, 76, 32, 41, 43,
400
- 45, 61, 9, 10, 60, 62, 111, 117,
401
- 116, 32, 9, 10, 32, 78, 110, 9,
402
- 10, 108, 108, 101, 105, 116, 107, 101,
403
- 97, 116, 99, 104, 101, 111, 116, 32,
404
- 9, 10, 32, 108, 9, 10, 105, 114,
405
- 48, 57, 32, 41, 43, 45, 46, 61,
406
- 9, 10, 48, 57, 60, 62, 48, 57,
407
- 32, 41, 43, 45, 61, 9, 10, 48,
408
- 57, 60, 62, 32, 41, 43, 45, 46,
352
+ 32, 43, 45, 46, 61, 9, 10, 60,
353
+ 62, 32, 58, 95, 9, 10, 65, 90,
354
+ 97, 122, 32, 58, 95, 9, 10, 65,
355
+ 90, 97, 122, 32, 43, 45, 46, 58,
409
356
  61, 95, 9, 10, 60, 62, 65, 90,
410
- 97, 122, 97, 121, 32, 41, 43, 45,
411
- 61, 115, 9, 10, 60, 62, 111, 117,
412
- 114, 97, 105, 111, 110, 117, 116, 101,
413
- 110, 116, 104, 101, 99, 111, 110, 100,
414
- 101, 101, 107, 101, 97, 32, 40, 95,
357
+ 97, 122, 32, 34, 35, 39, 40, 45,
358
+ 58, 61, 95, 9, 10, 48, 57, 65,
359
+ 90, 97, 122, 39, 92, 32, 41, 9,
360
+ 10, 32, 43, 45, 61, 9, 10, 60,
361
+ 62, 110, 100, 32, 9, 10, 32, 34,
362
+ 35, 39, 40, 45, 58, 95, 9, 10,
363
+ 48, 57, 65, 90, 97, 122, 48, 57,
364
+ 32, 43, 45, 46, 61, 9, 10, 48,
365
+ 57, 60, 62, 48, 57, 32, 43, 45,
366
+ 61, 9, 10, 48, 57, 60, 62, 32,
367
+ 43, 45, 46, 58, 61, 95, 9, 10,
368
+ 60, 62, 65, 90, 97, 122, 97, 121,
369
+ 32, 43, 45, 61, 115, 9, 10, 60,
370
+ 62, 113, 32, 9, 10, 101, 114, 116,
371
+ 111, 117, 114, 110, 115, 32, 9, 10,
372
+ 32, 78, 110, 9, 10, 85, 76, 76,
373
+ 32, 43, 45, 61, 9, 10, 60, 62,
374
+ 111, 117, 116, 32, 9, 10, 32, 78,
375
+ 110, 9, 10, 108, 108, 101, 105, 116,
376
+ 107, 109, 101, 97, 105, 111, 116, 99,
377
+ 104, 110, 117, 116, 101, 110, 116, 104,
378
+ 101, 111, 116, 32, 9, 10, 32, 108,
379
+ 9, 10, 105, 107, 102, 114, 32, 100,
380
+ 9, 10, 101, 99, 111, 110, 100, 101,
381
+ 104, 101, 107, 101, 97, 97, 32, 43,
382
+ 45, 46, 58, 61, 95, 9, 10, 60,
383
+ 62, 65, 90, 97, 122, 101, 32, 34,
384
+ 35, 39, 40, 45, 58, 95, 9, 10,
385
+ 48, 57, 65, 90, 97, 122, 34, 92,
386
+ 32, 41, 43, 45, 61, 9, 10, 60,
387
+ 62, 32, 41, 43, 45, 61, 97, 100,
388
+ 101, 103, 104, 105, 108, 109, 110, 111,
389
+ 115, 119, 121, 9, 10, 60, 62, 32,
390
+ 34, 35, 39, 40, 45, 58, 95, 9,
391
+ 10, 48, 57, 65, 90, 97, 122, 123,
392
+ 34, 92, 125, 34, 92, 125, 34, 92,
393
+ 32, 41, 43, 45, 46, 61, 9, 10,
394
+ 60, 62, 32, 58, 95, 9, 10, 65,
395
+ 90, 97, 122, 32, 58, 95, 9, 10,
396
+ 65, 90, 97, 122, 32, 41, 43, 45,
397
+ 46, 58, 61, 95, 9, 10, 60, 62,
398
+ 65, 90, 97, 122, 32, 34, 35, 39,
399
+ 40, 45, 58, 61, 95, 9, 10, 48,
400
+ 57, 65, 90, 97, 122, 39, 92, 32,
401
+ 41, 9, 10, 32, 41, 43, 45, 61,
402
+ 9, 10, 60, 62, 32, 41, 43, 45,
403
+ 61, 97, 101, 103, 105, 108, 109, 110,
404
+ 111, 9, 10, 60, 62, 110, 100, 32,
405
+ 9, 10, 113, 101, 116, 115, 32, 9,
406
+ 10, 32, 78, 110, 9, 10, 85, 76,
407
+ 76, 32, 41, 43, 45, 61, 9, 10,
408
+ 60, 62, 111, 117, 116, 32, 9, 10,
409
+ 32, 78, 110, 9, 10, 108, 108, 101,
410
+ 105, 116, 107, 101, 97, 116, 99, 104,
411
+ 101, 111, 116, 32, 9, 10, 32, 108,
412
+ 9, 10, 105, 114, 48, 57, 32, 41,
413
+ 43, 45, 46, 61, 9, 10, 48, 57,
414
+ 60, 62, 48, 57, 32, 41, 43, 45,
415
+ 61, 9, 10, 48, 57, 60, 62, 32,
416
+ 41, 43, 45, 46, 58, 61, 95, 9,
417
+ 10, 60, 62, 65, 90, 97, 122, 97,
418
+ 121, 32, 41, 43, 45, 61, 115, 9,
419
+ 10, 60, 62, 111, 117, 114, 97, 105,
420
+ 111, 110, 117, 116, 101, 110, 116, 104,
421
+ 101, 99, 111, 110, 100, 101, 101, 107,
422
+ 101, 97, 32, 40, 58, 95, 9, 10,
423
+ 65, 90, 97, 122, 32, 41, 9, 10,
424
+ 32, 41, 9, 10, 32, 41, 102, 9,
425
+ 10, 114, 111, 109, 32, 40, 58, 95,
415
426
  9, 10, 65, 90, 97, 122, 32, 41,
416
- 9, 10, 32, 41, 9, 10, 32, 41,
417
- 102, 9, 10, 114, 111, 109, 32, 40,
418
- 95, 9, 10, 65, 90, 97, 122, 32,
419
- 41, 95, 9, 10, 65, 90, 97, 122,
427
+ 58, 95, 9, 10, 65, 90, 97, 122,
420
428
  32, 41, 102, 105, 119, 9, 10, 110,
421
- 32, 9, 10, 32, 95, 9, 10, 65,
422
- 90, 97, 122, 32, 41, 95, 9, 10,
423
- 65, 90, 97, 122, 104, 101, 114, 101,
424
- 32, 9, 10, 32, 34, 35, 39, 40,
425
- 45, 95, 9, 10, 48, 57, 65, 90,
426
- 97, 122, 34, 92, 32, 41, 43, 45,
427
- 61, 9, 10, 60, 62, 32, 41, 43,
428
- 45, 61, 97, 100, 101, 102, 103, 104,
429
- 105, 108, 109, 110, 111, 115, 119, 121,
430
- 9, 10, 60, 62, 32, 34, 35, 39,
431
- 40, 45, 95, 9, 10, 48, 57, 65,
432
- 90, 97, 122, 123, 34, 92, 125, 34,
433
- 92, 125, 34, 92, 32, 41, 43, 45,
434
- 46, 61, 9, 10, 60, 62, 32, 95,
435
- 9, 10, 65, 90, 97, 122, 32, 95,
436
- 9, 10, 65, 90, 97, 122, 32, 41,
437
- 43, 45, 46, 61, 95, 9, 10, 60,
438
- 62, 65, 90, 97, 122, 32, 34, 35,
439
- 39, 40, 45, 61, 95, 9, 10, 48,
429
+ 32, 9, 10, 32, 58, 95, 9, 10,
430
+ 65, 90, 97, 122, 32, 41, 58, 95,
431
+ 9, 10, 65, 90, 97, 122, 104, 101,
432
+ 114, 101, 32, 9, 10, 32, 34, 35,
433
+ 39, 40, 45, 58, 95, 9, 10, 48,
434
+ 57, 65, 90, 97, 122, 34, 92, 32,
435
+ 41, 43, 45, 61, 9, 10, 60, 62,
436
+ 32, 41, 43, 45, 61, 97, 100, 101,
437
+ 102, 103, 104, 105, 108, 109, 110, 111,
438
+ 115, 119, 121, 9, 10, 60, 62, 32,
439
+ 34, 35, 39, 40, 45, 58, 95, 9,
440
+ 10, 48, 57, 65, 90, 97, 122, 123,
441
+ 34, 92, 125, 34, 92, 125, 34, 92,
442
+ 32, 41, 43, 45, 46, 61, 9, 10,
443
+ 60, 62, 32, 58, 95, 9, 10, 65,
444
+ 90, 97, 122, 32, 58, 95, 9, 10,
445
+ 65, 90, 97, 122, 32, 41, 43, 45,
446
+ 46, 58, 61, 95, 9, 10, 60, 62,
447
+ 65, 90, 97, 122, 32, 34, 35, 39,
448
+ 40, 45, 58, 61, 95, 9, 10, 48,
440
449
  57, 65, 90, 97, 122, 39, 92, 32,
441
450
  41, 9, 10, 32, 41, 43, 45, 61,
442
451
  9, 10, 60, 62, 32, 41, 43, 45,
@@ -453,118 +462,118 @@ static const char _querybuilder_trans_keys[] = {
453
462
  32, 41, 43, 45, 46, 61, 9, 10,
454
463
  48, 57, 60, 62, 48, 57, 32, 41,
455
464
  43, 45, 61, 9, 10, 48, 57, 60,
456
- 62, 32, 41, 43, 45, 46, 61, 95,
457
- 9, 10, 60, 62, 65, 90, 97, 122,
458
- 97, 121, 32, 41, 43, 45, 61, 115,
459
- 9, 10, 60, 62, 111, 117, 114, 97,
460
- 105, 111, 110, 117, 116, 101, 110, 116,
461
- 104, 101, 99, 111, 110, 100, 101, 101,
462
- 107, 101, 97, 32, 97, 102, 103, 108,
463
- 111, 112, 9, 10, 32, 97, 102, 103,
465
+ 62, 32, 41, 43, 45, 46, 58, 61,
466
+ 95, 9, 10, 60, 62, 65, 90, 97,
467
+ 122, 97, 121, 32, 41, 43, 45, 61,
468
+ 115, 9, 10, 60, 62, 111, 117, 114,
469
+ 97, 105, 111, 110, 117, 116, 101, 110,
470
+ 116, 104, 101, 99, 111, 110, 100, 101,
471
+ 101, 107, 101, 97, 32, 97, 102, 103,
464
472
  108, 111, 112, 9, 10, 32, 97, 102,
465
- 103, 105, 108, 111, 112, 119, 9, 10,
466
- 32, 44, 108, 111, 112, 9, 10, 32,
467
- 44, 111, 112, 9, 10, 32, 111, 112,
468
- 9, 10, 32, 112, 9, 10, 32, 9,
469
- 10, 32, 44, 65, 68, 97, 100, 108,
470
- 111, 112, 9, 10, 32, 44, 108, 111,
471
- 112, 9, 10, 32, 43, 45, 61, 97,
472
- 100, 101, 102, 103, 104, 105, 108, 109,
473
- 110, 111, 112, 115, 119, 121, 9, 10,
474
- 60, 62, 32, 43, 45, 61, 97, 101,
475
- 102, 103, 105, 108, 109, 110, 111, 112,
476
- 9, 10, 60, 62, 32, 43, 45, 61,
473
+ 103, 108, 111, 112, 9, 10, 32, 97,
474
+ 102, 103, 105, 108, 111, 112, 119, 9,
475
+ 10, 32, 44, 108, 111, 112, 9, 10,
476
+ 32, 44, 111, 112, 9, 10, 32, 111,
477
+ 112, 9, 10, 32, 112, 9, 10, 32,
478
+ 9, 10, 32, 44, 65, 68, 97, 100,
479
+ 108, 111, 112, 9, 10, 32, 44, 108,
480
+ 111, 112, 9, 10, 32, 43, 45, 61,
477
481
  97, 100, 101, 102, 103, 104, 105, 108,
478
482
  109, 110, 111, 112, 115, 119, 121, 9,
479
483
  10, 60, 62, 32, 43, 45, 61, 97,
480
- 100, 101, 102, 103, 104, 105, 108, 109,
481
- 110, 111, 112, 115, 119, 121, 9, 10,
482
- 60, 62, 32, 43, 45, 61, 97, 101,
483
- 102, 103, 105, 108, 109, 110, 111, 112,
484
+ 101, 102, 103, 105, 108, 109, 110, 111,
485
+ 112, 9, 10, 60, 62, 32, 43, 45,
486
+ 61, 97, 100, 101, 102, 103, 104, 105,
487
+ 108, 109, 110, 111, 112, 115, 119, 121,
484
488
  9, 10, 60, 62, 32, 43, 45, 61,
485
489
  97, 100, 101, 102, 103, 104, 105, 108,
486
490
  109, 110, 111, 112, 115, 119, 121, 9,
487
- 10, 60, 62, 32, 97, 102, 103, 105,
488
- 108, 111, 112, 119, 9, 10, 32, 97,
489
- 102, 103, 105, 108, 111, 112, 119, 9,
490
- 10, 32, 43, 45, 61, 97, 100, 101,
491
- 102, 103, 104, 105, 108, 109, 110, 111,
492
- 112, 115, 119, 121, 9, 10, 60, 62,
493
- 32, 43, 45, 61, 97, 101, 102, 103,
494
- 105, 108, 109, 110, 111, 112, 9, 10,
495
- 60, 62, 32, 43, 45, 61, 97, 100,
491
+ 10, 60, 62, 32, 43, 45, 61, 97,
492
+ 101, 102, 103, 105, 108, 109, 110, 111,
493
+ 112, 9, 10, 60, 62, 32, 43, 45,
494
+ 61, 97, 100, 101, 102, 103, 104, 105,
495
+ 108, 109, 110, 111, 112, 115, 119, 121,
496
+ 9, 10, 60, 62, 32, 97, 102, 103,
497
+ 105, 108, 111, 112, 119, 9, 10, 32,
498
+ 97, 102, 103, 105, 108, 111, 112, 119,
499
+ 9, 10, 32, 43, 45, 61, 97, 100,
496
500
  101, 102, 103, 104, 105, 108, 109, 110,
497
501
  111, 112, 115, 119, 121, 9, 10, 60,
498
- 62, 0
502
+ 62, 32, 43, 45, 61, 97, 101, 102,
503
+ 103, 105, 108, 109, 110, 111, 112, 9,
504
+ 10, 60, 62, 32, 43, 45, 61, 97,
505
+ 100, 101, 102, 103, 104, 105, 108, 109,
506
+ 110, 111, 112, 115, 119, 121, 9, 10,
507
+ 60, 62, 0
499
508
  };
500
509
 
501
510
  static const char _querybuilder_single_lengths[] = {
502
- 0, 3, 2, 1, 1, 1, 1, 3,
503
- 2, 1, 1, 1, 1, 3, 3, 2,
504
- 1, 1, 1, 1, 1, 2, 1, 2,
505
- 2, 4, 1, 1, 1, 1, 2, 2,
511
+ 0, 4, 2, 1, 1, 1, 1, 4,
512
+ 2, 1, 1, 1, 1, 4, 4, 3,
513
+ 1, 1, 1, 1, 1, 2, 1, 3,
514
+ 3, 5, 1, 1, 1, 1, 2, 2,
506
515
  0, 2, 2, 0, 1, 1, 1, 1,
507
516
  1, 1, 2, 2, 0, 1, 1, 1,
508
- 1, 1, 1, 1, 1, 2, 2, 2,
509
- 2, 1, 1, 1, 1, 2, 1, 2,
510
- 2, 4, 1, 1, 2, 1, 1, 1,
511
- 1, 2, 2, 4, 2, 2, 4, 1,
512
- 1, 2, 2, 2, 2, 1, 1, 1,
513
- 1, 1, 7, 2, 4, 7, 1, 3,
514
- 3, 2, 0, 0, 5, 2, 2, 6,
515
- 8, 2, 0, 2, 4, 1, 1, 1,
516
- 7, 0, 5, 0, 4, 6, 1, 1,
517
+ 1, 1, 1, 1, 1, 3, 3, 3,
518
+ 2, 1, 1, 1, 1, 2, 1, 3,
519
+ 3, 5, 1, 1, 2, 1, 1, 1,
520
+ 1, 3, 3, 5, 3, 3, 5, 1,
521
+ 1, 3, 3, 2, 2, 1, 1, 1,
522
+ 1, 1, 8, 2, 4, 8, 1, 3,
523
+ 3, 2, 0, 0, 5, 3, 3, 7,
524
+ 9, 2, 0, 2, 4, 1, 1, 1,
525
+ 8, 0, 5, 0, 4, 7, 1, 1,
517
526
  5, 1, 1, 3, 1, 1, 1, 2,
518
527
  1, 3, 1, 1, 1, 4, 2, 1,
519
528
  1, 3, 1, 1, 3, 2, 1, 3,
520
529
  1, 1, 1, 1, 1, 1, 1, 1,
521
530
  1, 1, 2, 1, 1, 2, 1, 1,
522
531
  2, 2, 1, 1, 1, 1, 1, 2,
523
- 1, 1, 1, 1, 1, 1, 7, 2,
524
- 4, 7, 1, 3, 3, 2, 0, 0,
525
- 5, 2, 2, 6, 8, 2, 0, 2,
526
- 4, 1, 1, 1, 7, 0, 5, 0,
527
- 4, 6, 1, 1, 5, 1, 1, 3,
532
+ 1, 1, 1, 1, 1, 1, 8, 2,
533
+ 4, 8, 1, 3, 3, 2, 0, 0,
534
+ 5, 3, 3, 7, 9, 2, 0, 2,
535
+ 4, 1, 1, 1, 8, 0, 5, 0,
536
+ 4, 7, 1, 1, 5, 1, 1, 3,
528
537
  1, 1, 1, 2, 1, 3, 1, 1,
529
538
  1, 4, 2, 1, 1, 3, 1, 1,
530
539
  3, 2, 1, 3, 1, 1, 1, 1,
531
540
  1, 1, 1, 1, 1, 1, 2, 1,
532
541
  1, 2, 1, 1, 2, 2, 1, 1,
533
542
  1, 1, 1, 2, 1, 1, 1, 1,
534
- 1, 6, 1, 0, 1, 1, 1, 6,
535
- 1, 0, 2, 1, 1, 1, 1, 3,
536
- 2, 1, 1, 2, 2, 1, 1, 1,
537
- 1, 1, 7, 2, 4, 7, 1, 3,
538
- 3, 2, 0, 0, 5, 2, 2, 6,
539
- 8, 2, 0, 2, 4, 1, 1, 1,
540
- 7, 0, 5, 0, 4, 6, 1, 1,
543
+ 1, 7, 1, 0, 1, 1, 1, 7,
544
+ 1, 0, 3, 1, 1, 1, 1, 4,
545
+ 3, 1, 1, 3, 3, 1, 1, 1,
546
+ 1, 1, 8, 2, 4, 8, 1, 3,
547
+ 3, 2, 0, 0, 5, 3, 3, 7,
548
+ 9, 2, 0, 2, 4, 1, 1, 1,
549
+ 8, 0, 5, 0, 4, 7, 1, 1,
541
550
  5, 1, 1, 3, 1, 1, 1, 2,
542
551
  1, 3, 1, 1, 1, 4, 2, 1,
543
552
  1, 3, 1, 1, 3, 2, 1, 3,
544
553
  1, 1, 1, 1, 1, 1, 1, 1,
545
554
  1, 1, 2, 1, 1, 2, 1, 1,
546
555
  2, 2, 1, 1, 1, 1, 1, 2,
547
- 1, 1, 1, 1, 1, 6, 1, 0,
548
- 7, 2, 5, 18, 7, 1, 3, 3,
549
- 2, 0, 0, 6, 2, 2, 7, 8,
556
+ 1, 1, 1, 1, 1, 7, 1, 0,
557
+ 8, 2, 5, 18, 8, 1, 3, 3,
558
+ 2, 0, 0, 6, 3, 3, 8, 9,
550
559
  2, 0, 2, 5, 13, 1, 1, 1,
551
560
  1, 2, 1, 1, 3, 1, 1, 1,
552
561
  5, 2, 1, 1, 3, 1, 1, 3,
553
562
  1, 1, 1, 1, 1, 1, 2, 1,
554
563
  1, 2, 1, 1, 0, 6, 0, 5,
555
- 7, 1, 1, 6, 1, 1, 1, 3,
564
+ 8, 1, 1, 6, 1, 1, 1, 3,
556
565
  1, 1, 1, 1, 1, 1, 1, 1,
557
566
  1, 1, 1, 1, 1, 1, 1, 1,
558
- 1, 0, 3, 2, 2, 3, 1, 1,
559
- 1, 3, 3, 5, 1, 1, 2, 3,
560
- 1, 1, 1, 1, 1, 7, 2, 5,
561
- 19, 7, 1, 3, 3, 2, 0, 0,
562
- 6, 2, 2, 7, 8, 2, 0, 2,
567
+ 1, 0, 4, 2, 2, 3, 1, 1,
568
+ 1, 4, 4, 5, 1, 1, 3, 4,
569
+ 1, 1, 1, 1, 1, 8, 2, 5,
570
+ 19, 8, 1, 3, 3, 2, 0, 0,
571
+ 6, 3, 3, 8, 9, 2, 0, 2,
563
572
  5, 14, 1, 1, 1, 1, 2, 2,
564
573
  1, 3, 1, 1, 1, 5, 2, 1,
565
574
  1, 3, 1, 1, 3, 1, 1, 1,
566
575
  1, 1, 1, 2, 1, 1, 2, 1,
567
- 1, 0, 6, 0, 5, 7, 1, 1,
576
+ 1, 0, 6, 0, 5, 8, 1, 1,
568
577
  6, 1, 1, 1, 3, 1, 1, 1,
569
578
  1, 1, 1, 1, 1, 1, 1, 1,
570
579
  1, 1, 1, 1, 1, 1, 0, 7,
@@ -649,93 +658,94 @@ static const char _querybuilder_range_lengths[] = {
649
658
  };
650
659
 
651
660
  static const short _querybuilder_index_offsets[] = {
652
- 0, 0, 7, 11, 14, 16, 18, 21,
653
- 28, 32, 35, 37, 39, 41, 48, 55,
654
- 61, 63, 65, 67, 69, 72, 76, 78,
655
- 84, 90, 98, 100, 102, 104, 106, 111,
656
- 116, 118, 123, 128, 130, 134, 136, 138,
657
- 140, 142, 144, 149, 154, 156, 160, 162,
658
- 164, 166, 168, 170, 172, 174, 180, 186,
659
- 192, 195, 197, 199, 201, 204, 208, 210,
660
- 216, 222, 230, 232, 234, 238, 240, 242,
661
- 244, 246, 252, 258, 266, 272, 278, 286,
662
- 288, 291, 297, 303, 306, 310, 312, 314,
663
- 316, 318, 321, 333, 336, 343, 355, 357,
664
- 361, 365, 368, 369, 370, 378, 384, 390,
665
- 401, 414, 417, 418, 422, 429, 431, 433,
666
- 436, 448, 450, 459, 461, 469, 480, 482,
667
- 484, 492, 494, 497, 501, 503, 505, 507,
668
- 510, 513, 518, 520, 522, 524, 531, 534,
669
- 536, 539, 544, 546, 548, 552, 555, 557,
670
- 561, 563, 565, 567, 569, 571, 573, 575,
671
- 577, 579, 581, 584, 586, 589, 593, 595,
672
- 597, 600, 604, 606, 608, 610, 612, 614,
673
- 617, 619, 621, 623, 625, 627, 630, 642,
674
- 645, 652, 664, 666, 670, 674, 677, 678,
675
- 679, 687, 693, 699, 710, 723, 726, 727,
676
- 731, 738, 740, 742, 745, 757, 759, 768,
677
- 770, 778, 789, 791, 793, 801, 803, 806,
678
- 810, 812, 814, 816, 819, 822, 827, 829,
679
- 831, 833, 840, 843, 845, 848, 853, 855,
680
- 857, 861, 864, 866, 870, 872, 874, 876,
681
- 878, 880, 882, 884, 886, 888, 890, 893,
682
- 895, 898, 902, 904, 906, 909, 913, 915,
683
- 917, 919, 921, 923, 926, 928, 930, 932,
684
- 934, 936, 947, 949, 950, 952, 954, 956,
685
- 967, 969, 970, 976, 978, 980, 982, 984,
686
- 991, 997, 999, 1002, 1008, 1014, 1016, 1018,
687
- 1020, 1022, 1025, 1037, 1040, 1047, 1059, 1061,
688
- 1065, 1069, 1072, 1073, 1074, 1082, 1088, 1094,
689
- 1105, 1118, 1121, 1122, 1126, 1133, 1135, 1137,
690
- 1140, 1152, 1154, 1163, 1165, 1173, 1184, 1186,
691
- 1188, 1196, 1198, 1201, 1205, 1207, 1209, 1211,
692
- 1214, 1217, 1222, 1224, 1226, 1228, 1235, 1238,
693
- 1240, 1243, 1248, 1250, 1252, 1256, 1259, 1261,
694
- 1265, 1267, 1269, 1271, 1273, 1275, 1277, 1279,
695
- 1281, 1283, 1285, 1288, 1290, 1293, 1297, 1299,
696
- 1301, 1304, 1308, 1310, 1312, 1314, 1316, 1318,
697
- 1321, 1323, 1325, 1327, 1329, 1331, 1342, 1344,
698
- 1345, 1357, 1360, 1368, 1389, 1401, 1403, 1407,
699
- 1411, 1414, 1415, 1416, 1425, 1431, 1437, 1449,
700
- 1462, 1465, 1466, 1470, 1478, 1494, 1496, 1498,
701
- 1501, 1503, 1506, 1508, 1511, 1516, 1518, 1520,
702
- 1522, 1530, 1533, 1535, 1538, 1543, 1545, 1547,
703
- 1551, 1553, 1555, 1557, 1559, 1561, 1563, 1566,
704
- 1568, 1571, 1575, 1577, 1579, 1581, 1591, 1593,
705
- 1602, 1614, 1616, 1618, 1627, 1629, 1631, 1633,
706
- 1637, 1639, 1641, 1643, 1645, 1647, 1649, 1651,
707
- 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1667,
708
- 1669, 1671, 1672, 1679, 1683, 1687, 1692, 1694,
709
- 1696, 1698, 1705, 1712, 1719, 1721, 1724, 1730,
710
- 1737, 1739, 1741, 1743, 1745, 1748, 1760, 1763,
711
- 1771, 1793, 1805, 1807, 1811, 1815, 1818, 1819,
712
- 1820, 1829, 1835, 1841, 1853, 1866, 1869, 1870,
713
- 1874, 1882, 1899, 1901, 1903, 1906, 1908, 1911,
714
- 1914, 1917, 1922, 1924, 1926, 1928, 1936, 1939,
715
- 1941, 1944, 1949, 1951, 1953, 1957, 1959, 1961,
716
- 1963, 1965, 1967, 1969, 1972, 1974, 1977, 1981,
717
- 1983, 1985, 1987, 1997, 1999, 2008, 2020, 2022,
718
- 2024, 2033, 2035, 2037, 2039, 2043, 2045, 2047,
719
- 2049, 2051, 2053, 2055, 2057, 2059, 2061, 2063,
720
- 2065, 2067, 2069, 2071, 2073, 2075, 2077, 2078,
721
- 2087, 2096, 2107, 2114, 2120, 2125, 2129, 2132,
722
- 2143, 2150, 2172, 2189, 2211, 2233, 2250, 2272,
723
- 2283, 2294, 2316, 2333, 2355, 2356
661
+ 0, 0, 8, 12, 15, 17, 19, 22,
662
+ 30, 34, 37, 39, 41, 43, 51, 59,
663
+ 66, 68, 70, 72, 74, 77, 81, 83,
664
+ 90, 97, 106, 108, 110, 112, 114, 119,
665
+ 124, 126, 131, 136, 138, 142, 144, 146,
666
+ 148, 150, 152, 157, 162, 164, 168, 170,
667
+ 172, 174, 176, 178, 180, 182, 189, 196,
668
+ 203, 206, 208, 210, 212, 215, 219, 221,
669
+ 228, 235, 244, 246, 248, 252, 254, 256,
670
+ 258, 260, 267, 274, 283, 290, 297, 306,
671
+ 308, 311, 318, 325, 328, 332, 334, 336,
672
+ 338, 340, 343, 356, 359, 366, 379, 381,
673
+ 385, 389, 392, 393, 394, 402, 409, 416,
674
+ 428, 442, 445, 446, 450, 457, 459, 461,
675
+ 464, 477, 479, 488, 490, 498, 510, 512,
676
+ 514, 522, 524, 527, 531, 533, 535, 537,
677
+ 540, 543, 548, 550, 552, 554, 561, 564,
678
+ 566, 569, 574, 576, 578, 582, 585, 587,
679
+ 591, 593, 595, 597, 599, 601, 603, 605,
680
+ 607, 609, 611, 614, 616, 619, 623, 625,
681
+ 627, 630, 634, 636, 638, 640, 642, 644,
682
+ 647, 649, 651, 653, 655, 657, 660, 673,
683
+ 676, 683, 696, 698, 702, 706, 709, 710,
684
+ 711, 719, 726, 733, 745, 759, 762, 763,
685
+ 767, 774, 776, 778, 781, 794, 796, 805,
686
+ 807, 815, 827, 829, 831, 839, 841, 844,
687
+ 848, 850, 852, 854, 857, 860, 865, 867,
688
+ 869, 871, 878, 881, 883, 886, 891, 893,
689
+ 895, 899, 902, 904, 908, 910, 912, 914,
690
+ 916, 918, 920, 922, 924, 926, 928, 931,
691
+ 933, 936, 940, 942, 944, 947, 951, 953,
692
+ 955, 957, 959, 961, 964, 966, 968, 970,
693
+ 972, 974, 986, 988, 989, 991, 993, 995,
694
+ 1007, 1009, 1010, 1017, 1019, 1021, 1023, 1025,
695
+ 1033, 1040, 1042, 1045, 1052, 1059, 1061, 1063,
696
+ 1065, 1067, 1070, 1083, 1086, 1093, 1106, 1108,
697
+ 1112, 1116, 1119, 1120, 1121, 1129, 1136, 1143,
698
+ 1155, 1169, 1172, 1173, 1177, 1184, 1186, 1188,
699
+ 1191, 1204, 1206, 1215, 1217, 1225, 1237, 1239,
700
+ 1241, 1249, 1251, 1254, 1258, 1260, 1262, 1264,
701
+ 1267, 1270, 1275, 1277, 1279, 1281, 1288, 1291,
702
+ 1293, 1296, 1301, 1303, 1305, 1309, 1312, 1314,
703
+ 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332,
704
+ 1334, 1336, 1338, 1341, 1343, 1346, 1350, 1352,
705
+ 1354, 1357, 1361, 1363, 1365, 1367, 1369, 1371,
706
+ 1374, 1376, 1378, 1380, 1382, 1384, 1396, 1398,
707
+ 1399, 1412, 1415, 1423, 1444, 1457, 1459, 1463,
708
+ 1467, 1470, 1471, 1472, 1481, 1488, 1495, 1508,
709
+ 1522, 1525, 1526, 1530, 1538, 1554, 1556, 1558,
710
+ 1561, 1563, 1566, 1568, 1571, 1576, 1578, 1580,
711
+ 1582, 1590, 1593, 1595, 1598, 1603, 1605, 1607,
712
+ 1611, 1613, 1615, 1617, 1619, 1621, 1623, 1626,
713
+ 1628, 1631, 1635, 1637, 1639, 1641, 1651, 1653,
714
+ 1662, 1675, 1677, 1679, 1688, 1690, 1692, 1694,
715
+ 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712,
716
+ 1714, 1716, 1718, 1720, 1722, 1724, 1726, 1728,
717
+ 1730, 1732, 1733, 1741, 1745, 1749, 1754, 1756,
718
+ 1758, 1760, 1768, 1776, 1783, 1785, 1788, 1795,
719
+ 1803, 1805, 1807, 1809, 1811, 1814, 1827, 1830,
720
+ 1838, 1860, 1873, 1875, 1879, 1883, 1886, 1887,
721
+ 1888, 1897, 1904, 1911, 1924, 1938, 1941, 1942,
722
+ 1946, 1954, 1971, 1973, 1975, 1978, 1980, 1983,
723
+ 1986, 1989, 1994, 1996, 1998, 2000, 2008, 2011,
724
+ 2013, 2016, 2021, 2023, 2025, 2029, 2031, 2033,
725
+ 2035, 2037, 2039, 2041, 2044, 2046, 2049, 2053,
726
+ 2055, 2057, 2059, 2069, 2071, 2080, 2093, 2095,
727
+ 2097, 2106, 2108, 2110, 2112, 2116, 2118, 2120,
728
+ 2122, 2124, 2126, 2128, 2130, 2132, 2134, 2136,
729
+ 2138, 2140, 2142, 2144, 2146, 2148, 2150, 2151,
730
+ 2160, 2169, 2180, 2187, 2193, 2198, 2202, 2205,
731
+ 2216, 2223, 2245, 2262, 2284, 2306, 2323, 2345,
732
+ 2356, 2367, 2389, 2406, 2428, 2429
724
733
  };
725
734
 
726
735
  static const short _querybuilder_trans_targs[] = {
727
- 1, 2, 272, 1, 272, 272, 0, 2,
728
- 3, 2, 0, 551, 551, 0, 5, 0,
729
- 6, 0, 7, 7, 0, 7, 8, 266,
730
- 7, 266, 266, 0, 8, 9, 8, 0,
731
- 552, 552, 0, 11, 0, 12, 0, 13,
732
- 0, 14, 8, 15, 14, 15, 15, 0,
733
- 14, 8, 15, 14, 15, 15, 0, 553,
734
- 15, 553, 15, 15, 0, 17, 0, 18,
735
- 0, 19, 0, 20, 0, 21, 21, 0,
736
- 21, 22, 21, 0, 23, 0, 24, 25,
737
- 24, 25, 25, 0, 24, 25, 24, 25,
738
- 25, 0, 554, 24, 76, 25, 554, 25,
736
+ 1, 2, 272, 272, 1, 272, 272, 0,
737
+ 2, 3, 2, 0, 551, 551, 0, 5,
738
+ 0, 6, 0, 7, 7, 0, 7, 8,
739
+ 266, 266, 7, 266, 266, 0, 8, 9,
740
+ 8, 0, 552, 552, 0, 11, 0, 12,
741
+ 0, 13, 0, 14, 8, 15, 15, 14,
742
+ 15, 15, 0, 14, 8, 15, 15, 14,
743
+ 15, 15, 0, 553, 15, 15, 553, 15,
744
+ 15, 0, 17, 0, 18, 0, 19, 0,
745
+ 20, 0, 21, 21, 0, 21, 22, 21,
746
+ 0, 23, 0, 24, 25, 25, 24, 25,
747
+ 25, 0, 24, 25, 25, 24, 25, 25,
748
+ 0, 554, 24, 76, 25, 25, 554, 25,
739
749
  25, 0, 27, 0, 28, 0, 29, 0,
740
750
  30, 0, 31, 32, 31, 33, 0, 31,
741
751
  32, 31, 33, 0, 33, 0, 555, 34,
@@ -746,217 +756,225 @@ static const short _querybuilder_trans_targs[] = {
746
756
  45, 0, 45, 0, 557, 557, 45, 0,
747
757
  47, 0, 48, 0, 49, 0, 50, 0,
748
758
  51, 0, 52, 0, 53, 0, 54, 55,
749
- 54, 55, 55, 0, 54, 55, 54, 55,
750
- 55, 0, 558, 55, 558, 55, 55, 0,
751
- 38, 57, 0, 58, 0, 59, 0, 60,
752
- 0, 61, 61, 0, 61, 62, 61, 0,
753
- 63, 0, 64, 65, 64, 65, 65, 0,
754
- 64, 65, 64, 65, 65, 0, 559, 64,
755
- 73, 65, 559, 65, 65, 0, 67, 0,
756
- 68, 0, 560, 64, 560, 0, 66, 0,
757
- 71, 0, 68, 0, 70, 0, 74, 75,
758
- 74, 75, 75, 0, 74, 75, 74, 75,
759
- 75, 0, 559, 64, 73, 75, 559, 75,
760
- 75, 0, 77, 78, 77, 78, 78, 0,
761
- 77, 78, 77, 78, 78, 0, 554, 24,
762
- 76, 78, 554, 78, 78, 0, 80, 0,
763
- 81, 81, 0, 81, 82, 81, 82, 82,
764
- 0, 552, 82, 552, 82, 82, 0, 38,
765
- 84, 0, 7, 58, 7, 0, 86, 0,
766
- 87, 0, 88, 0, 89, 0, 90, 90,
767
- 0, 90, 91, 94, 105, 107, 113, 263,
768
- 90, 114, 263, 263, 0, 92, 265, 91,
769
- 561, 93, 93, 93, 561, 104, 0, 90,
770
- 91, 94, 105, 107, 113, 263, 90, 114,
759
+ 55, 54, 55, 55, 0, 54, 55, 55,
760
+ 54, 55, 55, 0, 558, 55, 55, 558,
761
+ 55, 55, 0, 38, 57, 0, 58, 0,
762
+ 59, 0, 60, 0, 61, 61, 0, 61,
763
+ 62, 61, 0, 63, 0, 64, 65, 65,
764
+ 64, 65, 65, 0, 64, 65, 65, 64,
765
+ 65, 65, 0, 559, 64, 73, 65, 65,
766
+ 559, 65, 65, 0, 67, 0, 68, 0,
767
+ 560, 64, 560, 0, 66, 0, 71, 0,
768
+ 68, 0, 70, 0, 74, 75, 75, 74,
769
+ 75, 75, 0, 74, 75, 75, 74, 75,
770
+ 75, 0, 559, 64, 73, 75, 75, 559,
771
+ 75, 75, 0, 77, 78, 78, 77, 78,
772
+ 78, 0, 77, 78, 78, 77, 78, 78,
773
+ 0, 554, 24, 76, 78, 78, 554, 78,
774
+ 78, 0, 80, 0, 81, 81, 0, 81,
775
+ 82, 82, 81, 82, 82, 0, 552, 82,
776
+ 82, 552, 82, 82, 0, 38, 84, 0,
777
+ 7, 58, 7, 0, 86, 0, 87, 0,
778
+ 88, 0, 89, 0, 90, 90, 0, 90,
779
+ 91, 94, 105, 107, 113, 263, 263, 90,
780
+ 114, 263, 263, 0, 92, 265, 91, 561,
781
+ 93, 93, 93, 561, 104, 0, 90, 91,
782
+ 94, 105, 107, 113, 263, 263, 90, 114,
771
783
  263, 263, 0, 95, 0, 97, 99, 0,
772
784
  96, 97, 99, 100, 96, 96, 98, 97,
773
785
  97, 96, 561, 93, 93, 101, 93, 561,
774
- 104, 0, 102, 103, 102, 103, 103, 0,
775
- 102, 103, 102, 103, 103, 0, 561, 93,
776
- 93, 101, 93, 103, 561, 104, 103, 103,
777
- 0, 90, 91, 94, 105, 107, 113, 93,
778
- 263, 90, 114, 263, 263, 0, 92, 106,
779
- 105, 105, 107, 108, 107, 0, 562, 93,
780
- 93, 93, 562, 104, 0, 110, 0, 111,
781
- 0, 112, 112, 0, 112, 91, 94, 105,
782
- 107, 113, 117, 112, 114, 117, 117, 0,
783
- 114, 0, 561, 93, 93, 115, 93, 561,
784
- 114, 104, 0, 116, 0, 561, 93, 93,
785
- 93, 561, 116, 104, 0, 563, 93, 93,
786
- 101, 93, 117, 563, 104, 117, 117, 0,
787
- 119, 0, 120, 0, 562, 93, 93, 93,
788
- 108, 562, 104, 0, 122, 0, 90, 90,
789
- 0, 122, 17, 122, 0, 125, 0, 126,
790
- 0, 120, 0, 80, 128, 0, 129, 129,
791
- 0, 129, 130, 134, 129, 0, 131, 0,
792
- 132, 0, 133, 0, 562, 93, 93, 93,
793
- 562, 104, 0, 135, 138, 0, 136, 0,
794
- 137, 137, 0, 137, 130, 134, 137, 0,
795
- 139, 0, 133, 0, 122, 141, 122, 0,
796
- 142, 28, 0, 122, 0, 144, 147, 151,
797
- 0, 145, 0, 146, 0, 122, 0, 148,
798
- 0, 149, 0, 150, 0, 120, 0, 152,
799
- 0, 153, 0, 120, 0, 122, 155, 0,
800
- 156, 0, 157, 157, 0, 157, 158, 157,
801
- 0, 159, 0, 142, 0, 38, 161, 0,
802
- 112, 58, 112, 0, 163, 0, 164, 0,
803
- 165, 0, 166, 0, 120, 0, 168, 170,
804
- 0, 169, 0, 120, 0, 171, 0, 172,
805
- 0, 173, 0, 174, 174, 0, 174, 175,
806
- 178, 189, 191, 197, 257, 174, 198, 257,
807
- 257, 0, 176, 259, 175, 564, 177, 177,
808
- 177, 564, 188, 0, 174, 175, 178, 189,
809
- 191, 197, 257, 174, 198, 257, 257, 0,
786
+ 104, 0, 102, 103, 103, 102, 103, 103,
787
+ 0, 102, 103, 103, 102, 103, 103, 0,
788
+ 561, 93, 93, 101, 103, 93, 103, 561,
789
+ 104, 103, 103, 0, 90, 91, 94, 105,
790
+ 107, 113, 263, 93, 263, 90, 114, 263,
791
+ 263, 0, 92, 106, 105, 105, 107, 108,
792
+ 107, 0, 562, 93, 93, 93, 562, 104,
793
+ 0, 110, 0, 111, 0, 112, 112, 0,
794
+ 112, 91, 94, 105, 107, 113, 117, 117,
795
+ 112, 114, 117, 117, 0, 114, 0, 561,
796
+ 93, 93, 115, 93, 561, 114, 104, 0,
797
+ 116, 0, 561, 93, 93, 93, 561, 116,
798
+ 104, 0, 563, 93, 93, 101, 117, 93,
799
+ 117, 563, 104, 117, 117, 0, 119, 0,
800
+ 120, 0, 562, 93, 93, 93, 108, 562,
801
+ 104, 0, 122, 0, 90, 90, 0, 122,
802
+ 17, 122, 0, 125, 0, 126, 0, 120,
803
+ 0, 80, 128, 0, 129, 129, 0, 129,
804
+ 130, 134, 129, 0, 131, 0, 132, 0,
805
+ 133, 0, 562, 93, 93, 93, 562, 104,
806
+ 0, 135, 138, 0, 136, 0, 137, 137,
807
+ 0, 137, 130, 134, 137, 0, 139, 0,
808
+ 133, 0, 122, 141, 122, 0, 142, 28,
809
+ 0, 122, 0, 144, 147, 151, 0, 145,
810
+ 0, 146, 0, 122, 0, 148, 0, 149,
811
+ 0, 150, 0, 120, 0, 152, 0, 153,
812
+ 0, 120, 0, 122, 155, 0, 156, 0,
813
+ 157, 157, 0, 157, 158, 157, 0, 159,
814
+ 0, 142, 0, 38, 161, 0, 112, 58,
815
+ 112, 0, 163, 0, 164, 0, 165, 0,
816
+ 166, 0, 120, 0, 168, 170, 0, 169,
817
+ 0, 120, 0, 171, 0, 172, 0, 173,
818
+ 0, 174, 174, 0, 174, 175, 178, 189,
819
+ 191, 197, 257, 257, 174, 198, 257, 257,
820
+ 0, 176, 259, 175, 564, 177, 177, 177,
821
+ 564, 188, 0, 174, 175, 178, 189, 191,
822
+ 197, 257, 257, 174, 198, 257, 257, 0,
810
823
  179, 0, 181, 183, 0, 180, 181, 183,
811
824
  184, 180, 180, 182, 181, 181, 180, 564,
812
825
  177, 177, 185, 177, 564, 188, 0, 186,
813
- 187, 186, 187, 187, 0, 186, 187, 186,
814
- 187, 187, 0, 564, 177, 177, 185, 177,
815
- 187, 564, 188, 187, 187, 0, 174, 175,
816
- 178, 189, 191, 197, 177, 257, 174, 198,
817
- 257, 257, 0, 176, 190, 189, 189, 191,
818
- 192, 191, 0, 565, 177, 177, 177, 565,
819
- 188, 0, 194, 0, 195, 0, 196, 196,
820
- 0, 196, 175, 178, 189, 191, 197, 201,
821
- 196, 198, 201, 201, 0, 198, 0, 564,
822
- 177, 177, 199, 177, 564, 198, 188, 0,
823
- 200, 0, 564, 177, 177, 177, 564, 200,
824
- 188, 0, 566, 177, 177, 185, 177, 201,
825
- 566, 188, 201, 201, 0, 203, 0, 204,
826
- 0, 565, 177, 177, 177, 192, 565, 188,
827
- 0, 206, 0, 174, 174, 0, 206, 17,
828
- 206, 0, 209, 0, 210, 0, 204, 0,
829
- 80, 212, 0, 213, 213, 0, 213, 214,
830
- 218, 213, 0, 215, 0, 216, 0, 217,
831
- 0, 565, 177, 177, 177, 565, 188, 0,
832
- 219, 222, 0, 220, 0, 221, 221, 0,
833
- 221, 214, 218, 221, 0, 223, 0, 217,
834
- 0, 206, 225, 206, 0, 226, 28, 0,
835
- 206, 0, 228, 231, 235, 0, 229, 0,
836
- 230, 0, 206, 0, 232, 0, 233, 0,
837
- 234, 0, 204, 0, 236, 0, 237, 0,
838
- 204, 0, 206, 239, 0, 240, 0, 241,
839
- 241, 0, 241, 242, 241, 0, 243, 0,
840
- 226, 0, 38, 245, 0, 196, 58, 196,
841
- 0, 247, 0, 248, 0, 249, 0, 250,
842
- 0, 204, 0, 252, 170, 0, 253, 0,
843
- 204, 0, 255, 0, 210, 0, 228, 0,
844
- 564, 177, 177, 185, 177, 257, 564, 188,
845
- 257, 257, 0, 252, 0, 175, 261, 0,
846
- 126, 0, 144, 0, 561, 93, 93, 101,
826
+ 187, 187, 186, 187, 187, 0, 186, 187,
827
+ 187, 186, 187, 187, 0, 564, 177, 177,
828
+ 185, 187, 177, 187, 564, 188, 187, 187,
829
+ 0, 174, 175, 178, 189, 191, 197, 257,
830
+ 177, 257, 174, 198, 257, 257, 0, 176,
831
+ 190, 189, 189, 191, 192, 191, 0, 565,
832
+ 177, 177, 177, 565, 188, 0, 194, 0,
833
+ 195, 0, 196, 196, 0, 196, 175, 178,
834
+ 189, 191, 197, 201, 201, 196, 198, 201,
835
+ 201, 0, 198, 0, 564, 177, 177, 199,
836
+ 177, 564, 198, 188, 0, 200, 0, 564,
837
+ 177, 177, 177, 564, 200, 188, 0, 566,
838
+ 177, 177, 185, 201, 177, 201, 566, 188,
839
+ 201, 201, 0, 203, 0, 204, 0, 565,
840
+ 177, 177, 177, 192, 565, 188, 0, 206,
841
+ 0, 174, 174, 0, 206, 17, 206, 0,
842
+ 209, 0, 210, 0, 204, 0, 80, 212,
843
+ 0, 213, 213, 0, 213, 214, 218, 213,
844
+ 0, 215, 0, 216, 0, 217, 0, 565,
845
+ 177, 177, 177, 565, 188, 0, 219, 222,
846
+ 0, 220, 0, 221, 221, 0, 221, 214,
847
+ 218, 221, 0, 223, 0, 217, 0, 206,
848
+ 225, 206, 0, 226, 28, 0, 206, 0,
849
+ 228, 231, 235, 0, 229, 0, 230, 0,
850
+ 206, 0, 232, 0, 233, 0, 234, 0,
851
+ 204, 0, 236, 0, 237, 0, 204, 0,
852
+ 206, 239, 0, 240, 0, 241, 241, 0,
853
+ 241, 242, 241, 0, 243, 0, 226, 0,
854
+ 38, 245, 0, 196, 58, 196, 0, 247,
855
+ 0, 248, 0, 249, 0, 250, 0, 204,
856
+ 0, 252, 170, 0, 253, 0, 204, 0,
857
+ 255, 0, 210, 0, 228, 0, 564, 177,
858
+ 177, 185, 257, 177, 257, 564, 188, 257,
859
+ 257, 0, 252, 0, 175, 261, 0, 126,
860
+ 0, 144, 0, 561, 93, 93, 101, 263,
847
861
  93, 263, 561, 104, 263, 263, 0, 168,
848
- 0, 91, 567, 266, 567, 266, 266, 0,
849
- 170, 0, 269, 0, 270, 0, 271, 0,
850
- 1, 2, 272, 1, 272, 272, 0, 568,
851
- 272, 568, 272, 272, 0, 274, 0, 275,
852
- 275, 0, 275, 276, 275, 276, 276, 0,
853
- 551, 276, 551, 276, 276, 0, 278, 0,
854
- 279, 0, 280, 0, 281, 0, 282, 282,
855
- 0, 282, 283, 286, 297, 299, 305, 365,
856
- 282, 306, 365, 365, 0, 284, 367, 283,
857
- 569, 285, 285, 285, 569, 296, 0, 282,
858
- 283, 286, 297, 299, 305, 365, 282, 306,
859
- 365, 365, 0, 287, 0, 289, 291, 0,
860
- 288, 289, 291, 292, 288, 288, 290, 289,
861
- 289, 288, 569, 285, 285, 293, 285, 569,
862
- 296, 0, 294, 295, 294, 295, 295, 0,
863
- 294, 295, 294, 295, 295, 0, 569, 285,
864
- 285, 293, 285, 295, 569, 296, 295, 295,
865
- 0, 282, 283, 286, 297, 299, 305, 285,
866
- 365, 282, 306, 365, 365, 0, 284, 298,
867
- 297, 297, 299, 300, 299, 0, 570, 285,
868
- 285, 285, 570, 296, 0, 302, 0, 303,
869
- 0, 304, 304, 0, 304, 283, 286, 297,
870
- 299, 305, 309, 304, 306, 309, 309, 0,
871
- 306, 0, 569, 285, 285, 307, 285, 569,
872
- 306, 296, 0, 308, 0, 569, 285, 285,
873
- 285, 569, 308, 296, 0, 571, 285, 285,
874
- 293, 285, 309, 571, 296, 309, 309, 0,
875
- 311, 0, 312, 0, 570, 285, 285, 285,
876
- 300, 570, 296, 0, 314, 0, 282, 282,
877
- 0, 314, 17, 314, 0, 317, 0, 318,
878
- 0, 312, 0, 274, 320, 0, 321, 321,
879
- 0, 321, 322, 326, 321, 0, 323, 0,
880
- 324, 0, 325, 0, 570, 285, 285, 285,
881
- 570, 296, 0, 327, 330, 0, 328, 0,
882
- 329, 329, 0, 329, 322, 326, 329, 0,
883
- 331, 0, 325, 0, 314, 333, 314, 0,
884
- 334, 28, 0, 314, 0, 336, 339, 343,
885
- 0, 337, 0, 338, 0, 314, 0, 340,
886
- 0, 341, 0, 342, 0, 312, 0, 344,
887
- 0, 345, 0, 312, 0, 314, 347, 0,
888
- 348, 0, 349, 349, 0, 349, 350, 349,
889
- 0, 351, 0, 334, 0, 38, 353, 0,
890
- 304, 58, 304, 0, 355, 0, 356, 0,
891
- 357, 0, 358, 0, 312, 0, 360, 170,
892
- 0, 361, 0, 312, 0, 363, 0, 318,
893
- 0, 336, 0, 569, 285, 285, 293, 285,
894
- 365, 569, 296, 365, 365, 0, 360, 0,
895
- 283, 368, 369, 373, 384, 386, 420, 424,
896
- 368, 421, 424, 424, 0, 370, 449, 369,
897
- 371, 572, 372, 372, 372, 371, 383, 0,
898
- 371, 572, 372, 372, 372, 389, 425, 392,
899
- 393, 428, 394, 407, 431, 414, 419, 439,
900
- 444, 447, 371, 383, 0, 368, 369, 373,
901
- 384, 386, 420, 424, 368, 421, 424, 424,
862
+ 0, 91, 567, 266, 266, 567, 266, 266,
863
+ 0, 170, 0, 269, 0, 270, 0, 271,
864
+ 0, 1, 2, 272, 272, 1, 272, 272,
865
+ 0, 568, 272, 272, 568, 272, 272, 0,
866
+ 274, 0, 275, 275, 0, 275, 276, 276,
867
+ 275, 276, 276, 0, 551, 276, 276, 551,
868
+ 276, 276, 0, 278, 0, 279, 0, 280,
869
+ 0, 281, 0, 282, 282, 0, 282, 283,
870
+ 286, 297, 299, 305, 365, 365, 282, 306,
871
+ 365, 365, 0, 284, 367, 283, 569, 285,
872
+ 285, 285, 569, 296, 0, 282, 283, 286,
873
+ 297, 299, 305, 365, 365, 282, 306, 365,
874
+ 365, 0, 287, 0, 289, 291, 0, 288,
875
+ 289, 291, 292, 288, 288, 290, 289, 289,
876
+ 288, 569, 285, 285, 293, 285, 569, 296,
877
+ 0, 294, 295, 295, 294, 295, 295, 0,
878
+ 294, 295, 295, 294, 295, 295, 0, 569,
879
+ 285, 285, 293, 295, 285, 295, 569, 296,
880
+ 295, 295, 0, 282, 283, 286, 297, 299,
881
+ 305, 365, 285, 365, 282, 306, 365, 365,
882
+ 0, 284, 298, 297, 297, 299, 300, 299,
883
+ 0, 570, 285, 285, 285, 570, 296, 0,
884
+ 302, 0, 303, 0, 304, 304, 0, 304,
885
+ 283, 286, 297, 299, 305, 309, 309, 304,
886
+ 306, 309, 309, 0, 306, 0, 569, 285,
887
+ 285, 307, 285, 569, 306, 296, 0, 308,
888
+ 0, 569, 285, 285, 285, 569, 308, 296,
889
+ 0, 571, 285, 285, 293, 309, 285, 309,
890
+ 571, 296, 309, 309, 0, 311, 0, 312,
891
+ 0, 570, 285, 285, 285, 300, 570, 296,
892
+ 0, 314, 0, 282, 282, 0, 314, 17,
893
+ 314, 0, 317, 0, 318, 0, 312, 0,
894
+ 274, 320, 0, 321, 321, 0, 321, 322,
895
+ 326, 321, 0, 323, 0, 324, 0, 325,
896
+ 0, 570, 285, 285, 285, 570, 296, 0,
897
+ 327, 330, 0, 328, 0, 329, 329, 0,
898
+ 329, 322, 326, 329, 0, 331, 0, 325,
899
+ 0, 314, 333, 314, 0, 334, 28, 0,
900
+ 314, 0, 336, 339, 343, 0, 337, 0,
901
+ 338, 0, 314, 0, 340, 0, 341, 0,
902
+ 342, 0, 312, 0, 344, 0, 345, 0,
903
+ 312, 0, 314, 347, 0, 348, 0, 349,
904
+ 349, 0, 349, 350, 349, 0, 351, 0,
905
+ 334, 0, 38, 353, 0, 304, 58, 304,
906
+ 0, 355, 0, 356, 0, 357, 0, 358,
907
+ 0, 312, 0, 360, 170, 0, 361, 0,
908
+ 312, 0, 363, 0, 318, 0, 336, 0,
909
+ 569, 285, 285, 293, 365, 285, 365, 569,
910
+ 296, 365, 365, 0, 360, 0, 283, 368,
911
+ 369, 373, 384, 386, 420, 424, 424, 368,
912
+ 421, 424, 424, 0, 370, 449, 369, 371,
913
+ 572, 372, 372, 372, 371, 383, 0, 371,
914
+ 572, 372, 372, 372, 389, 425, 392, 393,
915
+ 428, 394, 407, 431, 414, 419, 439, 444,
916
+ 447, 371, 383, 0, 368, 369, 373, 384,
917
+ 386, 420, 424, 424, 368, 421, 424, 424,
902
918
  0, 374, 0, 376, 378, 0, 375, 376,
903
919
  378, 379, 375, 375, 377, 376, 376, 375,
904
920
  371, 572, 372, 372, 380, 372, 371, 383,
905
- 0, 381, 382, 381, 382, 382, 0, 381,
906
- 382, 381, 382, 382, 0, 371, 572, 372,
907
- 372, 380, 372, 382, 371, 383, 382, 382,
908
- 0, 368, 369, 373, 384, 386, 420, 372,
909
- 424, 368, 421, 424, 424, 0, 370, 385,
910
- 384, 384, 386, 387, 386, 0, 388, 572,
911
- 372, 372, 372, 388, 383, 0, 388, 572,
912
- 372, 372, 372, 389, 392, 393, 394, 407,
913
- 410, 414, 419, 388, 383, 0, 390, 0,
914
- 391, 0, 368, 368, 0, 391, 0, 391,
915
- 391, 0, 395, 0, 396, 396, 0, 396,
916
- 397, 401, 396, 0, 398, 0, 399, 0,
917
- 400, 0, 388, 572, 372, 372, 372, 388,
918
- 383, 0, 402, 405, 0, 403, 0, 404,
919
- 404, 0, 404, 397, 401, 404, 0, 406,
920
- 0, 400, 0, 391, 408, 391, 0, 409,
921
- 0, 391, 0, 411, 0, 412, 0, 413,
922
- 0, 391, 0, 391, 415, 0, 416, 0,
923
- 417, 417, 0, 417, 418, 417, 0, 408,
924
- 0, 391, 0, 421, 0, 371, 572, 372,
925
- 372, 422, 372, 371, 421, 383, 0, 423,
926
- 0, 371, 572, 372, 372, 372, 371, 423,
927
- 383, 0, 371, 572, 372, 372, 380, 372,
928
- 424, 371, 383, 424, 424, 0, 426, 0,
929
- 427, 0, 388, 572, 372, 372, 372, 387,
930
- 388, 383, 0, 429, 0, 430, 0, 427,
931
- 0, 411, 432, 436, 0, 433, 0, 434,
932
- 0, 435, 0, 427, 0, 437, 0, 438,
933
- 0, 427, 0, 440, 0, 441, 0, 442,
934
- 0, 443, 0, 427, 0, 445, 0, 446,
935
- 0, 427, 0, 448, 0, 430, 0, 369,
936
- 450, 451, 458, 450, 458, 458, 0, 451,
937
- 452, 451, 0, 453, 573, 453, 0, 453,
938
- 573, 454, 453, 0, 455, 0, 456, 0,
939
- 457, 0, 450, 451, 458, 450, 458, 458,
940
- 0, 459, 573, 458, 459, 458, 458, 0,
921
+ 0, 381, 382, 382, 381, 382, 382, 0,
922
+ 381, 382, 382, 381, 382, 382, 0, 371,
923
+ 572, 372, 372, 380, 382, 372, 382, 371,
924
+ 383, 382, 382, 0, 368, 369, 373, 384,
925
+ 386, 420, 424, 372, 424, 368, 421, 424,
926
+ 424, 0, 370, 385, 384, 384, 386, 387,
927
+ 386, 0, 388, 572, 372, 372, 372, 388,
928
+ 383, 0, 388, 572, 372, 372, 372, 389,
929
+ 392, 393, 394, 407, 410, 414, 419, 388,
930
+ 383, 0, 390, 0, 391, 0, 368, 368,
931
+ 0, 391, 0, 391, 391, 0, 395, 0,
932
+ 396, 396, 0, 396, 397, 401, 396, 0,
933
+ 398, 0, 399, 0, 400, 0, 388, 572,
934
+ 372, 372, 372, 388, 383, 0, 402, 405,
935
+ 0, 403, 0, 404, 404, 0, 404, 397,
936
+ 401, 404, 0, 406, 0, 400, 0, 391,
937
+ 408, 391, 0, 409, 0, 391, 0, 411,
938
+ 0, 412, 0, 413, 0, 391, 0, 391,
939
+ 415, 0, 416, 0, 417, 417, 0, 417,
940
+ 418, 417, 0, 408, 0, 391, 0, 421,
941
+ 0, 371, 572, 372, 372, 422, 372, 371,
942
+ 421, 383, 0, 423, 0, 371, 572, 372,
943
+ 372, 372, 371, 423, 383, 0, 371, 572,
944
+ 372, 372, 380, 424, 372, 424, 371, 383,
945
+ 424, 424, 0, 426, 0, 427, 0, 388,
946
+ 572, 372, 372, 372, 387, 388, 383, 0,
947
+ 429, 0, 430, 0, 427, 0, 411, 432,
948
+ 436, 0, 433, 0, 434, 0, 435, 0,
949
+ 427, 0, 437, 0, 438, 0, 427, 0,
950
+ 440, 0, 441, 0, 442, 0, 443, 0,
951
+ 427, 0, 445, 0, 446, 0, 427, 0,
952
+ 448, 0, 430, 0, 369, 450, 451, 458,
953
+ 458, 450, 458, 458, 0, 451, 452, 451,
954
+ 0, 453, 573, 453, 0, 453, 573, 454,
955
+ 453, 0, 455, 0, 456, 0, 457, 0,
956
+ 450, 451, 458, 458, 450, 458, 458, 0,
957
+ 459, 573, 458, 458, 459, 458, 458, 0,
941
958
  459, 573, 454, 460, 464, 459, 0, 461,
942
- 0, 462, 462, 0, 462, 463, 462, 463,
943
- 463, 0, 453, 573, 463, 453, 463, 463,
944
- 0, 465, 0, 466, 0, 467, 0, 468,
945
- 0, 469, 469, 0, 469, 470, 474, 485,
946
- 487, 521, 525, 469, 522, 525, 525, 0,
947
- 471, 550, 470, 472, 573, 473, 473, 473,
948
- 472, 484, 0, 472, 573, 473, 473, 473,
949
- 490, 526, 493, 454, 494, 529, 495, 508,
950
- 532, 515, 520, 540, 545, 548, 472, 484,
951
- 0, 469, 470, 474, 485, 487, 521, 525,
952
- 469, 522, 525, 525, 0, 475, 0, 477,
953
- 479, 0, 476, 477, 479, 480, 476, 476,
954
- 478, 477, 477, 476, 472, 573, 473, 473,
955
- 481, 473, 472, 484, 0, 482, 483, 482,
956
- 483, 483, 0, 482, 483, 482, 483, 483,
957
- 0, 472, 573, 473, 473, 481, 473, 483,
958
- 472, 484, 483, 483, 0, 469, 470, 474,
959
- 485, 487, 521, 473, 525, 469, 522, 525,
959
+ 0, 462, 462, 0, 462, 463, 463, 462,
960
+ 463, 463, 0, 453, 573, 463, 463, 453,
961
+ 463, 463, 0, 465, 0, 466, 0, 467,
962
+ 0, 468, 0, 469, 469, 0, 469, 470,
963
+ 474, 485, 487, 521, 525, 525, 469, 522,
964
+ 525, 525, 0, 471, 550, 470, 472, 573,
965
+ 473, 473, 473, 472, 484, 0, 472, 573,
966
+ 473, 473, 473, 490, 526, 493, 454, 494,
967
+ 529, 495, 508, 532, 515, 520, 540, 545,
968
+ 548, 472, 484, 0, 469, 470, 474, 485,
969
+ 487, 521, 525, 525, 469, 522, 525, 525,
970
+ 0, 475, 0, 477, 479, 0, 476, 477,
971
+ 479, 480, 476, 476, 478, 477, 477, 476,
972
+ 472, 573, 473, 473, 481, 473, 472, 484,
973
+ 0, 482, 483, 483, 482, 483, 483, 0,
974
+ 482, 483, 483, 482, 483, 483, 0, 472,
975
+ 573, 473, 473, 481, 483, 473, 483, 472,
976
+ 484, 483, 483, 0, 469, 470, 474, 485,
977
+ 487, 521, 525, 473, 525, 469, 522, 525,
960
978
  525, 0, 471, 486, 485, 485, 487, 488,
961
979
  487, 0, 489, 573, 473, 473, 473, 489,
962
980
  484, 0, 489, 573, 473, 473, 473, 490,
@@ -975,65 +993,66 @@ static const short _querybuilder_trans_targs[] = {
975
993
  0, 522, 0, 472, 573, 473, 473, 523,
976
994
  473, 472, 522, 484, 0, 524, 0, 472,
977
995
  573, 473, 473, 473, 472, 524, 484, 0,
978
- 472, 573, 473, 473, 481, 473, 525, 472,
979
- 484, 525, 525, 0, 527, 0, 528, 0,
980
- 489, 573, 473, 473, 473, 488, 489, 484,
981
- 0, 530, 0, 531, 0, 528, 0, 512,
982
- 533, 537, 0, 534, 0, 535, 0, 536,
983
- 0, 528, 0, 538, 0, 539, 0, 528,
984
- 0, 541, 0, 542, 0, 543, 0, 544,
985
- 0, 528, 0, 546, 0, 547, 0, 528,
986
- 0, 549, 0, 531, 0, 470, 551, 4,
987
- 268, 16, 26, 83, 46, 551, 0, 552,
988
- 4, 10, 16, 26, 83, 46, 552, 0,
989
- 553, 4, 10, 16, 79, 26, 83, 46,
990
- 85, 553, 0, 554, 24, 26, 56, 46,
991
- 554, 0, 555, 34, 37, 46, 555, 0,
992
- 556, 37, 46, 556, 0, 557, 46, 557,
993
- 0, 558, 558, 0, 559, 64, 66, 69,
994
- 70, 72, 26, 37, 46, 559, 0, 560,
995
- 64, 26, 37, 46, 560, 0, 561, 93,
996
+ 472, 573, 473, 473, 481, 525, 473, 525,
997
+ 472, 484, 525, 525, 0, 527, 0, 528,
998
+ 0, 489, 573, 473, 473, 473, 488, 489,
999
+ 484, 0, 530, 0, 531, 0, 528, 0,
1000
+ 512, 533, 537, 0, 534, 0, 535, 0,
1001
+ 536, 0, 528, 0, 538, 0, 539, 0,
1002
+ 528, 0, 541, 0, 542, 0, 543, 0,
1003
+ 544, 0, 528, 0, 546, 0, 547, 0,
1004
+ 528, 0, 549, 0, 531, 0, 470, 551,
1005
+ 4, 268, 16, 26, 83, 46, 551, 0,
1006
+ 552, 4, 10, 16, 26, 83, 46, 552,
1007
+ 0, 553, 4, 10, 16, 79, 26, 83,
1008
+ 46, 85, 553, 0, 554, 24, 26, 56,
1009
+ 46, 554, 0, 555, 34, 37, 46, 555,
1010
+ 0, 556, 37, 46, 556, 0, 557, 46,
1011
+ 557, 0, 558, 558, 0, 559, 64, 66,
1012
+ 69, 70, 72, 26, 37, 46, 559, 0,
1013
+ 560, 64, 26, 37, 46, 560, 0, 561,
1014
+ 93, 93, 93, 109, 118, 121, 10, 123,
1015
+ 124, 127, 140, 143, 154, 160, 46, 162,
1016
+ 264, 260, 561, 104, 0, 562, 93, 93,
1017
+ 93, 109, 121, 10, 123, 127, 140, 262,
1018
+ 154, 160, 46, 562, 104, 0, 563, 93,
996
1019
  93, 93, 109, 118, 121, 10, 123, 124,
997
- 127, 140, 143, 154, 160, 46, 162, 264,
998
- 260, 561, 104, 0, 562, 93, 93, 93,
999
- 109, 121, 10, 123, 127, 140, 262, 154,
1000
- 160, 46, 562, 104, 0, 563, 93, 93,
1001
- 93, 109, 118, 121, 10, 123, 124, 127,
1002
- 140, 143, 154, 160, 46, 162, 167, 260,
1003
- 563, 104, 0, 564, 177, 177, 177, 193,
1020
+ 127, 140, 143, 154, 160, 46, 162, 167,
1021
+ 260, 563, 104, 0, 564, 177, 177, 177,
1022
+ 193, 202, 205, 10, 207, 208, 211, 224,
1023
+ 227, 238, 244, 46, 246, 258, 254, 564,
1024
+ 188, 0, 565, 177, 177, 177, 193, 205,
1025
+ 10, 207, 211, 224, 256, 238, 244, 46,
1026
+ 565, 188, 0, 566, 177, 177, 177, 193,
1004
1027
  202, 205, 10, 207, 208, 211, 224, 227,
1005
- 238, 244, 46, 246, 258, 254, 564, 188,
1006
- 0, 565, 177, 177, 177, 193, 205, 10,
1007
- 207, 211, 224, 256, 238, 244, 46, 565,
1008
- 188, 0, 566, 177, 177, 177, 193, 202,
1009
- 205, 10, 207, 208, 211, 224, 227, 238,
1010
- 244, 46, 246, 251, 254, 566, 188, 0,
1011
- 567, 4, 10, 16, 79, 26, 83, 46,
1012
- 267, 567, 0, 568, 4, 268, 16, 273,
1013
- 26, 83, 46, 277, 568, 0, 569, 285,
1028
+ 238, 244, 46, 246, 251, 254, 566, 188,
1029
+ 0, 567, 4, 10, 16, 79, 26, 83,
1030
+ 46, 267, 567, 0, 568, 4, 268, 16,
1031
+ 273, 26, 83, 46, 277, 568, 0, 569,
1032
+ 285, 285, 285, 301, 310, 313, 268, 315,
1033
+ 316, 319, 332, 335, 346, 352, 46, 354,
1034
+ 366, 362, 569, 296, 0, 570, 285, 285,
1035
+ 285, 301, 313, 268, 315, 319, 332, 364,
1036
+ 346, 352, 46, 570, 296, 0, 571, 285,
1014
1037
  285, 285, 301, 310, 313, 268, 315, 316,
1015
- 319, 332, 335, 346, 352, 46, 354, 366,
1016
- 362, 569, 296, 0, 570, 285, 285, 285,
1017
- 301, 313, 268, 315, 319, 332, 364, 346,
1018
- 352, 46, 570, 296, 0, 571, 285, 285,
1019
- 285, 301, 310, 313, 268, 315, 316, 319,
1020
- 332, 335, 346, 352, 46, 354, 359, 362,
1021
- 571, 296, 0, 0, 0, 0
1038
+ 319, 332, 335, 346, 352, 46, 354, 359,
1039
+ 362, 571, 296, 0, 0, 0, 0
1022
1040
  };
1023
1041
 
1024
1042
  static const unsigned char _querybuilder_trans_actions[] = {
1025
- 0, 37, 1, 0, 1, 1, 0, 0,
1026
- 0, 0, 0, 0, 0, 59, 1, 0,
1027
- 1, 0, 57, 57, 0, 0, 37, 1,
1028
- 0, 1, 1, 0, 0, 0, 0, 0,
1029
- 0, 0, 59, 0, 0, 0, 0, 0,
1030
- 0, 55, 163, 160, 55, 160, 160, 0,
1031
- 0, 37, 1, 0, 1, 1, 0, 23,
1032
- 1, 23, 1, 1, 59, 0, 0, 0,
1043
+ 0, 37, 1, 1, 0, 1, 1, 0,
1044
+ 0, 0, 0, 0, 0, 0, 59, 1,
1045
+ 0, 1, 0, 57, 57, 0, 0, 37,
1046
+ 1, 1, 0, 1, 1, 0, 0, 0,
1047
+ 0, 0, 0, 0, 59, 0, 0, 0,
1048
+ 0, 0, 0, 55, 163, 160, 160, 55,
1049
+ 160, 160, 0, 0, 37, 1, 1, 0,
1050
+ 1, 1, 0, 23, 1, 1, 23, 1,
1051
+ 1, 59, 0, 0, 0, 0, 0, 0,
1033
1052
  0, 0, 0, 0, 0, 0, 0, 0,
1034
- 0, 0, 0, 0, 0, 0, 53, 157,
1035
- 53, 157, 157, 0, 0, 1, 0, 1,
1036
- 1, 0, 13, 13, 13, 1, 13, 1,
1053
+ 0, 0, 0, 53, 157, 157, 53, 157,
1054
+ 157, 0, 0, 1, 1, 0, 1, 1,
1055
+ 0, 13, 13, 13, 1, 1, 13, 1,
1037
1056
  1, 59, 0, 0, 0, 0, 0, 0,
1038
1057
  0, 0, 49, 151, 49, 151, 0, 0,
1039
1058
  1, 0, 1, 0, 1, 0, 9, 9,
@@ -1044,83 +1063,138 @@ static const unsigned char _querybuilder_trans_actions[] = {
1044
1063
  1, 0, 1, 0, 9, 9, 1, 59,
1045
1064
  0, 0, 0, 0, 0, 0, 0, 0,
1046
1065
  0, 0, 0, 0, 0, 0, 47, 148,
1047
- 47, 148, 148, 0, 0, 1, 0, 1,
1048
- 1, 0, 45, 1, 45, 1, 1, 59,
1066
+ 148, 47, 148, 148, 0, 0, 1, 1,
1067
+ 0, 1, 1, 0, 45, 1, 1, 45,
1068
+ 1, 1, 59, 0, 0, 0, 0, 0,
1049
1069
  0, 0, 0, 0, 0, 0, 0, 0,
1050
- 0, 0, 0, 0, 0, 0, 0, 0,
1051
- 0, 0, 51, 154, 51, 154, 154, 0,
1052
- 0, 1, 0, 1, 1, 0, 13, 13,
1053
- 13, 1, 13, 1, 1, 59, 1, 0,
1054
- 1, 0, 21, 21, 21, 59, 1, 0,
1055
- 1, 0, 1, 0, 1, 0, 19, 109,
1056
- 19, 109, 109, 0, 0, 1, 0, 1,
1057
- 1, 0, 15, 15, 15, 1, 15, 1,
1058
- 1, 59, 19, 109, 19, 109, 109, 0,
1059
- 0, 1, 0, 1, 1, 0, 15, 15,
1060
- 15, 1, 15, 1, 1, 59, 0, 0,
1061
- 0, 0, 0, 0, 1, 0, 1, 1,
1062
- 0, 41, 1, 41, 1, 1, 59, 0,
1063
- 1, 0, 57, 0, 57, 0, 0, 0,
1064
- 0, 0, 0, 0, 0, 0, 31, 31,
1065
- 0, 0, 0, 0, 0, 33, 1, 1,
1066
- 0, 1, 1, 1, 0, 5, 0, 1,
1067
- 0, 1, 1, 1, 0, 1, 59, 25,
1068
- 25, 25, 25, 121, 118, 118, 25, 118,
1070
+ 0, 0, 0, 0, 0, 51, 154, 154,
1071
+ 51, 154, 154, 0, 0, 1, 1, 0,
1072
+ 1, 1, 0, 13, 13, 13, 1, 1,
1073
+ 13, 1, 1, 59, 1, 0, 1, 0,
1074
+ 21, 21, 21, 59, 1, 0, 1, 0,
1075
+ 1, 0, 1, 0, 19, 109, 109, 19,
1076
+ 109, 109, 0, 0, 1, 1, 0, 1,
1077
+ 1, 0, 15, 15, 15, 1, 1, 15,
1078
+ 1, 1, 59, 19, 109, 109, 19, 109,
1079
+ 109, 0, 0, 1, 1, 0, 1, 1,
1080
+ 0, 15, 15, 15, 1, 1, 15, 1,
1081
+ 1, 59, 0, 0, 0, 0, 0, 0,
1082
+ 1, 1, 0, 1, 1, 0, 41, 1,
1083
+ 1, 41, 1, 1, 59, 0, 1, 0,
1084
+ 57, 0, 57, 0, 0, 0, 0, 0,
1085
+ 0, 0, 0, 0, 31, 31, 0, 0,
1086
+ 0, 0, 0, 33, 1, 1, 1, 0,
1087
+ 1, 1, 1, 0, 5, 0, 1, 0,
1088
+ 1, 1, 1, 0, 1, 59, 25, 25,
1089
+ 25, 25, 121, 118, 118, 118, 25, 118,
1069
1090
  118, 118, 0, 0, 0, 1, 0, 0,
1070
1091
  1, 1, 0, 7, 1, 1, 1, 1,
1071
1092
  1, 1, 0, 1, 1, 0, 1, 0,
1072
- 1, 59, 19, 109, 19, 109, 109, 0,
1073
- 0, 1, 0, 1, 1, 0, 15, 91,
1074
- 91, 15, 91, 1, 15, 91, 1, 1,
1075
- 59, 25, 25, 25, 25, 121, 118, 1,
1076
- 118, 25, 118, 118, 118, 0, 3, 0,
1077
- 1, 1, 0, 0, 0, 0, 0, 1,
1078
- 1, 1, 0, 1, 59, 1, 0, 1,
1079
- 0, 166, 166, 0, 0, 0, 0, 0,
1080
- 139, 1, 1, 0, 1, 1, 1, 0,
1081
- 1, 0, 9, 61, 61, 1, 61, 9,
1082
- 1, 61, 59, 1, 0, 11, 70, 70,
1083
- 70, 11, 1, 70, 59, 112, 79, 79,
1084
- 13, 79, 1, 112, 79, 1, 1, 59,
1085
- 1, 0, 1, 0, 29, 127, 127, 127,
1086
- 29, 29, 127, 59, 1, 0, 25, 25,
1093
+ 1, 59, 19, 109, 109, 19, 109, 109,
1094
+ 0, 0, 1, 1, 0, 1, 1, 0,
1095
+ 15, 91, 91, 15, 1, 91, 1, 15,
1096
+ 91, 1, 1, 59, 25, 25, 25, 25,
1097
+ 121, 118, 118, 1, 118, 25, 118, 118,
1098
+ 118, 0, 3, 0, 1, 1, 0, 0,
1099
+ 0, 0, 0, 1, 1, 1, 0, 1,
1100
+ 59, 1, 0, 1, 0, 166, 166, 0,
1101
+ 0, 0, 0, 0, 139, 1, 1, 1,
1102
+ 0, 1, 1, 1, 0, 1, 0, 9,
1103
+ 61, 61, 1, 61, 9, 1, 61, 59,
1104
+ 1, 0, 11, 70, 70, 70, 11, 1,
1105
+ 70, 59, 112, 79, 79, 13, 1, 79,
1106
+ 1, 112, 79, 1, 1, 59, 1, 0,
1107
+ 1, 0, 29, 127, 127, 127, 29, 29,
1108
+ 127, 59, 1, 0, 25, 25, 0, 1,
1087
1109
  0, 1, 0, 1, 0, 1, 0, 1,
1088
- 0, 1, 0, 0, 0, 0, 27, 27,
1089
- 0, 0, 1, 1, 0, 0, 1, 0,
1090
- 1, 0, 1, 0, 17, 100, 100, 100,
1091
- 17, 100, 59, 1, 1, 0, 1, 0,
1092
- 1, 1, 0, 1, 1, 1, 1, 0,
1093
- 1, 0, 1, 0, 1, 1, 1, 0,
1094
- 1, 0, 0, 1, 0, 1, 1, 1,
1110
+ 0, 0, 0, 0, 27, 27, 0, 0,
1111
+ 1, 1, 0, 0, 1, 0, 1, 0,
1112
+ 1, 0, 17, 100, 100, 100, 17, 100,
1113
+ 59, 1, 1, 0, 1, 0, 1, 1,
1114
+ 0, 1, 1, 1, 1, 0, 1, 0,
1115
+ 1, 0, 1, 1, 1, 0, 1, 0,
1116
+ 0, 1, 0, 1, 1, 1, 0, 1,
1095
1117
  0, 1, 0, 1, 0, 1, 0, 1,
1096
1118
  0, 1, 0, 1, 0, 1, 0, 1,
1097
- 0, 1, 0, 1, 0, 1, 1, 0,
1098
- 1, 0, 25, 25, 0, 0, 1, 0,
1099
- 0, 1, 0, 1, 0, 0, 1, 0,
1100
- 166, 0, 166, 0, 1, 0, 1, 0,
1101
- 1, 0, 1, 0, 1, 0, 1, 0,
1102
- 0, 1, 0, 1, 0, 0, 0, 0,
1103
- 0, 0, 0, 31, 31, 0, 0, 0,
1104
- 0, 0, 33, 1, 1, 0, 1, 1,
1105
- 1, 0, 5, 0, 1, 0, 1, 1,
1106
- 1, 0, 1, 59, 25, 25, 25, 25,
1107
- 121, 118, 118, 25, 118, 118, 118, 0,
1119
+ 0, 1, 0, 1, 1, 0, 1, 0,
1120
+ 25, 25, 0, 0, 1, 0, 0, 1,
1121
+ 0, 1, 0, 0, 1, 0, 166, 0,
1122
+ 166, 0, 1, 0, 1, 0, 1, 0,
1123
+ 1, 0, 1, 0, 1, 0, 0, 1,
1124
+ 0, 1, 0, 0, 0, 0, 0, 0,
1125
+ 0, 31, 31, 0, 0, 0, 0, 0,
1126
+ 33, 1, 1, 1, 0, 1, 1, 1,
1127
+ 0, 5, 0, 1, 0, 1, 1, 1,
1128
+ 0, 1, 59, 25, 25, 25, 25, 121,
1129
+ 118, 118, 118, 25, 118, 118, 118, 0,
1108
1130
  0, 0, 1, 0, 0, 1, 1, 0,
1109
1131
  7, 1, 1, 1, 1, 1, 1, 0,
1110
1132
  1, 1, 0, 1, 0, 1, 59, 19,
1111
- 109, 19, 109, 109, 0, 0, 1, 0,
1112
- 1, 1, 0, 15, 91, 91, 15, 91,
1113
- 1, 15, 91, 1, 1, 59, 25, 25,
1114
- 25, 25, 121, 118, 1, 118, 25, 118,
1115
- 118, 118, 0, 3, 0, 1, 1, 0,
1116
- 0, 0, 0, 0, 1, 1, 1, 0,
1117
- 1, 59, 1, 0, 1, 0, 166, 166,
1118
- 0, 0, 0, 0, 0, 136, 1, 1,
1119
- 0, 1, 1, 1, 0, 1, 0, 9,
1120
- 61, 61, 1, 61, 9, 1, 61, 59,
1121
- 1, 0, 11, 70, 70, 70, 11, 1,
1122
- 70, 59, 112, 79, 79, 13, 79, 1,
1123
- 112, 79, 1, 1, 59, 1, 0, 1,
1133
+ 109, 109, 19, 109, 109, 0, 0, 1,
1134
+ 1, 0, 1, 1, 0, 15, 91, 91,
1135
+ 15, 1, 91, 1, 15, 91, 1, 1,
1136
+ 59, 25, 25, 25, 25, 121, 118, 118,
1137
+ 1, 118, 25, 118, 118, 118, 0, 3,
1138
+ 0, 1, 1, 0, 0, 0, 0, 0,
1139
+ 1, 1, 1, 0, 1, 59, 1, 0,
1140
+ 1, 0, 166, 166, 0, 0, 0, 0,
1141
+ 0, 136, 1, 1, 1, 0, 1, 1,
1142
+ 1, 0, 1, 0, 9, 61, 61, 1,
1143
+ 61, 9, 1, 61, 59, 1, 0, 11,
1144
+ 70, 70, 70, 11, 1, 70, 59, 112,
1145
+ 79, 79, 13, 1, 79, 1, 112, 79,
1146
+ 1, 1, 59, 1, 0, 1, 0, 29,
1147
+ 127, 127, 127, 29, 29, 127, 59, 1,
1148
+ 0, 25, 25, 0, 1, 0, 1, 0,
1149
+ 1, 0, 1, 0, 1, 0, 0, 0,
1150
+ 0, 27, 27, 0, 0, 1, 1, 0,
1151
+ 0, 1, 0, 1, 0, 1, 0, 17,
1152
+ 100, 100, 100, 17, 100, 59, 1, 1,
1153
+ 0, 1, 0, 1, 1, 0, 1, 1,
1154
+ 1, 1, 0, 1, 0, 1, 0, 1,
1155
+ 1, 1, 0, 1, 0, 0, 1, 0,
1156
+ 1, 1, 1, 0, 1, 0, 1, 0,
1157
+ 1, 0, 1, 0, 1, 0, 1, 0,
1158
+ 1, 0, 1, 0, 1, 0, 1, 0,
1159
+ 1, 1, 0, 1, 0, 25, 25, 0,
1160
+ 0, 1, 0, 0, 1, 0, 1, 0,
1161
+ 0, 1, 0, 166, 0, 166, 0, 1,
1162
+ 0, 1, 0, 1, 0, 1, 0, 1,
1163
+ 0, 1, 0, 0, 1, 0, 1, 0,
1164
+ 1, 0, 1, 0, 1, 0, 13, 79,
1165
+ 79, 13, 1, 79, 1, 13, 79, 1,
1166
+ 1, 59, 1, 0, 1, 1, 0, 1,
1167
+ 0, 1, 0, 13, 79, 79, 13, 1,
1168
+ 79, 1, 13, 79, 1, 1, 59, 1,
1169
+ 0, 1, 23, 1, 1, 23, 1, 1,
1170
+ 59, 0, 0, 0, 0, 0, 0, 0,
1171
+ 0, 55, 163, 160, 160, 55, 160, 160,
1172
+ 0, 23, 1, 1, 23, 1, 1, 59,
1173
+ 0, 0, 0, 0, 0, 0, 1, 1,
1174
+ 0, 1, 1, 0, 41, 1, 1, 41,
1175
+ 1, 1, 59, 0, 0, 0, 0, 0,
1176
+ 0, 0, 0, 31, 31, 0, 0, 0,
1177
+ 0, 0, 33, 1, 1, 1, 0, 1,
1178
+ 1, 1, 0, 5, 0, 1, 0, 1,
1179
+ 1, 1, 0, 1, 59, 25, 25, 25,
1180
+ 25, 121, 118, 118, 118, 25, 118, 118,
1181
+ 118, 0, 0, 0, 1, 0, 0, 1,
1182
+ 1, 0, 7, 1, 1, 1, 1, 1,
1183
+ 1, 0, 1, 1, 0, 1, 0, 1,
1184
+ 59, 19, 109, 109, 19, 109, 109, 0,
1185
+ 0, 1, 1, 0, 1, 1, 0, 15,
1186
+ 91, 91, 15, 1, 91, 1, 15, 91,
1187
+ 1, 1, 59, 25, 25, 25, 25, 121,
1188
+ 118, 118, 1, 118, 25, 118, 118, 118,
1189
+ 0, 3, 0, 1, 1, 0, 0, 0,
1190
+ 0, 0, 1, 1, 1, 0, 1, 59,
1191
+ 1, 0, 1, 0, 124, 124, 0, 0,
1192
+ 0, 0, 0, 136, 1, 1, 1, 0,
1193
+ 1, 1, 1, 0, 1, 0, 9, 61,
1194
+ 61, 1, 61, 9, 1, 61, 59, 1,
1195
+ 0, 11, 70, 70, 70, 11, 1, 70,
1196
+ 59, 82, 79, 79, 13, 1, 79, 1,
1197
+ 82, 79, 1, 1, 59, 1, 0, 1,
1124
1198
  0, 29, 127, 127, 127, 29, 29, 127,
1125
1199
  59, 1, 0, 25, 25, 0, 1, 0,
1126
1200
  1, 0, 1, 0, 1, 0, 1, 0,
@@ -1135,126 +1209,79 @@ static const unsigned char _querybuilder_trans_actions[] = {
1135
1209
  1, 0, 1, 0, 1, 0, 1, 0,
1136
1210
  1, 0, 1, 1, 0, 1, 0, 25,
1137
1211
  25, 0, 0, 1, 0, 0, 1, 0,
1138
- 1, 0, 0, 1, 0, 166, 0, 166,
1139
- 0, 1, 0, 1, 0, 1, 0, 1,
1140
- 0, 1, 0, 1, 0, 0, 1, 0,
1141
- 1, 0, 1, 0, 1, 0, 1, 0,
1142
- 13, 79, 79, 13, 79, 1, 13, 79,
1143
- 1, 1, 59, 1, 0, 1, 1, 0,
1144
- 1, 0, 1, 0, 13, 79, 79, 13,
1145
- 79, 1, 13, 79, 1, 1, 59, 1,
1146
- 0, 1, 23, 1, 23, 1, 1, 59,
1147
- 0, 0, 0, 0, 0, 0, 0, 0,
1148
- 55, 163, 160, 55, 160, 160, 0, 23,
1149
- 1, 23, 1, 1, 59, 0, 0, 0,
1150
- 0, 0, 0, 1, 0, 1, 1, 0,
1151
- 41, 1, 41, 1, 1, 59, 0, 0,
1152
- 0, 0, 0, 0, 0, 0, 31, 31,
1153
- 0, 0, 0, 0, 0, 33, 1, 1,
1154
- 0, 1, 1, 1, 0, 5, 0, 1,
1155
- 0, 1, 1, 1, 0, 1, 59, 25,
1156
- 25, 25, 25, 121, 118, 118, 25, 118,
1157
- 118, 118, 0, 0, 0, 1, 0, 0,
1158
- 1, 1, 0, 7, 1, 1, 1, 1,
1159
- 1, 1, 0, 1, 1, 0, 1, 0,
1160
- 1, 59, 19, 109, 19, 109, 109, 0,
1161
- 0, 1, 0, 1, 1, 0, 15, 91,
1162
- 91, 15, 91, 1, 15, 91, 1, 1,
1163
- 59, 25, 25, 25, 25, 121, 118, 1,
1164
- 118, 25, 118, 118, 118, 0, 3, 0,
1165
- 1, 1, 0, 0, 0, 0, 0, 1,
1166
- 1, 1, 0, 1, 59, 1, 0, 1,
1167
- 0, 124, 124, 0, 0, 0, 0, 0,
1168
- 136, 1, 1, 0, 1, 1, 1, 0,
1169
- 1, 0, 9, 61, 61, 1, 61, 9,
1170
- 1, 61, 59, 1, 0, 11, 70, 70,
1171
- 70, 11, 1, 70, 59, 82, 79, 79,
1172
- 13, 79, 1, 82, 79, 1, 1, 59,
1173
- 1, 0, 1, 0, 29, 127, 127, 127,
1174
- 29, 29, 127, 59, 1, 0, 25, 25,
1175
- 0, 1, 0, 1, 0, 1, 0, 1,
1176
- 0, 1, 0, 0, 0, 0, 27, 27,
1177
- 0, 0, 1, 1, 0, 0, 1, 0,
1178
- 1, 0, 1, 0, 17, 100, 100, 100,
1179
- 17, 100, 59, 1, 1, 0, 1, 0,
1180
- 1, 1, 0, 1, 1, 1, 1, 0,
1181
- 1, 0, 1, 0, 1, 1, 1, 0,
1182
- 1, 0, 0, 1, 0, 1, 1, 1,
1212
+ 1, 0, 0, 1, 0, 124, 0, 124,
1183
1213
  0, 1, 0, 1, 0, 1, 0, 1,
1184
- 0, 1, 0, 1, 0, 1, 0, 1,
1185
- 0, 1, 0, 1, 0, 1, 1, 0,
1186
- 1, 0, 25, 25, 0, 0, 1, 0,
1187
1214
  0, 1, 0, 1, 0, 0, 1, 0,
1188
- 124, 0, 124, 0, 1, 0, 1, 0,
1189
1215
  1, 0, 1, 0, 1, 0, 1, 0,
1190
- 0, 1, 0, 1, 0, 1, 0, 1,
1191
- 0, 1, 0, 13, 79, 79, 13, 79,
1192
- 1, 13, 79, 1, 1, 59, 1, 0,
1193
- 1, 0, 0, 0, 0, 33, 1, 1,
1194
- 0, 1, 1, 1, 0, 5, 0, 1,
1195
- 0, 35, 1, 1, 1, 0, 1, 0,
1196
- 0, 35, 1, 1, 1, 1, 1, 1,
1197
- 1, 1, 0, 1, 1, 1, 1, 1,
1198
- 1, 1, 0, 1, 0, 25, 25, 25,
1199
- 25, 121, 118, 118, 25, 118, 118, 118,
1216
+ 13, 79, 79, 13, 1, 79, 1, 13,
1217
+ 79, 1, 1, 59, 1, 0, 1, 0,
1218
+ 0, 0, 0, 33, 1, 1, 1, 0,
1219
+ 1, 1, 1, 0, 5, 0, 1, 0,
1220
+ 35, 1, 1, 1, 0, 1, 0, 0,
1221
+ 35, 1, 1, 1, 1, 1, 1, 1,
1222
+ 1, 0, 1, 1, 1, 1, 1, 1,
1223
+ 1, 0, 1, 0, 25, 25, 25, 25,
1224
+ 121, 118, 118, 118, 25, 118, 118, 118,
1200
1225
  0, 0, 0, 1, 0, 0, 1, 1,
1201
1226
  0, 7, 1, 1, 1, 1, 1, 1,
1202
1227
  0, 35, 1, 1, 0, 1, 0, 1,
1203
- 0, 19, 109, 19, 109, 109, 0, 0,
1204
- 1, 0, 1, 1, 0, 15, 94, 91,
1205
- 91, 15, 91, 1, 15, 91, 1, 1,
1206
- 0, 25, 25, 25, 25, 121, 118, 1,
1207
- 118, 25, 118, 118, 118, 0, 3, 0,
1208
- 1, 1, 0, 0, 0, 0, 0, 35,
1209
- 1, 1, 1, 0, 1, 0, 0, 35,
1210
- 1, 1, 1, 1, 1, 1, 0, 1,
1211
- 1, 1, 1, 0, 1, 0, 1, 0,
1212
- 1, 0, 25, 25, 0, 1, 0, 1,
1213
- 1, 0, 0, 0, 27, 27, 0, 0,
1214
- 1, 1, 0, 0, 1, 0, 1, 0,
1215
- 1, 0, 17, 103, 100, 100, 100, 17,
1216
- 100, 0, 1, 1, 0, 1, 0, 1,
1217
- 1, 0, 1, 1, 1, 1, 0, 1,
1218
- 0, 1, 0, 1, 1, 1, 0, 1,
1219
- 0, 1, 0, 1, 0, 1, 0, 1,
1220
- 0, 1, 0, 1, 1, 0, 1, 0,
1221
- 25, 25, 0, 0, 1, 0, 0, 1,
1222
- 0, 1, 0, 1, 0, 9, 64, 61,
1223
- 61, 1, 61, 9, 1, 61, 0, 1,
1224
- 0, 11, 73, 70, 70, 70, 11, 1,
1225
- 70, 0, 13, 85, 79, 79, 13, 79,
1226
- 1, 13, 79, 1, 1, 0, 1, 0,
1227
- 1, 0, 29, 130, 127, 127, 127, 29,
1228
- 29, 127, 0, 1, 0, 1, 0, 1,
1229
- 0, 1, 1, 1, 0, 1, 0, 1,
1230
- 0, 1, 0, 1, 0, 1, 0, 1,
1231
- 0, 1, 0, 1, 0, 1, 0, 1,
1232
- 0, 1, 0, 1, 0, 1, 0, 1,
1228
+ 0, 19, 109, 109, 19, 109, 109, 0,
1229
+ 0, 1, 1, 0, 1, 1, 0, 15,
1230
+ 94, 91, 91, 15, 1, 91, 1, 15,
1231
+ 91, 1, 1, 0, 25, 25, 25, 25,
1232
+ 121, 118, 118, 1, 118, 25, 118, 118,
1233
+ 118, 0, 3, 0, 1, 1, 0, 0,
1234
+ 0, 0, 0, 35, 1, 1, 1, 0,
1235
+ 1, 0, 0, 35, 1, 1, 1, 1,
1236
+ 1, 1, 0, 1, 1, 1, 1, 0,
1237
+ 1, 0, 1, 0, 1, 0, 25, 25,
1238
+ 0, 1, 0, 1, 1, 0, 0, 0,
1239
+ 27, 27, 0, 0, 1, 1, 0, 0,
1240
+ 1, 0, 1, 0, 1, 0, 17, 103,
1241
+ 100, 100, 100, 17, 100, 0, 1, 1,
1242
+ 0, 1, 0, 1, 1, 0, 1, 1,
1243
+ 1, 1, 0, 1, 0, 1, 0, 1,
1244
+ 1, 1, 0, 1, 0, 1, 0, 1,
1233
1245
  0, 1, 0, 1, 0, 1, 0, 1,
1234
- 0, 37, 1, 0, 1, 1, 0, 0,
1235
- 0, 0, 0, 0, 39, 0, 0, 0,
1236
- 39, 0, 0, 0, 0, 0, 0, 0,
1237
- 0, 0, 55, 163, 160, 55, 160, 160,
1238
- 0, 23, 115, 1, 23, 1, 1, 0,
1239
- 0, 39, 0, 0, 0, 0, 0, 0,
1240
- 0, 0, 0, 0, 0, 1, 0, 1,
1241
- 1, 0, 41, 142, 1, 41, 1, 1,
1246
+ 1, 0, 1, 0, 25, 25, 0, 0,
1247
+ 1, 0, 0, 1, 0, 1, 0, 1,
1248
+ 0, 9, 64, 61, 61, 1, 61, 9,
1249
+ 1, 61, 0, 1, 0, 11, 73, 70,
1250
+ 70, 70, 11, 1, 70, 0, 13, 85,
1251
+ 79, 79, 13, 1, 79, 1, 13, 79,
1252
+ 1, 1, 0, 1, 0, 1, 0, 29,
1253
+ 130, 127, 127, 127, 29, 29, 127, 0,
1254
+ 1, 0, 1, 0, 1, 0, 1, 1,
1255
+ 1, 0, 1, 0, 1, 0, 1, 0,
1256
+ 1, 0, 1, 0, 1, 0, 1, 0,
1257
+ 1, 0, 1, 0, 1, 0, 1, 0,
1258
+ 1, 0, 1, 0, 1, 0, 1, 0,
1259
+ 1, 0, 1, 0, 1, 0, 37, 1,
1260
+ 1, 0, 1, 1, 0, 0, 0, 0,
1261
+ 0, 0, 39, 0, 0, 0, 39, 0,
1242
1262
  0, 0, 0, 0, 0, 0, 0, 0,
1243
- 0, 31, 31, 0, 0, 0, 0, 0,
1244
- 33, 1, 1, 0, 1, 1, 1, 0,
1245
- 5, 0, 1, 0, 39, 1, 1, 1,
1246
- 0, 1, 0, 0, 39, 1, 1, 1,
1247
- 1, 1, 1, 0, 1, 1, 0, 1,
1263
+ 55, 163, 160, 160, 55, 160, 160, 0,
1264
+ 23, 115, 1, 1, 23, 1, 1, 0,
1265
+ 0, 39, 0, 0, 0, 0, 0, 0,
1266
+ 0, 0, 0, 0, 0, 1, 1, 0,
1267
+ 1, 1, 0, 41, 142, 1, 1, 41,
1268
+ 1, 1, 0, 0, 0, 0, 0, 0,
1269
+ 0, 0, 0, 31, 31, 0, 0, 0,
1270
+ 0, 0, 33, 1, 1, 1, 0, 1,
1271
+ 1, 1, 0, 5, 0, 1, 0, 39,
1272
+ 1, 1, 1, 0, 1, 0, 0, 39,
1248
1273
  1, 1, 1, 1, 1, 1, 0, 1,
1249
- 0, 25, 25, 25, 25, 121, 118, 118,
1250
- 25, 118, 118, 118, 0, 0, 0, 1,
1251
- 0, 0, 1, 1, 0, 7, 1, 1,
1252
- 1, 1, 1, 1, 0, 39, 1, 1,
1253
- 0, 1, 0, 1, 0, 19, 109, 19,
1254
- 109, 109, 0, 0, 1, 0, 1, 1,
1255
- 0, 15, 97, 91, 91, 15, 91, 1,
1256
- 15, 91, 1, 1, 0, 25, 25, 25,
1257
- 25, 121, 118, 1, 118, 25, 118, 118,
1274
+ 1, 0, 1, 1, 1, 1, 1, 1,
1275
+ 1, 0, 1, 0, 25, 25, 25, 25,
1276
+ 121, 118, 118, 118, 25, 118, 118, 118,
1277
+ 0, 0, 0, 1, 0, 0, 1, 1,
1278
+ 0, 7, 1, 1, 1, 1, 1, 1,
1279
+ 0, 39, 1, 1, 0, 1, 0, 1,
1280
+ 0, 19, 109, 109, 19, 109, 109, 0,
1281
+ 0, 1, 1, 0, 1, 1, 0, 15,
1282
+ 97, 91, 91, 15, 1, 91, 1, 15,
1283
+ 91, 1, 1, 0, 25, 25, 25, 25,
1284
+ 121, 118, 118, 1, 118, 25, 118, 118,
1258
1285
  118, 0, 3, 0, 1, 1, 0, 0,
1259
1286
  0, 0, 0, 39, 1, 1, 1, 0,
1260
1287
  1, 0, 0, 39, 1, 1, 1, 1,
@@ -1273,50 +1300,50 @@ static const unsigned char _querybuilder_trans_actions[] = {
1273
1300
  0, 1, 0, 9, 67, 61, 61, 1,
1274
1301
  61, 9, 1, 61, 0, 1, 0, 11,
1275
1302
  76, 70, 70, 70, 11, 1, 70, 0,
1276
- 13, 88, 79, 79, 13, 79, 1, 13,
1277
- 79, 1, 1, 0, 1, 0, 1, 0,
1278
- 29, 133, 127, 127, 127, 29, 29, 127,
1279
- 0, 1, 0, 1, 0, 1, 0, 1,
1280
- 1, 1, 0, 1, 0, 1, 0, 1,
1281
- 0, 1, 0, 1, 0, 1, 0, 1,
1282
- 0, 1, 0, 1, 0, 1, 0, 1,
1283
- 0, 1, 0, 1, 0, 1, 0, 1,
1284
- 0, 1, 0, 1, 0, 1, 0, 1,
1285
- 0, 0, 0, 1, 0, 0, 59, 0,
1303
+ 13, 88, 79, 79, 13, 1, 79, 1,
1304
+ 13, 79, 1, 1, 0, 1, 0, 1,
1305
+ 0, 29, 133, 127, 127, 127, 29, 29,
1306
+ 127, 0, 1, 0, 1, 0, 1, 0,
1307
+ 1, 1, 1, 0, 1, 0, 1, 0,
1308
+ 1, 0, 1, 0, 1, 0, 1, 0,
1309
+ 1, 0, 1, 0, 1, 0, 1, 0,
1310
+ 1, 0, 1, 0, 1, 0, 1, 0,
1311
+ 1, 0, 1, 0, 1, 0, 1, 0,
1286
1312
  1, 0, 0, 0, 1, 0, 0, 59,
1287
- 0, 1, 0, 0, 0, 0, 1, 0,
1313
+ 0, 1, 0, 0, 0, 1, 0, 0,
1314
+ 59, 0, 1, 0, 0, 0, 0, 1,
1315
+ 0, 0, 0, 59, 0, 0, 0, 0,
1288
1316
  0, 0, 59, 0, 0, 0, 0, 0,
1289
- 0, 59, 0, 0, 0, 0, 0, 59,
1290
- 0, 0, 0, 0, 59, 0, 0, 0,
1291
- 59, 0, 0, 59, 0, 0, 1, 1,
1292
- 1, 1, 0, 0, 0, 0, 59, 0,
1293
- 0, 0, 0, 0, 0, 59, 0, 1,
1317
+ 59, 0, 0, 0, 0, 59, 0, 0,
1318
+ 0, 59, 0, 0, 59, 0, 0, 1,
1319
+ 1, 1, 1, 0, 0, 0, 0, 59,
1320
+ 0, 0, 0, 0, 0, 0, 59, 0,
1321
+ 1, 1, 1, 1, 1, 1, 0, 1,
1322
+ 1, 0, 1, 1, 1, 1, 0, 1,
1323
+ 1, 1, 0, 1, 59, 0, 1, 1,
1324
+ 1, 1, 1, 0, 1, 0, 1, 1,
1325
+ 1, 1, 0, 0, 1, 59, 0, 1,
1294
1326
  1, 1, 1, 1, 1, 0, 1, 1,
1295
1327
  0, 1, 1, 1, 1, 0, 1, 1,
1296
1328
  1, 0, 1, 59, 0, 1, 1, 1,
1297
- 1, 1, 0, 1, 0, 1, 1, 1,
1298
- 1, 0, 0, 1, 59, 0, 1, 1,
1299
- 1, 1, 1, 1, 0, 1, 1, 0,
1300
- 1, 1, 1, 1, 0, 1, 1, 1,
1329
+ 1, 1, 1, 0, 1, 1, 0, 1,
1330
+ 1, 1, 1, 0, 1, 1, 1, 0,
1331
+ 1, 59, 0, 1, 1, 1, 1, 1,
1332
+ 0, 1, 0, 1, 1, 1, 1, 0,
1301
1333
  0, 1, 59, 0, 1, 1, 1, 1,
1302
1334
  1, 1, 0, 1, 1, 0, 1, 1,
1303
1335
  1, 1, 0, 1, 1, 1, 0, 1,
1304
- 59, 0, 1, 1, 1, 1, 1, 0,
1305
- 1, 0, 1, 1, 1, 1, 0, 0,
1306
- 1, 59, 0, 1, 1, 1, 1, 1,
1307
- 1, 0, 1, 1, 0, 1, 1, 1,
1308
- 1, 0, 1, 1, 1, 0, 1, 59,
1309
- 0, 1, 0, 0, 0, 0, 1, 0,
1310
- 0, 0, 59, 0, 1, 0, 0, 0,
1311
- 0, 1, 0, 0, 0, 59, 0, 1,
1336
+ 59, 0, 1, 0, 0, 0, 0, 1,
1337
+ 0, 0, 0, 59, 0, 1, 0, 0,
1338
+ 0, 0, 1, 0, 0, 0, 59, 0,
1339
+ 1, 1, 1, 1, 1, 1, 0, 1,
1340
+ 1, 0, 1, 1, 1, 1, 0, 1,
1341
+ 1, 1, 0, 1, 59, 0, 1, 1,
1342
+ 1, 1, 1, 0, 1, 0, 1, 1,
1343
+ 1, 1, 0, 0, 1, 59, 0, 1,
1312
1344
  1, 1, 1, 1, 1, 0, 1, 1,
1313
1345
  0, 1, 1, 1, 1, 0, 1, 1,
1314
- 1, 0, 1, 59, 0, 1, 1, 1,
1315
- 1, 1, 0, 1, 0, 1, 1, 1,
1316
- 1, 0, 0, 1, 59, 0, 1, 1,
1317
- 1, 1, 1, 1, 0, 1, 1, 0,
1318
- 1, 1, 1, 1, 0, 1, 1, 1,
1319
- 0, 1, 59, 0, 0, 0
1346
+ 1, 0, 1, 59, 0, 0, 0
1320
1347
  };
1321
1348
 
1322
1349
  static const unsigned char _querybuilder_eof_actions[] = {
@@ -1403,7 +1430,7 @@ static const int querybuilder_en_clause_p = 450;
1403
1430
  static const int querybuilder_en_main = 1;
1404
1431
 
1405
1432
 
1406
- #line 369 "querybuilder_ext.rl"
1433
+ #line 371 "querybuilder_ext.rl"
1407
1434
 
1408
1435
  #define CLAUSE_RELATION 1
1409
1436
  #define CLAUSE_PARENTHESIS 2
@@ -1426,6 +1453,7 @@ VALUE rb_parse(VALUE self, VALUE arg) {
1426
1453
  const char * data = RSTRING_PTR(tmp);
1427
1454
 
1428
1455
  int cs;
1456
+ int par_count = 0;
1429
1457
  const char * p = data;
1430
1458
  const char * pe = data + RSTRING_LEN(tmp);
1431
1459
  const char * eof = pe;
@@ -1443,14 +1471,14 @@ VALUE rb_parse(VALUE self, VALUE arg) {
1443
1471
 
1444
1472
 
1445
1473
 
1446
- #line 1447 "querybuilder_ext.c"
1474
+ #line 1475 "querybuilder_ext.c"
1447
1475
  {
1448
1476
  cs = querybuilder_start;
1449
1477
  }
1450
1478
 
1451
- #line 408 "querybuilder_ext.rl"
1479
+ #line 411 "querybuilder_ext.rl"
1452
1480
 
1453
- #line 1454 "querybuilder_ext.c"
1481
+ #line 1482 "querybuilder_ext.c"
1454
1482
  {
1455
1483
  int _klen;
1456
1484
  unsigned int _trans;
@@ -1657,6 +1685,7 @@ _match:
1657
1685
  #line 210 "querybuilder_ext.rl"
1658
1686
  {
1659
1687
  // # remember current machine state 'cs'
1688
+ par_count = par_count + 1;
1660
1689
  // last << [:par, cs]
1661
1690
  tmp = rb_ary_new();
1662
1691
  rb_ary_push(tmp, _par);
@@ -1670,11 +1699,12 @@ _match:
1670
1699
  }
1671
1700
  break;
1672
1701
  case 17:
1673
- #line 224 "querybuilder_ext.rl"
1702
+ #line 225 "querybuilder_ext.rl"
1674
1703
  {
1675
1704
  // pop_stack(stack, :par_close)
1676
1705
  rb_funcall(self, _pop_stack, 2, stack, _par_close);
1677
1706
  // # reset machine state 'cs'
1707
+ par_count = par_count - 1;
1678
1708
  // cs = stack.last.delete_at(1)
1679
1709
  tmp = rb_ary_entry(stack, -1);
1680
1710
  tmp = rb_ary_delete_at(tmp, 1);
@@ -1689,7 +1719,7 @@ _match:
1689
1719
  }
1690
1720
  break;
1691
1721
  case 18:
1692
- #line 241 "querybuilder_ext.rl"
1722
+ #line 243 "querybuilder_ext.rl"
1693
1723
  {
1694
1724
  clause_state = CLAUSE_PARENTHESIS;
1695
1725
  // # remember current machine state 'cs'
@@ -1706,7 +1736,7 @@ _match:
1706
1736
  }
1707
1737
  break;
1708
1738
  case 19:
1709
- #line 256 "querybuilder_ext.rl"
1739
+ #line 258 "querybuilder_ext.rl"
1710
1740
  {
1711
1741
  clause_state = CLAUSE_RELATION;
1712
1742
  // pop_stack(stack, :clause_par_close)
@@ -1726,7 +1756,7 @@ _match:
1726
1756
  }
1727
1757
  break;
1728
1758
  case 20:
1729
- #line 274 "querybuilder_ext.rl"
1759
+ #line 276 "querybuilder_ext.rl"
1730
1760
  {
1731
1761
  // last = apply_op(stack, :scope)
1732
1762
  APPLY_OP(_scope);
@@ -1736,7 +1766,7 @@ _match:
1736
1766
  }
1737
1767
  break;
1738
1768
  case 21:
1739
- #line 282 "querybuilder_ext.rl"
1769
+ #line 284 "querybuilder_ext.rl"
1740
1770
  {
1741
1771
  // last = apply_op(stack, :offset)
1742
1772
  APPLY_OP(_offset);
@@ -1745,7 +1775,7 @@ _match:
1745
1775
  }
1746
1776
  break;
1747
1777
  case 22:
1748
- #line 289 "querybuilder_ext.rl"
1778
+ #line 291 "querybuilder_ext.rl"
1749
1779
  {
1750
1780
  // last << [:param, str_buf]
1751
1781
  SET_TMP_ARY(_param);
@@ -1753,7 +1783,7 @@ _match:
1753
1783
  }
1754
1784
  break;
1755
1785
  case 23:
1756
- #line 295 "querybuilder_ext.rl"
1786
+ #line 297 "querybuilder_ext.rl"
1757
1787
  {
1758
1788
  // last = apply_op(stack, :paginate)
1759
1789
  APPLY_OP(_paginate);
@@ -1762,7 +1792,7 @@ _match:
1762
1792
  }
1763
1793
  break;
1764
1794
  case 24:
1765
- #line 302 "querybuilder_ext.rl"
1795
+ #line 304 "querybuilder_ext.rl"
1766
1796
  {
1767
1797
  // last = apply_op(stack, :limit)
1768
1798
  APPLY_OP(_limit);
@@ -1771,7 +1801,7 @@ _match:
1771
1801
  }
1772
1802
  break;
1773
1803
  case 25:
1774
- #line 309 "querybuilder_ext.rl"
1804
+ #line 311 "querybuilder_ext.rl"
1775
1805
  {
1776
1806
  // last = apply_op(stack, :order)
1777
1807
  APPLY_OP(_order);
@@ -1780,7 +1810,7 @@ _match:
1780
1810
  }
1781
1811
  break;
1782
1812
  case 26:
1783
- #line 316 "querybuilder_ext.rl"
1813
+ #line 318 "querybuilder_ext.rl"
1784
1814
  {
1785
1815
  // last = apply_op(stack, :group)
1786
1816
  APPLY_OP(_group);
@@ -1789,7 +1819,7 @@ _match:
1789
1819
  }
1790
1820
  break;
1791
1821
  case 27:
1792
- #line 323 "querybuilder_ext.rl"
1822
+ #line 325 "querybuilder_ext.rl"
1793
1823
  {
1794
1824
  // last = apply_op(stack, :from)
1795
1825
  APPLY_OP(_from);
@@ -1799,7 +1829,7 @@ _match:
1799
1829
  }
1800
1830
  break;
1801
1831
  case 28:
1802
- #line 331 "querybuilder_ext.rl"
1832
+ #line 333 "querybuilder_ext.rl"
1803
1833
  {
1804
1834
  // if clause_state == :relation
1805
1835
  // last = apply_op(stack, "clause_#{str_buf}".to_sym)
@@ -1816,7 +1846,7 @@ _match:
1816
1846
  }
1817
1847
  break;
1818
1848
  case 29:
1819
- #line 354 "querybuilder_ext.rl"
1849
+ #line 356 "querybuilder_ext.rl"
1820
1850
  {
1821
1851
  p = p - 3;
1822
1852
  if (p < data) p = data;
@@ -1824,7 +1854,7 @@ _match:
1824
1854
  rb_raise(rb_SyntaxError, "Syntax error near %s.", RSTRING_PTR(rb_str_inspect(rb_str_new(p , pe - p - 1))));
1825
1855
  }
1826
1856
  break;
1827
- #line 1828 "querybuilder_ext.c"
1857
+ #line 1858 "querybuilder_ext.c"
1828
1858
  }
1829
1859
  }
1830
1860
 
@@ -1841,7 +1871,7 @@ _again:
1841
1871
  while ( __nacts-- > 0 ) {
1842
1872
  switch ( *__acts++ ) {
1843
1873
  case 29:
1844
- #line 354 "querybuilder_ext.rl"
1874
+ #line 356 "querybuilder_ext.rl"
1845
1875
  {
1846
1876
  p = p - 3;
1847
1877
  if (p < data) p = data;
@@ -1849,7 +1879,7 @@ _again:
1849
1879
  rb_raise(rb_SyntaxError, "Syntax error near %s.", RSTRING_PTR(rb_str_inspect(rb_str_new(p , pe - p - 1))));
1850
1880
  }
1851
1881
  break;
1852
- #line 1853 "querybuilder_ext.c"
1882
+ #line 1883 "querybuilder_ext.c"
1853
1883
  }
1854
1884
  }
1855
1885
  }
@@ -1857,14 +1887,19 @@ _again:
1857
1887
  _out: {}
1858
1888
  }
1859
1889
 
1860
- #line 409 "querybuilder_ext.rl"
1890
+ #line 412 "querybuilder_ext.rl"
1861
1891
 
1862
- // raise QueryBuilder::SyntaxError.new("Syntax error near #{data[p..-1].chomp.inspect}.") if p != pe
1892
+ // raise QueryBuilder::SyntaxError.new("Syntax error near #{data[p..-2].inspect}.") if p != pe
1863
1893
  if (p < pe) {
1864
1894
  p = p - 3;
1865
1895
  if (p < data) p = data;
1866
1896
  rb_raise(rb_SyntaxError, "Syntax error near %s.", RSTRING_PTR(rb_str_inspect(rb_str_new(p , pe - p - 1))));
1867
1897
  }
1868
1898
 
1899
+ if (par_count > 0) {
1900
+ // raise QueryBuilder::SyntaxError.new("Missing closing parenthesis in #{data[0..-2].inspect}.")
1901
+ rb_raise(rb_SyntaxError, "Missing closing parenthesis in %s.", RSTRING_PTR(rb_str_inspect(rb_str_new(data , pe - data - 1))));
1902
+ }
1903
+
1869
1904
  return rb_ary_entry(stack, 0);
1870
1905
  }