ddbcli 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -145,6 +145,8 @@ https://bitbucket.org/winebarrel/ddbcli
145
145
  .help displays this message
146
146
  .quit | .exit exits sdbcli
147
147
  .consistent (true|false)? displays ConsistentRead parameter or changes it
148
+ .iteratable (true|false)? displays iteratable option or changes it
149
+ all results are displayed if true
148
150
  .debug (true|false)? displays a debug status or changes it
149
151
  .retry NUM? displays number of times of a retry or changes it
150
152
  .retry_interval SECOND? displays a retry interval second or changes it
data/bin/ddbcli CHANGED
@@ -1,7 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
  $LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
3
3
 
4
- Version = '0.1.2'
4
+ Version = '0.1.3'
5
+
6
+ HISTORY_FILE = File.join((ENV['HOME'] || ENV['USERPROFILE'] || '.'), '.ddbcli_history')
7
+ HISTSIZE = 500
5
8
 
6
9
  require 'rubygems'
7
10
  require 'ddbcli'
@@ -16,11 +19,13 @@ driver = DynamoDB::Driver.new(
16
19
 
17
20
  driver.timeout = options.timeout
18
21
  driver.consistent = !!options.consistent
22
+ driver.consistent = !!options.iteratable
19
23
  driver.retry_num = options.retry_num
20
24
  driver.retry_intvl = options.retry_intvl
21
25
  driver.debug = options.debug
22
26
 
23
27
  if not $stdin.tty? or options.command
28
+
24
29
  # run mode
25
30
  src = options.command || $stdin.read.strip
26
31
 
@@ -36,7 +41,19 @@ if not $stdin.tty? or options.command
36
41
  print_error(e.backtrace) if driver.debug
37
42
  exit 1
38
43
  end
44
+
39
45
  else
46
+
47
+ # load history file
48
+ if File.exist?(HISTORY_FILE)
49
+ open(HISTORY_FILE) do |f|
50
+ f.each_line do |line|
51
+ line = line.strip
52
+ Readline::HISTORY.push(line) unless line.empty?
53
+ end
54
+ end
55
+ end
56
+
40
57
  # interactive mode
41
58
  src = ''
42
59
  prompt1 = lambda { "#{driver.region || 'unknown'}> " }
@@ -63,4 +80,15 @@ else
63
80
  prompt = src.empty? ? prompt1.call : prompt2.call
64
81
  end
65
82
  end # end of while
83
+
84
+ # save history file
85
+ unless Readline::HISTORY.empty?
86
+ open(HISTORY_FILE, 'wb') do |f|
87
+ (Readline::HISTORY.to_a.slice(-(Readline::HISTORY.length < HISTSIZE ? Readline::HISTORY.length : HISTSIZE)..-1) || []).each do |line|
88
+ next if /\A\s*\Z/ =~ line
89
+ f.puts line
90
+ end
91
+ end
92
+ end
93
+
66
94
  end
@@ -102,6 +102,22 @@ def evaluate_command(driver, cmd_arg)
102
102
  end
103
103
  },
104
104
 
105
+ 'iteratable' => lambda {
106
+ if arg
107
+ r_arg = /\A#{Regexp.compile(arg)}/i
108
+
109
+ if r_arg =~ 'true'
110
+ driver.iteratable = true
111
+ elsif r_arg =~ 'false'
112
+ driver.iteratable = false
113
+ else
114
+ print_error('Invalid argument')
115
+ end
116
+ else
117
+ puts driver.iteratable
118
+ end
119
+ },
120
+
105
121
  'retry' => lambda {
106
122
  case arg
107
123
  when nil
@@ -109,6 +109,8 @@ Shell
109
109
  .help displays this message
110
110
  .quit | .exit exits sdbcli
111
111
  .consistent (true|false)? displays ConsistentRead parameter or changes it
112
+ .iteratable (true|false)? displays iteratable option or changes it
113
+ all results are displayed if true
112
114
  .debug (true|false)? displays a debug status or changes it
113
115
  .retry NUM? displays number of times of a retry or changes it
114
116
  .retry_interval SECOND? displays a retry interval second or changes it
@@ -11,6 +11,7 @@ def parse_options
11
11
  # default value
12
12
  options.timeout = 60
13
13
  options.consistent = false
14
+ options.iteratable = false
14
15
  options.retry_num = 3
15
16
  options.retry_intvl = 10
16
17
  options.debug = false
@@ -22,6 +23,7 @@ def parse_options
22
23
  opt.on('-e', '--eval=COMMAND') {|v| options.command = v }
23
24
  opt.on('-t', '--timeout=SECOND', Integer) {|v| options.timeout = v.to_i }
24
25
  opt.on('', '--consistent-read') { options.consistent = true }
26
+ opt.on('', '--iteratable') { options.iteratable = true }
25
27
  opt.on('', '--retry=NUM', Integer) {|v| options.retry_num = v.to_i }
26
28
  opt.on('', '--retry-interval=SECOND', Integer) {|v| options.retry_intvl = v.to_i }
27
29
  opt.on('', '--debug') { options.debug = true }
@@ -23,6 +23,7 @@ module DynamoDB
23
23
  def initialize(accessKeyId, secretAccessKey, endpoint_or_region)
24
24
  @client = DynamoDB::Client.new(accessKeyId, secretAccessKey, endpoint_or_region)
25
25
  @consistent = false
26
+ @iteratable = false
26
27
  end
27
28
 
28
29
  def_delegators(
@@ -36,6 +37,7 @@ module DynamoDB
36
37
  :debug, :'debug=')
37
38
 
38
39
  attr_accessor :consistent
40
+ attr_accessor :iteratable
39
41
 
40
42
  def execute(query, opts = {})
41
43
  parsed, script_type, script = Parser.parse(query)
@@ -86,6 +88,8 @@ module DynamoDB
86
88
  else
87
89
  []
88
90
  end
91
+ when :NULL
92
+ nil
89
93
  else
90
94
  raise 'must not happen'
91
95
  end
@@ -309,63 +313,80 @@ module DynamoDB
309
313
  end
310
314
 
311
315
  def do_select(action, parsed, opts = {})
312
- req_hash = {'TableName' => parsed.table}
313
- req_hash['AttributesToGet'] = parsed.attrs unless parsed.attrs.empty?
314
- req_hash['Limit'] = parsed.limit if parsed.limit
315
- req_hash['ExclusiveStartKey'] = opts[:last_evaluated_key] if opts[:last_evaluated_key]
316
+ select_proc = lambda do |last_evaluated_key|
317
+ req_hash = {'TableName' => parsed.table}
318
+ req_hash['AttributesToGet'] = parsed.attrs unless parsed.attrs.empty?
319
+ req_hash['Limit'] = parsed.limit if parsed.limit
320
+ req_hash['ExclusiveStartKey'] = last_evaluated_key if last_evaluated_key
316
321
 
317
- if action == 'Query'
318
- req_hash['ConsistentRead'] = @consistent if @consistent
319
- req_hash['IndexName'] = parsed.index if parsed.index
320
- req_hash['ScanIndexForward'] = parsed.order_asc unless parsed.order_asc.nil?
321
- end
322
+ if action == 'Query'
323
+ req_hash['ConsistentRead'] = @consistent if @consistent
324
+ req_hash['IndexName'] = parsed.index if parsed.index
325
+ req_hash['ScanIndexForward'] = parsed.order_asc unless parsed.order_asc.nil?
326
+ end
322
327
 
323
- # XXX: req_hash['ReturnConsumedCapacity'] = ...
328
+ # XXX: req_hash['ReturnConsumedCapacity'] = ...
324
329
 
325
- if parsed.count
326
- req_hash['Select'] = 'COUNT'
327
- elsif not parsed.attrs.empty?
328
- req_hash['Select'] = 'SPECIFIC_ATTRIBUTES'
329
- end
330
+ if parsed.count
331
+ req_hash['Select'] = 'COUNT'
332
+ elsif not parsed.attrs.empty?
333
+ req_hash['Select'] = 'SPECIFIC_ATTRIBUTES'
334
+ end
330
335
 
331
- # key conditions / scan filter
332
- if parsed.conds
333
- param_name = (action == 'Query') ? 'KeyConditions' : 'ScanFilter'
334
- req_hash[param_name] = {}
336
+ # key conditions / scan filter
337
+ if parsed.conds
338
+ param_name = (action == 'Query') ? 'KeyConditions' : 'ScanFilter'
339
+ req_hash[param_name] = {}
335
340
 
336
- parsed.conds.each do |key, operator, values|
337
- h = req_hash[param_name][key] = {
338
- 'ComparisonOperator' => operator.to_s
339
- }
341
+ parsed.conds.each do |key, operator, values|
342
+ h = req_hash[param_name][key] = {
343
+ 'ComparisonOperator' => operator.to_s
344
+ }
340
345
 
341
- h['AttributeValueList'] = values.map do |val|
342
- convert_to_attribute_value(val)
346
+ h['AttributeValueList'] = values.map do |val|
347
+ convert_to_attribute_value(val)
348
+ end
343
349
  end
344
- end
345
- end # key conditions / scan filter
350
+ end # key conditions / scan filter
346
351
 
347
- res_data = nil
352
+ rd = nil
348
353
 
349
- begin
350
- res_data = @client.query(action, req_hash)
351
- rescue DynamoDB::Error => e
352
- if action == 'Query' and e.data['__type'] == 'com.amazon.coral.service#InternalFailure' and not (e.data['message'] || e.data['Message'])
353
- table_info = (@client.query('DescribeTable', 'TableName' => parsed.table) || {}).fetch('Table', {}) rescue {}
354
+ begin
355
+ rd = @client.query(action, req_hash)
356
+ rescue DynamoDB::Error => e
357
+ if action == 'Query' and e.data['__type'] == 'com.amazon.coral.service#InternalFailure' and not (e.data['message'] || e.data['Message'])
358
+ table_info = (@client.query('DescribeTable', 'TableName' => parsed.table) || {}).fetch('Table', {}) rescue {}
354
359
 
355
- unless table_info.fetch('KeySchema', []).any? {|i| i ||= {}; i['KeyType'] == 'RANGE' }
356
- e.message << 'Query can be performed only on a table with a HASH,RANGE key schema'
360
+ unless table_info.fetch('KeySchema', []).any? {|i| i ||= {}; i['KeyType'] == 'RANGE' }
361
+ e.message << 'Query can be performed only on a table with a HASH,RANGE key schema'
362
+ end
357
363
  end
364
+
365
+ raise e
358
366
  end
359
367
 
360
- raise e
368
+ rd
361
369
  end
362
370
 
371
+ res_data = select_proc.call(opts[:last_evaluated_key])
363
372
  retval = nil
364
373
 
365
374
  if parsed.count
366
375
  retval = res_data['Count']
376
+
377
+ while res_data['LastEvaluatedKey']
378
+ res_data = select_proc.call(res_data['LastEvaluatedKey'])
379
+ retval += res_data['Count']
380
+ end
367
381
  else
368
382
  retval = res_data['Items'].map {|i| convert_to_ruby_value(i) }
383
+
384
+ if @iteratable and not parsed.limit
385
+ while res_data['LastEvaluatedKey']
386
+ res_data = select_proc.call(res_data['LastEvaluatedKey'])
387
+ retval.concat(res_data['Items'].map {|i| convert_to_ruby_value(i) })
388
+ end
389
+ end
369
390
  end
370
391
 
371
392
  if res_data['LastEvaluatedKey']
@@ -506,7 +527,7 @@ module DynamoDB
506
527
  }
507
528
  end
508
529
 
509
- @client.query('BatchWriteItem', req_hash)
530
+ batch_write_item(req_hash)
510
531
  end
511
532
 
512
533
  Rownum.new(n)
@@ -631,7 +652,7 @@ module DynamoDB
631
652
  end
632
653
  end
633
654
 
634
- @client.query('BatchWriteItem', req_hash)
655
+ batch_write_item(req_hash)
635
656
  n += chunk.length
636
657
  end
637
658
 
@@ -642,5 +663,14 @@ module DynamoDB
642
663
  str =~ /\./ ? str.to_f : str.to_i
643
664
  end
644
665
 
666
+ def batch_write_item(req_hash)
667
+ res_data = @client.query('BatchWriteItem', req_hash)
668
+
669
+ until (res_data['UnprocessedItems'] || {}).empty?
670
+ req_hash['RequestItems'] = res_data['UnprocessedItems']
671
+ res_data = @client.query('BatchWriteItem', req_hash)
672
+ end
673
+ end
674
+
645
675
  end # Driver
646
676
  end # DynamoDB
@@ -14,7 +14,7 @@ module DynamoDB
14
14
 
15
15
  class Parser < Racc::Parser
16
16
 
17
- module_eval(<<'...end ddb-parser.y/module_eval...', 'ddb-parser.y', 461)
17
+ module_eval(<<'...end ddb-parser.y/module_eval...', 'ddb-parser.y', 469)
18
18
 
19
19
  KEYWORDS = %w(
20
20
  ADD
@@ -154,141 +154,145 @@ end
154
154
  ##### State transition tables begin ###
155
155
 
156
156
  racc_action_table = [
157
- 16, 136, 51, 19, 149, 136, 17, 18, 136, 50,
158
- 136, 133, 136, 84, 46, 133, 191, 89, 133, 136,
159
- 133, 91, 133, 136, 20, 21, 22, 23, 136, 133,
160
- 136, 24, 48, 133, 136, 162, 136, 190, 133, 44,
161
- 133, 46, 130, 104, 133, 199, 133, 200, 49, 25,
162
- 134, 135, 26, 27, 134, 135, 28, 134, 135, 134,
163
- 135, 134, 135, 92, 89, 63, 44, 93, 134, 135,
164
- 169, 94, 134, 135, 163, 164, 96, 134, 135, 134,
165
- 135, 104, 46, 134, 135, 134, 135, 177, 170, 171,
166
- 172, 173, 174, 176, 178, 181, 182, 183, 43, 169,
167
- 76, 76, 110, 77, 77, 98, 42, 44, 118, 119,
168
- 120, 118, 119, 120, 211, 210, 194, 170, 171, 172,
169
- 173, 174, 248, 201, 241, 202, 240, 266, 241, 267,
170
- 32, 33, 34, 118, 119, 120, 260, 261, 262, 144,
171
- 203, 145, 204, 67, 68, 30, 31, 67, 68, 99,
172
- 100, 101, 89, 83, 105, 87, 109, 110, 113, 114,
173
- 115, 116, 82, 122, 123, 124, 110, 126, 87, 81,
174
- 80, 138, 139, 142, 55, 79, 146, 147, 78, 87,
175
- 151, 154, 155, 156, 55, 158, 74, 55, 109, 73,
176
- 168, 72, 184, 185, 186, 187, 188, 55, 71, 192,
177
- 70, 196, 98, 198, 69, 65, 64, 142, 61, 136,
178
- 60, 59, 212, 214, 215, 216, 217, 154, 58, 57,
179
- 221, 122, 110, 224, 225, 226, 227, 228, 229, 56,
180
- 232, 233, 55, 235, 151, 55, 53, 239, 52, 242,
181
- 40, 55, 39, 38, 247, 37, 251, 252, 253, 251,
182
- 255, 256, 36, 258, 35, 263, 265, 29, 268 ]
157
+ 3, 4, 18, 138, 53, 21, 151, 138, 19, 20,
158
+ 138, 52, 138, 135, 138, 86, 48, 135, 193, 91,
159
+ 135, 138, 135, 93, 135, 138, 22, 23, 24, 25,
160
+ 138, 135, 138, 26, 50, 135, 138, 164, 138, 192,
161
+ 135, 46, 135, 48, 132, 106, 135, 201, 135, 202,
162
+ 51, 27, 136, 137, 28, 29, 136, 137, 30, 136,
163
+ 137, 136, 137, 136, 137, 94, 91, 65, 46, 95,
164
+ 136, 137, 171, 96, 136, 137, 165, 166, 98, 136,
165
+ 137, 136, 137, 106, 48, 136, 137, 136, 137, 179,
166
+ 172, 173, 174, 175, 176, 178, 180, 183, 184, 185,
167
+ 45, 171, 78, 78, 112, 79, 79, 100, 44, 46,
168
+ 120, 121, 122, 120, 121, 122, 213, 212, 196, 172,
169
+ 173, 174, 175, 176, 250, 203, 243, 204, 242, 268,
170
+ 243, 269, 34, 35, 36, 120, 121, 122, 262, 263,
171
+ 264, 146, 205, 147, 206, 69, 70, 32, 33, 69,
172
+ 70, 101, 102, 103, 91, 85, 107, 89, 111, 112,
173
+ 115, 116, 117, 118, 84, 124, 125, 126, 112, 128,
174
+ 89, 83, 82, 140, 141, 144, 57, 81, 148, 149,
175
+ 80, 89, 153, 156, 157, 158, 57, 160, 76, 57,
176
+ 111, 75, 170, 74, 186, 187, 188, 189, 190, 57,
177
+ 73, 194, 72, 198, 100, 200, 71, 67, 66, 144,
178
+ 63, 138, 62, 61, 214, 216, 217, 218, 219, 156,
179
+ 60, 59, 223, 124, 112, 226, 227, 228, 229, 230,
180
+ 231, 58, 234, 235, 57, 237, 153, 57, 55, 241,
181
+ 54, 244, 42, 57, 41, 40, 249, 39, 253, 254,
182
+ 255, 253, 257, 258, 38, 260, 37, 265, 267, 31,
183
+ 270 ]
183
184
 
184
185
  racc_action_check = [
185
- 0, 139, 26, 0, 117, 105, 0, 0, 175, 26,
186
- 177, 139, 193, 65, 24, 105, 151, 70, 175, 227,
187
- 177, 71, 193, 241, 0, 0, 0, 0, 239, 227,
188
- 235, 0, 25, 241, 214, 136, 194, 151, 239, 24,
189
- 235, 43, 105, 85, 214, 159, 194, 159, 25, 0,
190
- 139, 139, 0, 0, 105, 105, 0, 175, 175, 177,
191
- 177, 193, 193, 72, 85, 43, 43, 76, 227, 227,
192
- 142, 77, 241, 241, 136, 136, 78, 239, 239, 235,
193
- 235, 106, 23, 214, 214, 194, 194, 142, 142, 142,
194
- 142, 142, 142, 142, 142, 142, 142, 142, 23, 154,
195
- 116, 57, 106, 116, 57, 79, 23, 23, 217, 217,
196
- 217, 256, 256, 256, 178, 178, 154, 154, 154, 154,
197
- 154, 154, 245, 160, 245, 160, 230, 264, 230, 264,
198
- 16, 16, 16, 96, 96, 96, 258, 258, 258, 112,
199
- 161, 112, 161, 48, 48, 2, 2, 69, 69, 80,
200
- 81, 82, 84, 64, 87, 88, 89, 91, 92, 93,
201
- 94, 95, 63, 97, 98, 99, 100, 101, 104, 62,
202
- 61, 107, 109, 110, 111, 60, 114, 115, 58, 66,
203
- 121, 122, 123, 124, 125, 126, 56, 137, 138, 55,
204
- 140, 52, 144, 145, 146, 147, 149, 150, 51, 152,
205
- 50, 155, 156, 158, 49, 47, 45, 168, 42, 176,
206
- 41, 38, 183, 184, 186, 187, 188, 192, 37, 35,
207
- 196, 197, 198, 200, 202, 204, 208, 211, 213, 34,
208
- 215, 216, 32, 220, 222, 223, 29, 229, 27, 234,
209
- 22, 236, 21, 20, 242, 19, 247, 249, 251, 252,
210
- 253, 255, 18, 257, 17, 262, 263, 1, 267 ]
186
+ 0, 0, 0, 141, 28, 0, 119, 107, 0, 0,
187
+ 177, 28, 179, 141, 195, 67, 26, 107, 153, 72,
188
+ 177, 229, 179, 73, 195, 243, 0, 0, 0, 0,
189
+ 241, 229, 237, 0, 27, 243, 216, 138, 196, 153,
190
+ 241, 26, 237, 45, 107, 87, 216, 161, 196, 161,
191
+ 27, 0, 141, 141, 0, 0, 107, 107, 0, 177,
192
+ 177, 179, 179, 195, 195, 74, 87, 45, 45, 78,
193
+ 229, 229, 144, 79, 243, 243, 138, 138, 80, 241,
194
+ 241, 237, 237, 108, 25, 216, 216, 196, 196, 144,
195
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
196
+ 25, 156, 118, 59, 108, 118, 59, 81, 25, 25,
197
+ 219, 219, 219, 258, 258, 258, 180, 180, 156, 156,
198
+ 156, 156, 156, 156, 247, 162, 247, 162, 232, 266,
199
+ 232, 266, 18, 18, 18, 98, 98, 98, 260, 260,
200
+ 260, 114, 163, 114, 163, 50, 50, 2, 2, 71,
201
+ 71, 82, 83, 84, 86, 66, 89, 90, 91, 93,
202
+ 94, 95, 96, 97, 65, 99, 100, 101, 102, 103,
203
+ 106, 64, 63, 109, 111, 112, 113, 62, 116, 117,
204
+ 60, 68, 123, 124, 125, 126, 127, 128, 58, 139,
205
+ 140, 57, 142, 54, 146, 147, 148, 149, 151, 152,
206
+ 53, 154, 52, 157, 158, 160, 51, 49, 47, 170,
207
+ 44, 178, 43, 40, 185, 186, 188, 189, 190, 194,
208
+ 39, 37, 198, 199, 200, 202, 204, 206, 210, 213,
209
+ 215, 36, 217, 218, 34, 222, 224, 225, 31, 231,
210
+ 29, 236, 24, 238, 23, 22, 244, 21, 249, 251,
211
+ 253, 254, 255, 257, 20, 259, 19, 264, 265, 1,
212
+ 269 ]
211
213
 
212
214
  racc_action_pointer = [
213
- -4, 257, 143, nil, nil, nil, nil, nil, nil, nil,
214
- nil, nil, nil, nil, nil, nil, 125, 246, 243, 237,
215
- 235, 233, 231, 73, 5, 23, -23, 180, nil, 236,
216
- nil, nil, 180, nil, 221, 210, nil, 209, 202, nil,
217
- nil, 178, 196, 32, nil, 191, nil, 173, 89, 195,
218
- 191, 166, 182, nil, nil, 167, 177, 81, 166, nil,
219
- 166, 136, 137, 150, 144, 4, 170, nil, nil, 93,
220
- -19, 12, 51, nil, nil, nil, 46, 50, 67, 94,
221
- 136, 141, 117, nil, 116, 28, nil, 133, 146, 147,
222
- nil, 121, 149, 137, 138, 148, 116, 127, 140, 133,
223
- 130, 154, nil, nil, 159, -7, 66, 134, nil, 151,
224
- 164, 122, 126, nil, 161, 162, 80, -10, nil, nil,
225
- nil, 130, 172, 170, 174, 132, 153, nil, nil, nil,
226
- nil, nil, nil, nil, nil, nil, 13, 135, 179, -11,
227
- 153, nil, 49, nil, 133, 184, 171, 175, nil, 181,
228
- 145, -14, 162, nil, 78, 192, 191, nil, 194, 32,
229
- 110, 127, nil, nil, nil, nil, nil, nil, 198, nil,
230
- nil, nil, nil, nil, nil, -4, 197, -2, 66, nil,
231
- nil, nil, nil, 165, 201, nil, 193, 194, 207, nil,
232
- nil, nil, 208, 0, 24, nil, 207, 185, 186, nil,
233
- 201, nil, 163, nil, 163, nil, nil, nil, 189, nil,
234
- nil, 178, nil, 213, 22, 208, 209, 91, nil, nil,
235
- 196, nil, 184, 183, nil, nil, nil, 7, nil, 225,
236
- 113, nil, nil, nil, 223, 18, 189, nil, nil, 16,
237
- nil, 11, 229, nil, nil, 109, nil, 222, nil, 232,
238
- nil, 239, 225, 238, nil, 242, 94, 240, 111, nil,
239
- nil, nil, 243, 247, 114, nil, nil, 249, nil ]
215
+ -2, 259, 145, nil, nil, nil, nil, nil, nil, nil,
216
+ nil, nil, nil, nil, nil, nil, nil, nil, 127, 248,
217
+ 245, 239, 237, 235, 233, 75, 7, 25, -21, 182,
218
+ nil, 238, nil, nil, 182, nil, 223, 212, nil, 211,
219
+ 204, nil, nil, 180, 198, 34, nil, 193, nil, 175,
220
+ 91, 197, 193, 168, 184, nil, nil, 169, 179, 83,
221
+ 168, nil, 168, 138, 139, 152, 146, 6, 172, nil,
222
+ nil, 95, -17, 14, 53, nil, nil, nil, 48, 52,
223
+ 69, 96, 138, 143, 119, nil, 118, 30, nil, 135,
224
+ 148, 149, nil, 123, 151, 139, 140, 150, 118, 129,
225
+ 142, 135, 132, 156, nil, nil, 161, -5, 68, 136,
226
+ nil, 153, 166, 124, 128, nil, 163, 164, 82, -8,
227
+ nil, nil, nil, 132, 174, 172, 176, 134, 155, nil,
228
+ nil, nil, nil, nil, nil, nil, nil, nil, 15, 137,
229
+ 181, -9, 155, nil, 51, nil, 135, 186, 173, 177,
230
+ nil, 183, 147, -12, 164, nil, 80, 194, 193, nil,
231
+ 196, 34, 112, 129, nil, nil, nil, nil, nil, nil,
232
+ 200, nil, nil, nil, nil, nil, nil, -2, 199, 0,
233
+ 68, nil, nil, nil, nil, 167, 203, nil, 195, 196,
234
+ 209, nil, nil, nil, 210, 2, 26, nil, 209, 187,
235
+ 188, nil, 203, nil, 165, nil, 165, nil, nil, nil,
236
+ 191, nil, nil, 180, nil, 215, 24, 210, 211, 93,
237
+ nil, nil, 198, nil, 186, 185, nil, nil, nil, 9,
238
+ nil, 227, 115, nil, nil, nil, 225, 20, 191, nil,
239
+ nil, 18, nil, 13, 231, nil, nil, 111, nil, 224,
240
+ nil, 234, nil, 241, 227, 240, nil, 244, 96, 242,
241
+ 113, nil, nil, nil, 245, 249, 116, nil, nil, 251,
242
+ nil ]
240
243
 
241
244
  racc_action_default = [
242
- -123, -123, -1, -4, -5, -6, -7, -8, -9, -10,
243
- -11, -12, -13, -14, -15, -16, -123, -123, -123, -123,
244
- -123, -123, -123, -123, -123, -123, -123, -123, -106, -123,
245
- -2, -3, -84, -18, -123, -123, -21, -123, -123, -40,
246
- -41, -123, -123, -123, -47, -48, -49, -123, -123, -123,
247
- -123, -123, -123, 269, -17, -123, -123, -123, -123, -39,
248
- -123, -123, -123, -123, -123, -123, -123, -88, -89, -123,
249
- -123, -123, -123, -85, -19, -20, -123, -123, -123, -51,
250
- -123, -123, -123, -50, -123, -123, -90, -123, -123, -123,
251
- -97, -66, -123, -123, -123, -123, -123, -53, -123, -123,
252
- -66, -123, -46, -86, -123, -123, -66, -93, -94, -123,
253
- -123, -84, -123, -100, -123, -123, -123, -123, -26, -27,
254
- -28, -81, -123, -123, -123, -84, -123, -91, -92, -107,
255
- -108, -109, -110, -111, -112, -113, -123, -84, -123, -123,
256
- -67, -68, -123, -98, -123, -123, -123, -123, -22, -23,
257
- -84, -123, -54, -55, -123, -123, -51, -44, -123, -123,
258
- -123, -123, -117, -119, -121, -87, -95, -96, -123, -60,
259
- -61, -62, -63, -64, -65, -123, -123, -123, -123, -74,
260
- -75, -76, -77, -123, -123, -101, -123, -123, -123, -42,
261
- -82, -83, -123, -123, -123, -59, -123, -53, -66, -114,
262
- -123, -115, -123, -116, -123, -69, -70, -71, -123, -73,
263
- -79, -123, -78, -99, -123, -123, -123, -123, -56, -57,
264
- -123, -52, -81, -84, -118, -120, -122, -123, -80, -123,
265
- -123, -104, -29, -30, -123, -123, -84, -45, -72, -123,
266
- -102, -123, -24, -58, -43, -123, -105, -123, -103, -25,
267
- -31, -123, -123, -123, -32, -123, -123, -123, -123, -33,
268
- -34, -35, -123, -123, -123, -37, -36, -123, -38 ]
245
+ -125, -125, -1, -4, -5, -6, -7, -8, -9, -10,
246
+ -11, -12, -13, -14, -15, -16, -17, -18, -125, -125,
247
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
248
+ -108, -125, -2, -3, -86, -20, -125, -125, -23, -125,
249
+ -125, -42, -43, -125, -125, -125, -49, -50, -51, -125,
250
+ -125, -125, -125, -125, -125, 271, -19, -125, -125, -125,
251
+ -125, -41, -125, -125, -125, -125, -125, -125, -125, -90,
252
+ -91, -125, -125, -125, -125, -87, -21, -22, -125, -125,
253
+ -125, -53, -125, -125, -125, -52, -125, -125, -92, -125,
254
+ -125, -125, -99, -68, -125, -125, -125, -125, -125, -55,
255
+ -125, -125, -68, -125, -48, -88, -125, -125, -68, -95,
256
+ -96, -125, -125, -86, -125, -102, -125, -125, -125, -125,
257
+ -28, -29, -30, -83, -125, -125, -125, -86, -125, -93,
258
+ -94, -109, -110, -111, -112, -113, -114, -115, -125, -86,
259
+ -125, -125, -69, -70, -125, -100, -125, -125, -125, -125,
260
+ -24, -25, -86, -125, -56, -57, -125, -125, -53, -46,
261
+ -125, -125, -125, -125, -119, -121, -123, -89, -97, -98,
262
+ -125, -62, -63, -64, -65, -66, -67, -125, -125, -125,
263
+ -125, -76, -77, -78, -79, -125, -125, -103, -125, -125,
264
+ -125, -44, -84, -85, -125, -125, -125, -61, -125, -55,
265
+ -68, -116, -125, -117, -125, -118, -125, -71, -72, -73,
266
+ -125, -75, -81, -125, -80, -101, -125, -125, -125, -125,
267
+ -58, -59, -125, -54, -83, -86, -120, -122, -124, -125,
268
+ -82, -125, -125, -106, -31, -32, -125, -125, -86, -47,
269
+ -74, -125, -104, -125, -26, -60, -45, -125, -107, -125,
270
+ -105, -27, -33, -125, -125, -125, -34, -125, -125, -125,
271
+ -125, -35, -36, -37, -125, -125, -125, -39, -38, -125,
272
+ -40 ]
269
273
 
270
274
  racc_goto_table = [
271
- 54, 117, 129, 111, 121, 150, 97, 153, 75, 108,
272
- 141, 85, 125, 230, 66, 90, 179, 250, 137, 41,
273
- 47, 1, 254, 249, 15, 259, 264, 14, 195, 102,
274
- 103, 13, 12, 106, 95, 88, 167, 11, 245, 62,
275
- 10, 152, 9, 193, 8, 7, 140, 6, 175, 207,
276
- 209, 180, 5, 4, 127, 128, 107, 3, 166, 112,
277
- 213, 2, 159, 160, 161, nil, nil, 148, 205, nil,
278
- nil, nil, 206, nil, 208, nil, nil, 218, nil, 143,
279
- nil, nil, nil, 197, nil, nil, nil, nil, nil, nil,
280
- 219, 220, nil, 157, nil, nil, nil, nil, nil, nil,
281
- nil, nil, nil, nil, 222, 165, 236, nil, nil, nil,
282
- 223, nil, nil, nil, nil, nil, nil, nil, 189, nil,
283
- nil, nil, 234, nil, 238, nil, nil, nil, nil, nil,
284
- nil, nil, 243, nil, nil, nil, nil, nil, 246, nil,
275
+ 56, 119, 131, 113, 123, 152, 99, 155, 77, 110,
276
+ 143, 87, 127, 232, 68, 92, 181, 252, 139, 43,
277
+ 49, 1, 256, 251, 17, 261, 266, 16, 197, 104,
278
+ 105, 15, 14, 108, 97, 90, 169, 13, 247, 64,
279
+ 12, 154, 11, 195, 10, 9, 142, 8, 177, 209,
280
+ 211, 182, 7, 6, 129, 130, 109, 5, 168, 114,
281
+ 215, 2, 161, 162, 163, nil, nil, 150, 207, nil,
282
+ nil, nil, 208, nil, 210, nil, nil, 220, nil, 145,
283
+ nil, nil, nil, 199, nil, nil, nil, nil, nil, nil,
284
+ 221, 222, nil, 159, nil, nil, nil, nil, nil, nil,
285
+ nil, nil, nil, nil, 224, 167, 238, nil, nil, nil,
286
+ 225, nil, nil, nil, nil, nil, nil, nil, 191, nil,
287
+ nil, nil, 236, nil, 240, nil, nil, nil, nil, nil,
288
+ nil, nil, 245, nil, nil, nil, nil, nil, 248, nil,
285
289
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
286
290
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
287
- nil, 257, nil, nil, nil, nil, nil, nil, nil, nil,
291
+ nil, 259, nil, nil, nil, nil, nil, nil, nil, nil,
288
292
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
289
293
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
290
- nil, 237, nil, nil, nil, nil, nil, nil, nil, nil,
291
- nil, nil, nil, nil, 244 ]
294
+ nil, 239, nil, nil, nil, nil, nil, nil, nil, nil,
295
+ nil, nil, nil, nil, 246 ]
292
296
 
293
297
  racc_goto_check = [
294
298
  16, 19, 34, 28, 26, 27, 25, 32, 17, 47,
@@ -315,25 +319,27 @@ racc_goto_check = [
315
319
 
316
320
  racc_goto_pointer = [
317
321
  nil, 21, 61, 57, 53, 52, 47, 45, 44, 42,
318
- 40, 37, 32, 31, 27, 24, -32, -49, -44, -95,
319
- -224, -230, -233, -237, -4, -73, -93, -116, -88, -55,
320
- nil, -81, -115, -111, -103, -126, -64, -100, -94, -127,
321
- -128, -91, -34, -55, -50, -50, -33, -80, -33, -124,
322
- -201, nil, -74, -73, -72 ]
322
+ 40, 37, 32, 31, 27, 24, -34, -51, -46, -97,
323
+ -226, -232, -235, -239, -6, -75, -95, -118, -90, -57,
324
+ nil, -83, -117, -113, -105, -128, -66, -102, -96, -129,
325
+ -130, -93, -36, -57, -52, -52, -35, -82, -35, -126,
326
+ -203, nil, -76, -75, -74 ]
323
327
 
324
328
  racc_goto_default = [
325
329
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
326
330
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
327
331
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
328
- 45, nil, nil, nil, 231, nil, nil, nil, nil, 132,
329
- nil, nil, nil, nil, 86, nil, nil, nil, nil, nil,
330
- nil, 131, nil, nil, nil ]
332
+ 47, nil, nil, nil, 233, nil, nil, nil, nil, 134,
333
+ nil, nil, nil, nil, 88, nil, nil, nil, nil, nil,
334
+ nil, 133, nil, nil, nil ]
331
335
 
332
336
  racc_reduce_table = [
333
337
  0, 0, :racc_error,
334
338
  1, 64, :_reduce_1,
335
339
  2, 64, :_reduce_2,
336
340
  2, 64, :_reduce_3,
341
+ 1, 64, :_reduce_4,
342
+ 1, 64, :_reduce_5,
337
343
  1, 65, :_reduce_none,
338
344
  1, 65, :_reduce_none,
339
345
  1, 65, :_reduce_none,
@@ -347,96 +353,96 @@ racc_reduce_table = [
347
353
  1, 65, :_reduce_none,
348
354
  1, 65, :_reduce_none,
349
355
  1, 65, :_reduce_none,
350
- 3, 66, :_reduce_17,
351
- 2, 66, :_reduce_18,
352
- 4, 66, :_reduce_19,
353
- 4, 67, :_reduce_20,
354
- 2, 68, :_reduce_21,
355
- 7, 69, :_reduce_22,
356
- 3, 81, :_reduce_23,
357
- 7, 81, :_reduce_24,
358
- 9, 81, :_reduce_25,
359
- 1, 82, :_reduce_26,
360
- 1, 82, :_reduce_27,
356
+ 3, 66, :_reduce_19,
357
+ 2, 66, :_reduce_20,
358
+ 4, 66, :_reduce_21,
359
+ 4, 67, :_reduce_22,
360
+ 2, 68, :_reduce_23,
361
+ 7, 69, :_reduce_24,
362
+ 3, 81, :_reduce_25,
363
+ 7, 81, :_reduce_26,
364
+ 9, 81, :_reduce_27,
361
365
  1, 82, :_reduce_28,
362
- 7, 80, :_reduce_29,
363
- 7, 80, :_reduce_30,
364
- 1, 83, :_reduce_31,
365
- 3, 83, :_reduce_32,
366
- 7, 84, :_reduce_33,
367
- 1, 85, :_reduce_34,
368
- 1, 85, :_reduce_35,
369
- 4, 85, :_reduce_36,
370
- 1, 86, :_reduce_37,
371
- 3, 86, :_reduce_38,
372
- 3, 70, :_reduce_39,
373
- 2, 71, :_reduce_40,
374
- 2, 71, :_reduce_41,
375
- 8, 72, :_reduce_42,
376
- 11, 72, :_reduce_43,
377
- 7, 73, :_reduce_44,
378
- 10, 73, :_reduce_45,
379
- 5, 74, :_reduce_46,
380
- 1, 87, :_reduce_47,
381
- 1, 87, :_reduce_48,
382
- 1, 93, :_reduce_49,
383
- 3, 93, :_reduce_50,
366
+ 1, 82, :_reduce_29,
367
+ 1, 82, :_reduce_30,
368
+ 7, 80, :_reduce_31,
369
+ 7, 80, :_reduce_32,
370
+ 1, 83, :_reduce_33,
371
+ 3, 83, :_reduce_34,
372
+ 7, 84, :_reduce_35,
373
+ 1, 85, :_reduce_36,
374
+ 1, 85, :_reduce_37,
375
+ 4, 85, :_reduce_38,
376
+ 1, 86, :_reduce_39,
377
+ 3, 86, :_reduce_40,
378
+ 3, 70, :_reduce_41,
379
+ 2, 71, :_reduce_42,
380
+ 2, 71, :_reduce_43,
381
+ 8, 72, :_reduce_44,
382
+ 11, 72, :_reduce_45,
383
+ 7, 73, :_reduce_46,
384
+ 10, 73, :_reduce_47,
385
+ 5, 74, :_reduce_48,
386
+ 1, 87, :_reduce_49,
387
+ 1, 87, :_reduce_50,
388
+ 1, 93, :_reduce_51,
389
+ 3, 93, :_reduce_52,
384
390
  0, 88, :_reduce_none,
385
- 5, 88, :_reduce_52,
391
+ 5, 88, :_reduce_54,
386
392
  0, 89, :_reduce_none,
387
- 2, 89, :_reduce_54,
388
- 1, 94, :_reduce_55,
389
- 3, 94, :_reduce_56,
390
- 3, 95, :_reduce_57,
391
- 5, 95, :_reduce_58,
393
+ 2, 89, :_reduce_56,
394
+ 1, 94, :_reduce_57,
395
+ 3, 94, :_reduce_58,
396
+ 3, 95, :_reduce_59,
397
+ 5, 95, :_reduce_60,
392
398
  1, 96, :_reduce_none,
393
- 1, 98, :_reduce_60,
394
- 1, 98, :_reduce_61,
395
399
  1, 98, :_reduce_62,
396
400
  1, 98, :_reduce_63,
397
401
  1, 98, :_reduce_64,
402
+ 1, 98, :_reduce_65,
403
+ 1, 98, :_reduce_66,
398
404
  1, 98, :_reduce_none,
399
405
  0, 91, :_reduce_none,
400
- 2, 91, :_reduce_67,
401
- 1, 99, :_reduce_68,
402
- 3, 99, :_reduce_69,
403
- 3, 100, :_reduce_70,
404
- 3, 100, :_reduce_71,
405
- 5, 100, :_reduce_72,
406
+ 2, 91, :_reduce_69,
407
+ 1, 99, :_reduce_70,
408
+ 3, 99, :_reduce_71,
409
+ 3, 100, :_reduce_72,
406
410
  3, 100, :_reduce_73,
411
+ 5, 100, :_reduce_74,
412
+ 3, 100, :_reduce_75,
407
413
  1, 101, :_reduce_none,
408
414
  1, 101, :_reduce_none,
409
- 1, 101, :_reduce_76,
415
+ 1, 101, :_reduce_78,
410
416
  1, 104, :_reduce_none,
411
- 2, 104, :_reduce_78,
412
- 1, 103, :_reduce_79,
413
- 2, 103, :_reduce_80,
417
+ 2, 104, :_reduce_80,
418
+ 1, 103, :_reduce_81,
419
+ 2, 103, :_reduce_82,
414
420
  0, 90, :_reduce_none,
415
- 2, 90, :_reduce_82,
416
- 2, 90, :_reduce_83,
421
+ 2, 90, :_reduce_84,
422
+ 2, 90, :_reduce_85,
417
423
  0, 79, :_reduce_none,
418
- 2, 79, :_reduce_85,
419
- 5, 75, :_reduce_86,
420
- 7, 75, :_reduce_87,
421
- 1, 105, :_reduce_88,
422
- 1, 105, :_reduce_89,
423
- 1, 106, :_reduce_90,
424
- 3, 106, :_reduce_91,
425
- 3, 107, :_reduce_92,
426
- 2, 92, :_reduce_93,
427
- 1, 109, :_reduce_94,
428
- 3, 109, :_reduce_95,
429
- 3, 110, :_reduce_96,
430
- 4, 76, :_reduce_97,
431
- 6, 76, :_reduce_98,
432
- 8, 77, :_reduce_99,
433
- 1, 111, :_reduce_100,
434
- 3, 111, :_reduce_101,
435
- 3, 112, :_reduce_102,
436
- 5, 112, :_reduce_103,
437
- 1, 113, :_reduce_104,
438
- 3, 113, :_reduce_105,
439
- 1, 78, :_reduce_106,
424
+ 2, 79, :_reduce_87,
425
+ 5, 75, :_reduce_88,
426
+ 7, 75, :_reduce_89,
427
+ 1, 105, :_reduce_90,
428
+ 1, 105, :_reduce_91,
429
+ 1, 106, :_reduce_92,
430
+ 3, 106, :_reduce_93,
431
+ 3, 107, :_reduce_94,
432
+ 2, 92, :_reduce_95,
433
+ 1, 109, :_reduce_96,
434
+ 3, 109, :_reduce_97,
435
+ 3, 110, :_reduce_98,
436
+ 4, 76, :_reduce_99,
437
+ 6, 76, :_reduce_100,
438
+ 8, 77, :_reduce_101,
439
+ 1, 111, :_reduce_102,
440
+ 3, 111, :_reduce_103,
441
+ 3, 112, :_reduce_104,
442
+ 5, 112, :_reduce_105,
443
+ 1, 113, :_reduce_106,
444
+ 3, 113, :_reduce_107,
445
+ 1, 78, :_reduce_108,
440
446
  1, 108, :_reduce_none,
441
447
  1, 108, :_reduce_none,
442
448
  1, 97, :_reduce_none,
@@ -444,19 +450,19 @@ racc_reduce_table = [
444
450
  1, 114, :_reduce_none,
445
451
  1, 114, :_reduce_none,
446
452
  1, 114, :_reduce_none,
447
- 3, 102, :_reduce_114,
448
- 3, 102, :_reduce_115,
449
453
  3, 102, :_reduce_116,
450
- 1, 115, :_reduce_117,
451
- 3, 115, :_reduce_118,
452
- 1, 116, :_reduce_119,
453
- 3, 116, :_reduce_120,
454
- 1, 117, :_reduce_121,
455
- 3, 117, :_reduce_122 ]
454
+ 3, 102, :_reduce_117,
455
+ 3, 102, :_reduce_118,
456
+ 1, 115, :_reduce_119,
457
+ 3, 115, :_reduce_120,
458
+ 1, 116, :_reduce_121,
459
+ 3, 116, :_reduce_122,
460
+ 1, 117, :_reduce_123,
461
+ 3, 117, :_reduce_124 ]
456
462
 
457
- racc_reduce_n = 123
463
+ racc_reduce_n = 125
458
464
 
459
- racc_shift_n = 269
465
+ racc_shift_n = 271
460
466
 
461
467
  racc_token_table = {
462
468
  false => 0,
@@ -690,9 +696,19 @@ module_eval(<<'.,.,', 'ddb-parser.y', 13)
690
696
  end
691
697
  .,.,
692
698
 
693
- # reduce 4 omitted
699
+ module_eval(<<'.,.,', 'ddb-parser.y', 17)
700
+ def _reduce_4(val, _values)
701
+ [struct(:NULL), :ruby, val[0]]
702
+
703
+ end
704
+ .,.,
694
705
 
695
- # reduce 5 omitted
706
+ module_eval(<<'.,.,', 'ddb-parser.y', 21)
707
+ def _reduce_5(val, _values)
708
+ [struct(:NULL), :shell, val[0]]
709
+
710
+ end
711
+ .,.,
696
712
 
697
713
  # reduce 6 omitted
698
714
 
@@ -716,590 +732,590 @@ module_eval(<<'.,.,', 'ddb-parser.y', 13)
716
732
 
717
733
  # reduce 16 omitted
718
734
 
719
- module_eval(<<'.,.,', 'ddb-parser.y', 32)
720
- def _reduce_17(val, _values)
735
+ # reduce 17 omitted
736
+
737
+ # reduce 18 omitted
738
+
739
+ module_eval(<<'.,.,', 'ddb-parser.y', 40)
740
+ def _reduce_19(val, _values)
721
741
  struct(:SHOW_TABLES, :limit => val[2])
722
742
 
723
743
  end
724
744
  .,.,
725
745
 
726
- module_eval(<<'.,.,', 'ddb-parser.y', 36)
727
- def _reduce_18(val, _values)
746
+ module_eval(<<'.,.,', 'ddb-parser.y', 44)
747
+ def _reduce_20(val, _values)
728
748
  struct(:SHOW_REGIONS)
729
749
 
730
750
  end
731
751
  .,.,
732
752
 
733
- module_eval(<<'.,.,', 'ddb-parser.y', 40)
734
- def _reduce_19(val, _values)
753
+ module_eval(<<'.,.,', 'ddb-parser.y', 48)
754
+ def _reduce_21(val, _values)
735
755
  struct(:SHOW_CREATE_TABLE, :table => val[3])
736
756
 
737
757
  end
738
758
  .,.,
739
759
 
740
- module_eval(<<'.,.,', 'ddb-parser.y', 45)
741
- def _reduce_20(val, _values)
760
+ module_eval(<<'.,.,', 'ddb-parser.y', 53)
761
+ def _reduce_22(val, _values)
742
762
  struct(:ALTER_TABLE, :table => val[2], :capacity => val[3])
743
763
 
744
764
  end
745
765
  .,.,
746
766
 
747
- module_eval(<<'.,.,', 'ddb-parser.y', 50)
748
- def _reduce_21(val, _values)
767
+ module_eval(<<'.,.,', 'ddb-parser.y', 58)
768
+ def _reduce_23(val, _values)
749
769
  struct(:USE, :endpoint_or_region => val[1])
750
770
 
751
771
  end
752
772
  .,.,
753
773
 
754
- module_eval(<<'.,.,', 'ddb-parser.y', 55)
755
- def _reduce_22(val, _values)
774
+ module_eval(<<'.,.,', 'ddb-parser.y', 63)
775
+ def _reduce_24(val, _values)
756
776
  struct(:CREATE, val[4].merge(:table => val[2], :capacity => val[6]))
757
777
 
758
778
  end
759
779
  .,.,
760
780
 
761
- module_eval(<<'.,.,', 'ddb-parser.y', 60)
762
- def _reduce_23(val, _values)
781
+ module_eval(<<'.,.,', 'ddb-parser.y', 68)
782
+ def _reduce_25(val, _values)
763
783
  {:hash => {:name => val[0], :type => val[1]}, :range => nil, :indices => nil}
764
784
 
765
785
  end
766
786
  .,.,
767
787
 
768
- module_eval(<<'.,.,', 'ddb-parser.y', 64)
769
- def _reduce_24(val, _values)
788
+ module_eval(<<'.,.,', 'ddb-parser.y', 72)
789
+ def _reduce_26(val, _values)
770
790
  {:hash => {:name => val[0], :type => val[1]}, :range => {:name => val[4], :type => val[5]}, :indices => nil}
771
791
 
772
792
  end
773
793
  .,.,
774
794
 
775
- module_eval(<<'.,.,', 'ddb-parser.y', 68)
776
- def _reduce_25(val, _values)
795
+ module_eval(<<'.,.,', 'ddb-parser.y', 76)
796
+ def _reduce_27(val, _values)
777
797
  {:hash => {:name => val[0], :type => val[1]}, :range => {:name => val[4], :type => val[5]}, :indices => val[8]}
778
798
 
779
799
  end
780
800
  .,.,
781
801
 
782
- module_eval(<<'.,.,', 'ddb-parser.y', 73)
783
- def _reduce_26(val, _values)
802
+ module_eval(<<'.,.,', 'ddb-parser.y', 81)
803
+ def _reduce_28(val, _values)
784
804
  'S'
785
805
 
786
806
  end
787
807
  .,.,
788
808
 
789
- module_eval(<<'.,.,', 'ddb-parser.y', 77)
790
- def _reduce_27(val, _values)
809
+ module_eval(<<'.,.,', 'ddb-parser.y', 85)
810
+ def _reduce_29(val, _values)
791
811
  'N'
792
812
 
793
813
  end
794
814
  .,.,
795
815
 
796
- module_eval(<<'.,.,', 'ddb-parser.y', 81)
797
- def _reduce_28(val, _values)
816
+ module_eval(<<'.,.,', 'ddb-parser.y', 89)
817
+ def _reduce_30(val, _values)
798
818
  'B'
799
819
 
800
820
  end
801
821
  .,.,
802
822
 
803
- module_eval(<<'.,.,', 'ddb-parser.y', 86)
804
- def _reduce_29(val, _values)
823
+ module_eval(<<'.,.,', 'ddb-parser.y', 94)
824
+ def _reduce_31(val, _values)
805
825
  {:read => val[2], :write => val[6]}
806
826
 
807
827
  end
808
828
  .,.,
809
829
 
810
- module_eval(<<'.,.,', 'ddb-parser.y', 90)
811
- def _reduce_30(val, _values)
830
+ module_eval(<<'.,.,', 'ddb-parser.y', 98)
831
+ def _reduce_32(val, _values)
812
832
  {:read => val[6], :write => val[2]}
813
833
 
814
834
  end
815
835
  .,.,
816
836
 
817
- module_eval(<<'.,.,', 'ddb-parser.y', 95)
818
- def _reduce_31(val, _values)
837
+ module_eval(<<'.,.,', 'ddb-parser.y', 103)
838
+ def _reduce_33(val, _values)
819
839
  [val[0]]
820
840
 
821
841
  end
822
842
  .,.,
823
843
 
824
- module_eval(<<'.,.,', 'ddb-parser.y', 99)
825
- def _reduce_32(val, _values)
844
+ module_eval(<<'.,.,', 'ddb-parser.y', 107)
845
+ def _reduce_34(val, _values)
826
846
  val[0] + [val[2]]
827
847
 
828
848
  end
829
849
  .,.,
830
850
 
831
- module_eval(<<'.,.,', 'ddb-parser.y', 104)
832
- def _reduce_33(val, _values)
851
+ module_eval(<<'.,.,', 'ddb-parser.y', 112)
852
+ def _reduce_35(val, _values)
833
853
  {:name => val[1], :key => val[3], :type => val[4], :projection => val[6]}
834
854
 
835
855
  end
836
856
  .,.,
837
857
 
838
- module_eval(<<'.,.,', 'ddb-parser.y', 109)
839
- def _reduce_34(val, _values)
858
+ module_eval(<<'.,.,', 'ddb-parser.y', 117)
859
+ def _reduce_36(val, _values)
840
860
  {:type => 'ALL'}
841
861
 
842
862
  end
843
863
  .,.,
844
864
 
845
- module_eval(<<'.,.,', 'ddb-parser.y', 113)
846
- def _reduce_35(val, _values)
865
+ module_eval(<<'.,.,', 'ddb-parser.y', 121)
866
+ def _reduce_37(val, _values)
847
867
  {:type => 'KEYS_ONLY'}
848
868
 
849
869
  end
850
870
  .,.,
851
871
 
852
- module_eval(<<'.,.,', 'ddb-parser.y', 117)
853
- def _reduce_36(val, _values)
872
+ module_eval(<<'.,.,', 'ddb-parser.y', 125)
873
+ def _reduce_38(val, _values)
854
874
  {:type => 'INCLUDE', :attrs => val[2]}
855
875
 
856
876
  end
857
877
  .,.,
858
878
 
859
- module_eval(<<'.,.,', 'ddb-parser.y', 122)
860
- def _reduce_37(val, _values)
879
+ module_eval(<<'.,.,', 'ddb-parser.y', 130)
880
+ def _reduce_39(val, _values)
861
881
  [val[0]]
862
882
 
863
883
  end
864
884
  .,.,
865
885
 
866
- module_eval(<<'.,.,', 'ddb-parser.y', 126)
867
- def _reduce_38(val, _values)
886
+ module_eval(<<'.,.,', 'ddb-parser.y', 134)
887
+ def _reduce_40(val, _values)
868
888
  val[0] + [val[2]]
869
889
 
870
890
  end
871
891
  .,.,
872
892
 
873
- module_eval(<<'.,.,', 'ddb-parser.y', 131)
874
- def _reduce_39(val, _values)
893
+ module_eval(<<'.,.,', 'ddb-parser.y', 139)
894
+ def _reduce_41(val, _values)
875
895
  struct(:DROP, :table => val[2])
876
896
 
877
897
  end
878
898
  .,.,
879
899
 
880
- module_eval(<<'.,.,', 'ddb-parser.y', 136)
881
- def _reduce_40(val, _values)
900
+ module_eval(<<'.,.,', 'ddb-parser.y', 144)
901
+ def _reduce_42(val, _values)
882
902
  struct(:DESCRIBE, :table => val[1])
883
903
 
884
904
  end
885
905
  .,.,
886
906
 
887
- module_eval(<<'.,.,', 'ddb-parser.y', 140)
888
- def _reduce_41(val, _values)
907
+ module_eval(<<'.,.,', 'ddb-parser.y', 148)
908
+ def _reduce_43(val, _values)
889
909
  struct(:DESCRIBE, :table => val[1])
890
910
 
891
911
  end
892
912
  .,.,
893
913
 
894
- module_eval(<<'.,.,', 'ddb-parser.y', 145)
895
- def _reduce_42(val, _values)
914
+ module_eval(<<'.,.,', 'ddb-parser.y', 153)
915
+ def _reduce_44(val, _values)
896
916
  struct(:SELECT, :attrs => val[1], :table => val[3], :index => val[4], :conds => val[5], :order_asc => val[6], :limit => val[7], :count => false)
897
917
 
898
918
  end
899
919
  .,.,
900
920
 
901
- module_eval(<<'.,.,', 'ddb-parser.y', 149)
902
- def _reduce_43(val, _values)
921
+ module_eval(<<'.,.,', 'ddb-parser.y', 157)
922
+ def _reduce_45(val, _values)
903
923
  struct(:SELECT, :attrs => [], :table => val[6], :index => val[7], :conds => val[8], :order_asc => val[9], :limit => val[10], :count => true)
904
924
 
905
925
  end
906
926
  .,.,
907
927
 
908
- module_eval(<<'.,.,', 'ddb-parser.y', 154)
909
- def _reduce_44(val, _values)
928
+ module_eval(<<'.,.,', 'ddb-parser.y', 162)
929
+ def _reduce_46(val, _values)
910
930
  struct(:SCAN, :attrs => val[2], :table => val[4], :conds => val[5], :limit => val[6], :count => false)
911
931
 
912
932
  end
913
933
  .,.,
914
934
 
915
- module_eval(<<'.,.,', 'ddb-parser.y', 158)
916
- def _reduce_45(val, _values)
935
+ module_eval(<<'.,.,', 'ddb-parser.y', 166)
936
+ def _reduce_47(val, _values)
917
937
  struct(:SCAN, :attrs => [], :table => val[7], :conds => val[8], :limit => val[9], :count => true)
918
938
 
919
939
  end
920
940
  .,.,
921
941
 
922
- module_eval(<<'.,.,', 'ddb-parser.y', 163)
923
- def _reduce_46(val, _values)
942
+ module_eval(<<'.,.,', 'ddb-parser.y', 171)
943
+ def _reduce_48(val, _values)
924
944
  struct(:GET, :attrs => val[1], :table => val[3], :conds => val[4])
925
945
 
926
946
  end
927
947
  .,.,
928
948
 
929
- module_eval(<<'.,.,', 'ddb-parser.y', 168)
930
- def _reduce_47(val, _values)
949
+ module_eval(<<'.,.,', 'ddb-parser.y', 176)
950
+ def _reduce_49(val, _values)
931
951
  []
932
952
 
933
953
  end
934
954
  .,.,
935
955
 
936
- module_eval(<<'.,.,', 'ddb-parser.y', 172)
937
- def _reduce_48(val, _values)
956
+ module_eval(<<'.,.,', 'ddb-parser.y', 180)
957
+ def _reduce_50(val, _values)
938
958
  val[0]
939
959
 
940
960
  end
941
961
  .,.,
942
962
 
943
- module_eval(<<'.,.,', 'ddb-parser.y', 177)
944
- def _reduce_49(val, _values)
963
+ module_eval(<<'.,.,', 'ddb-parser.y', 185)
964
+ def _reduce_51(val, _values)
945
965
  [val[0]]
946
966
 
947
967
  end
948
968
  .,.,
949
969
 
950
- module_eval(<<'.,.,', 'ddb-parser.y', 181)
951
- def _reduce_50(val, _values)
970
+ module_eval(<<'.,.,', 'ddb-parser.y', 189)
971
+ def _reduce_52(val, _values)
952
972
  val[0] + [val[2]]
953
973
 
954
974
  end
955
975
  .,.,
956
976
 
957
- # reduce 51 omitted
977
+ # reduce 53 omitted
958
978
 
959
- module_eval(<<'.,.,', 'ddb-parser.y', 187)
960
- def _reduce_52(val, _values)
979
+ module_eval(<<'.,.,', 'ddb-parser.y', 195)
980
+ def _reduce_54(val, _values)
961
981
  val[3]
962
982
 
963
983
  end
964
984
  .,.,
965
985
 
966
- # reduce 53 omitted
986
+ # reduce 55 omitted
967
987
 
968
- module_eval(<<'.,.,', 'ddb-parser.y', 193)
969
- def _reduce_54(val, _values)
988
+ module_eval(<<'.,.,', 'ddb-parser.y', 201)
989
+ def _reduce_56(val, _values)
970
990
  val[1]
971
991
 
972
992
  end
973
993
  .,.,
974
994
 
975
- module_eval(<<'.,.,', 'ddb-parser.y', 198)
976
- def _reduce_55(val, _values)
995
+ module_eval(<<'.,.,', 'ddb-parser.y', 206)
996
+ def _reduce_57(val, _values)
977
997
  [val[0]]
978
998
 
979
999
  end
980
1000
  .,.,
981
1001
 
982
- module_eval(<<'.,.,', 'ddb-parser.y', 202)
983
- def _reduce_56(val, _values)
1002
+ module_eval(<<'.,.,', 'ddb-parser.y', 210)
1003
+ def _reduce_58(val, _values)
984
1004
  val[0] + [val[2]]
985
1005
 
986
1006
  end
987
1007
  .,.,
988
1008
 
989
- module_eval(<<'.,.,', 'ddb-parser.y', 207)
990
- def _reduce_57(val, _values)
1009
+ module_eval(<<'.,.,', 'ddb-parser.y', 215)
1010
+ def _reduce_59(val, _values)
991
1011
  [val[0], val[1].to_s.upcase.to_sym, [val[2]]]
992
1012
 
993
1013
  end
994
1014
  .,.,
995
1015
 
996
- module_eval(<<'.,.,', 'ddb-parser.y', 211)
997
- def _reduce_58(val, _values)
1016
+ module_eval(<<'.,.,', 'ddb-parser.y', 219)
1017
+ def _reduce_60(val, _values)
998
1018
  [val[0], val[1].to_s.upcase.to_sym, [val[2], val[4]]]
999
1019
 
1000
1020
  end
1001
1021
  .,.,
1002
1022
 
1003
- # reduce 59 omitted
1023
+ # reduce 61 omitted
1004
1024
 
1005
- module_eval(<<'.,.,', 'ddb-parser.y', 218)
1006
- def _reduce_60(val, _values)
1025
+ module_eval(<<'.,.,', 'ddb-parser.y', 226)
1026
+ def _reduce_62(val, _values)
1007
1027
  :EQ
1008
1028
 
1009
1029
  end
1010
1030
  .,.,
1011
1031
 
1012
- module_eval(<<'.,.,', 'ddb-parser.y', 222)
1013
- def _reduce_61(val, _values)
1032
+ module_eval(<<'.,.,', 'ddb-parser.y', 230)
1033
+ def _reduce_63(val, _values)
1014
1034
  :LE
1015
1035
 
1016
1036
  end
1017
1037
  .,.,
1018
1038
 
1019
- module_eval(<<'.,.,', 'ddb-parser.y', 226)
1020
- def _reduce_62(val, _values)
1039
+ module_eval(<<'.,.,', 'ddb-parser.y', 234)
1040
+ def _reduce_64(val, _values)
1021
1041
  :LT
1022
1042
 
1023
1043
  end
1024
1044
  .,.,
1025
1045
 
1026
- module_eval(<<'.,.,', 'ddb-parser.y', 230)
1027
- def _reduce_63(val, _values)
1046
+ module_eval(<<'.,.,', 'ddb-parser.y', 238)
1047
+ def _reduce_65(val, _values)
1028
1048
  :GE
1029
1049
 
1030
1050
  end
1031
1051
  .,.,
1032
1052
 
1033
- module_eval(<<'.,.,', 'ddb-parser.y', 234)
1034
- def _reduce_64(val, _values)
1053
+ module_eval(<<'.,.,', 'ddb-parser.y', 242)
1054
+ def _reduce_66(val, _values)
1035
1055
  :GT
1036
1056
 
1037
1057
  end
1038
1058
  .,.,
1039
1059
 
1040
- # reduce 65 omitted
1060
+ # reduce 67 omitted
1041
1061
 
1042
- # reduce 66 omitted
1062
+ # reduce 68 omitted
1043
1063
 
1044
- module_eval(<<'.,.,', 'ddb-parser.y', 241)
1045
- def _reduce_67(val, _values)
1064
+ module_eval(<<'.,.,', 'ddb-parser.y', 249)
1065
+ def _reduce_69(val, _values)
1046
1066
  val[1]
1047
1067
 
1048
1068
  end
1049
1069
  .,.,
1050
1070
 
1051
- module_eval(<<'.,.,', 'ddb-parser.y', 246)
1052
- def _reduce_68(val, _values)
1071
+ module_eval(<<'.,.,', 'ddb-parser.y', 254)
1072
+ def _reduce_70(val, _values)
1053
1073
  [val[0]]
1054
1074
 
1055
1075
  end
1056
1076
  .,.,
1057
1077
 
1058
- module_eval(<<'.,.,', 'ddb-parser.y', 250)
1059
- def _reduce_69(val, _values)
1078
+ module_eval(<<'.,.,', 'ddb-parser.y', 258)
1079
+ def _reduce_71(val, _values)
1060
1080
  val[0] + [val[2]]
1061
1081
 
1062
1082
  end
1063
1083
  .,.,
1064
1084
 
1065
- module_eval(<<'.,.,', 'ddb-parser.y', 255)
1066
- def _reduce_70(val, _values)
1085
+ module_eval(<<'.,.,', 'ddb-parser.y', 263)
1086
+ def _reduce_72(val, _values)
1067
1087
  [val[0], val[1].to_s.upcase.to_sym, [val[2]]]
1068
1088
 
1069
1089
  end
1070
1090
  .,.,
1071
1091
 
1072
- module_eval(<<'.,.,', 'ddb-parser.y', 259)
1073
- def _reduce_71(val, _values)
1092
+ module_eval(<<'.,.,', 'ddb-parser.y', 267)
1093
+ def _reduce_73(val, _values)
1074
1094
  [val[0], val[1].to_s.upcase.to_sym, val[2]]
1075
1095
 
1076
1096
  end
1077
1097
  .,.,
1078
1098
 
1079
- module_eval(<<'.,.,', 'ddb-parser.y', 263)
1080
- def _reduce_72(val, _values)
1099
+ module_eval(<<'.,.,', 'ddb-parser.y', 271)
1100
+ def _reduce_74(val, _values)
1081
1101
  [val[0], val[1].to_s.upcase.to_sym, [val[2], val[4]]]
1082
1102
 
1083
1103
  end
1084
1104
  .,.,
1085
1105
 
1086
- module_eval(<<'.,.,', 'ddb-parser.y', 267)
1087
- def _reduce_73(val, _values)
1106
+ module_eval(<<'.,.,', 'ddb-parser.y', 275)
1107
+ def _reduce_75(val, _values)
1088
1108
  [val[0], val[2].to_s.upcase.to_sym, []]
1089
1109
 
1090
1110
  end
1091
1111
  .,.,
1092
1112
 
1093
- # reduce 74 omitted
1113
+ # reduce 76 omitted
1094
1114
 
1095
- # reduce 75 omitted
1115
+ # reduce 77 omitted
1096
1116
 
1097
- module_eval(<<'.,.,', 'ddb-parser.y', 273)
1098
- def _reduce_76(val, _values)
1117
+ module_eval(<<'.,.,', 'ddb-parser.y', 281)
1118
+ def _reduce_78(val, _values)
1099
1119
  :NE
1100
1120
 
1101
1121
  end
1102
1122
  .,.,
1103
1123
 
1104
- # reduce 77 omitted
1124
+ # reduce 79 omitted
1105
1125
 
1106
- module_eval(<<'.,.,', 'ddb-parser.y', 279)
1107
- def _reduce_78(val, _values)
1126
+ module_eval(<<'.,.,', 'ddb-parser.y', 287)
1127
+ def _reduce_80(val, _values)
1108
1128
  :NOT_CONTAINS
1109
1129
 
1110
1130
  end
1111
1131
  .,.,
1112
1132
 
1113
- module_eval(<<'.,.,', 'ddb-parser.y', 283)
1114
- def _reduce_79(val, _values)
1133
+ module_eval(<<'.,.,', 'ddb-parser.y', 291)
1134
+ def _reduce_81(val, _values)
1115
1135
  :NULL
1116
1136
 
1117
1137
  end
1118
1138
  .,.,
1119
1139
 
1120
- module_eval(<<'.,.,', 'ddb-parser.y', 287)
1121
- def _reduce_80(val, _values)
1140
+ module_eval(<<'.,.,', 'ddb-parser.y', 295)
1141
+ def _reduce_82(val, _values)
1122
1142
  :NOT_NULL
1123
1143
 
1124
1144
  end
1125
1145
  .,.,
1126
1146
 
1127
- # reduce 81 omitted
1147
+ # reduce 83 omitted
1128
1148
 
1129
- module_eval(<<'.,.,', 'ddb-parser.y', 293)
1130
- def _reduce_82(val, _values)
1149
+ module_eval(<<'.,.,', 'ddb-parser.y', 301)
1150
+ def _reduce_84(val, _values)
1131
1151
  true
1132
1152
 
1133
1153
  end
1134
1154
  .,.,
1135
1155
 
1136
- module_eval(<<'.,.,', 'ddb-parser.y', 297)
1137
- def _reduce_83(val, _values)
1156
+ module_eval(<<'.,.,', 'ddb-parser.y', 305)
1157
+ def _reduce_85(val, _values)
1138
1158
  false
1139
1159
 
1140
1160
  end
1141
1161
  .,.,
1142
1162
 
1143
- # reduce 84 omitted
1163
+ # reduce 86 omitted
1144
1164
 
1145
- module_eval(<<'.,.,', 'ddb-parser.y', 303)
1146
- def _reduce_85(val, _values)
1165
+ module_eval(<<'.,.,', 'ddb-parser.y', 311)
1166
+ def _reduce_87(val, _values)
1147
1167
  val[1]
1148
1168
 
1149
1169
  end
1150
1170
  .,.,
1151
1171
 
1152
- module_eval(<<'.,.,', 'ddb-parser.y', 308)
1153
- def _reduce_86(val, _values)
1172
+ module_eval(<<'.,.,', 'ddb-parser.y', 316)
1173
+ def _reduce_88(val, _values)
1154
1174
  struct(:UPDATE, :table => val[1], :action => val[2], :attrs => val[3], :conds => val[4])
1155
1175
 
1156
1176
  end
1157
1177
  .,.,
1158
1178
 
1159
- module_eval(<<'.,.,', 'ddb-parser.y', 312)
1160
- def _reduce_87(val, _values)
1179
+ module_eval(<<'.,.,', 'ddb-parser.y', 320)
1180
+ def _reduce_89(val, _values)
1161
1181
  struct(:UPDATE_ALL, :table => val[2], :action => val[3], :attrs => val[4], :conds => val[5], :limit => val[6])
1162
1182
 
1163
1183
  end
1164
1184
  .,.,
1165
1185
 
1166
- module_eval(<<'.,.,', 'ddb-parser.y', 317)
1167
- def _reduce_88(val, _values)
1186
+ module_eval(<<'.,.,', 'ddb-parser.y', 325)
1187
+ def _reduce_90(val, _values)
1168
1188
  :PUT
1169
1189
 
1170
1190
  end
1171
1191
  .,.,
1172
1192
 
1173
- module_eval(<<'.,.,', 'ddb-parser.y', 321)
1174
- def _reduce_89(val, _values)
1193
+ module_eval(<<'.,.,', 'ddb-parser.y', 329)
1194
+ def _reduce_91(val, _values)
1175
1195
  :ADD
1176
1196
 
1177
1197
  end
1178
1198
  .,.,
1179
1199
 
1180
- module_eval(<<'.,.,', 'ddb-parser.y', 326)
1181
- def _reduce_90(val, _values)
1200
+ module_eval(<<'.,.,', 'ddb-parser.y', 334)
1201
+ def _reduce_92(val, _values)
1182
1202
  [val[0]]
1183
1203
 
1184
1204
  end
1185
1205
  .,.,
1186
1206
 
1187
- module_eval(<<'.,.,', 'ddb-parser.y', 330)
1188
- def _reduce_91(val, _values)
1207
+ module_eval(<<'.,.,', 'ddb-parser.y', 338)
1208
+ def _reduce_93(val, _values)
1189
1209
  val[0] + [val[2]]
1190
1210
 
1191
1211
  end
1192
1212
  .,.,
1193
1213
 
1194
- module_eval(<<'.,.,', 'ddb-parser.y', 335)
1195
- def _reduce_92(val, _values)
1214
+ module_eval(<<'.,.,', 'ddb-parser.y', 343)
1215
+ def _reduce_94(val, _values)
1196
1216
  [val[0], val[2]]
1197
1217
 
1198
1218
  end
1199
1219
  .,.,
1200
1220
 
1201
- module_eval(<<'.,.,', 'ddb-parser.y', 340)
1202
- def _reduce_93(val, _values)
1221
+ module_eval(<<'.,.,', 'ddb-parser.y', 348)
1222
+ def _reduce_95(val, _values)
1203
1223
  val[1]
1204
1224
 
1205
1225
  end
1206
1226
  .,.,
1207
1227
 
1208
- module_eval(<<'.,.,', 'ddb-parser.y', 345)
1209
- def _reduce_94(val, _values)
1228
+ module_eval(<<'.,.,', 'ddb-parser.y', 353)
1229
+ def _reduce_96(val, _values)
1210
1230
  [val[0]]
1211
1231
 
1212
1232
  end
1213
1233
  .,.,
1214
1234
 
1215
- module_eval(<<'.,.,', 'ddb-parser.y', 349)
1216
- def _reduce_95(val, _values)
1235
+ module_eval(<<'.,.,', 'ddb-parser.y', 357)
1236
+ def _reduce_97(val, _values)
1217
1237
  val[0] + [val[2]]
1218
1238
 
1219
1239
  end
1220
1240
  .,.,
1221
1241
 
1222
- module_eval(<<'.,.,', 'ddb-parser.y', 354)
1223
- def _reduce_96(val, _values)
1242
+ module_eval(<<'.,.,', 'ddb-parser.y', 362)
1243
+ def _reduce_98(val, _values)
1224
1244
  [val[0], val[2]]
1225
1245
 
1226
1246
  end
1227
1247
  .,.,
1228
1248
 
1229
- module_eval(<<'.,.,', 'ddb-parser.y', 359)
1230
- def _reduce_97(val, _values)
1249
+ module_eval(<<'.,.,', 'ddb-parser.y', 367)
1250
+ def _reduce_99(val, _values)
1231
1251
  struct(:DELETE, :table => val[2], :conds => val[3])
1232
1252
 
1233
1253
  end
1234
1254
  .,.,
1235
1255
 
1236
- module_eval(<<'.,.,', 'ddb-parser.y', 363)
1237
- def _reduce_98(val, _values)
1256
+ module_eval(<<'.,.,', 'ddb-parser.y', 371)
1257
+ def _reduce_100(val, _values)
1238
1258
  struct(:DELETE_ALL, :table => val[3], :conds => val[4], :limit => val[5])
1239
1259
 
1240
1260
  end
1241
1261
  .,.,
1242
1262
 
1243
- module_eval(<<'.,.,', 'ddb-parser.y', 368)
1244
- def _reduce_99(val, _values)
1263
+ module_eval(<<'.,.,', 'ddb-parser.y', 376)
1264
+ def _reduce_101(val, _values)
1245
1265
  struct(:INSERT, :table => val[2], :attrs => val[4], :values => val[7])
1246
1266
 
1247
1267
  end
1248
1268
  .,.,
1249
1269
 
1250
- module_eval(<<'.,.,', 'ddb-parser.y', 373)
1251
- def _reduce_100(val, _values)
1270
+ module_eval(<<'.,.,', 'ddb-parser.y', 381)
1271
+ def _reduce_102(val, _values)
1252
1272
  [val[0]]
1253
1273
 
1254
1274
  end
1255
1275
  .,.,
1256
1276
 
1257
- module_eval(<<'.,.,', 'ddb-parser.y', 377)
1258
- def _reduce_101(val, _values)
1277
+ module_eval(<<'.,.,', 'ddb-parser.y', 385)
1278
+ def _reduce_103(val, _values)
1259
1279
  val[0] + [val[2]]
1260
1280
 
1261
1281
  end
1262
1282
  .,.,
1263
1283
 
1264
- module_eval(<<'.,.,', 'ddb-parser.y', 382)
1265
- def _reduce_102(val, _values)
1284
+ module_eval(<<'.,.,', 'ddb-parser.y', 390)
1285
+ def _reduce_104(val, _values)
1266
1286
  [val[1]]
1267
1287
 
1268
1288
  end
1269
1289
  .,.,
1270
1290
 
1271
- module_eval(<<'.,.,', 'ddb-parser.y', 386)
1272
- def _reduce_103(val, _values)
1291
+ module_eval(<<'.,.,', 'ddb-parser.y', 394)
1292
+ def _reduce_105(val, _values)
1273
1293
  val[0] + [val[3]]
1274
1294
 
1275
1295
  end
1276
1296
  .,.,
1277
1297
 
1278
- module_eval(<<'.,.,', 'ddb-parser.y', 391)
1279
- def _reduce_104(val, _values)
1298
+ module_eval(<<'.,.,', 'ddb-parser.y', 399)
1299
+ def _reduce_106(val, _values)
1280
1300
  [val[0]]
1281
1301
 
1282
1302
  end
1283
1303
  .,.,
1284
1304
 
1285
- module_eval(<<'.,.,', 'ddb-parser.y', 395)
1286
- def _reduce_105(val, _values)
1305
+ module_eval(<<'.,.,', 'ddb-parser.y', 403)
1306
+ def _reduce_107(val, _values)
1287
1307
  val[0] + [val[2]]
1288
1308
 
1289
1309
  end
1290
1310
  .,.,
1291
1311
 
1292
- module_eval(<<'.,.,', 'ddb-parser.y', 400)
1293
- def _reduce_106(val, _values)
1312
+ module_eval(<<'.,.,', 'ddb-parser.y', 408)
1313
+ def _reduce_108(val, _values)
1294
1314
  struct(:NEXT)
1295
1315
 
1296
1316
  end
1297
1317
  .,.,
1298
1318
 
1299
- # reduce 107 omitted
1300
-
1301
- # reduce 108 omitted
1302
-
1303
1319
  # reduce 109 omitted
1304
1320
 
1305
1321
  # reduce 110 omitted
@@ -1310,64 +1326,68 @@ module_eval(<<'.,.,', 'ddb-parser.y', 400)
1310
1326
 
1311
1327
  # reduce 113 omitted
1312
1328
 
1313
- module_eval(<<'.,.,', 'ddb-parser.y', 414)
1314
- def _reduce_114(val, _values)
1329
+ # reduce 114 omitted
1330
+
1331
+ # reduce 115 omitted
1332
+
1333
+ module_eval(<<'.,.,', 'ddb-parser.y', 422)
1334
+ def _reduce_116(val, _values)
1315
1335
  val[1]
1316
1336
 
1317
1337
  end
1318
1338
  .,.,
1319
1339
 
1320
- module_eval(<<'.,.,', 'ddb-parser.y', 418)
1321
- def _reduce_115(val, _values)
1340
+ module_eval(<<'.,.,', 'ddb-parser.y', 426)
1341
+ def _reduce_117(val, _values)
1322
1342
  val[1]
1323
1343
 
1324
1344
  end
1325
1345
  .,.,
1326
1346
 
1327
- module_eval(<<'.,.,', 'ddb-parser.y', 422)
1328
- def _reduce_116(val, _values)
1347
+ module_eval(<<'.,.,', 'ddb-parser.y', 430)
1348
+ def _reduce_118(val, _values)
1329
1349
  val[1]
1330
1350
 
1331
1351
  end
1332
1352
  .,.,
1333
1353
 
1334
- module_eval(<<'.,.,', 'ddb-parser.y', 427)
1335
- def _reduce_117(val, _values)
1354
+ module_eval(<<'.,.,', 'ddb-parser.y', 435)
1355
+ def _reduce_119(val, _values)
1336
1356
  [val[0]]
1337
1357
 
1338
1358
  end
1339
1359
  .,.,
1340
1360
 
1341
- module_eval(<<'.,.,', 'ddb-parser.y', 431)
1342
- def _reduce_118(val, _values)
1361
+ module_eval(<<'.,.,', 'ddb-parser.y', 439)
1362
+ def _reduce_120(val, _values)
1343
1363
  val[0] + [val[2]]
1344
1364
 
1345
1365
  end
1346
1366
  .,.,
1347
1367
 
1348
- module_eval(<<'.,.,', 'ddb-parser.y', 436)
1349
- def _reduce_119(val, _values)
1368
+ module_eval(<<'.,.,', 'ddb-parser.y', 444)
1369
+ def _reduce_121(val, _values)
1350
1370
  [val[0]]
1351
1371
 
1352
1372
  end
1353
1373
  .,.,
1354
1374
 
1355
- module_eval(<<'.,.,', 'ddb-parser.y', 440)
1356
- def _reduce_120(val, _values)
1375
+ module_eval(<<'.,.,', 'ddb-parser.y', 448)
1376
+ def _reduce_122(val, _values)
1357
1377
  val[0] + [val[2]]
1358
1378
 
1359
1379
  end
1360
1380
  .,.,
1361
1381
 
1362
- module_eval(<<'.,.,', 'ddb-parser.y', 445)
1363
- def _reduce_121(val, _values)
1382
+ module_eval(<<'.,.,', 'ddb-parser.y', 453)
1383
+ def _reduce_123(val, _values)
1364
1384
  [val[0]]
1365
1385
 
1366
1386
  end
1367
1387
  .,.,
1368
1388
 
1369
- module_eval(<<'.,.,', 'ddb-parser.y', 449)
1370
- def _reduce_122(val, _values)
1389
+ module_eval(<<'.,.,', 'ddb-parser.y', 457)
1390
+ def _reduce_124(val, _values)
1371
1391
  val[0] + [val[2]]
1372
1392
 
1373
1393
  end