ddbcli 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -205,13 +205,13 @@ rule
205
205
  struct(:DESCRIBE, :table => val[1])
206
206
  }
207
207
 
208
- select_stmt : SELECT attrs_to_get FROM IDENTIFIER use_index_clause select_where_clause order_clause limit_clause
208
+ select_stmt : SELECT attrs_to_get FROM IDENTIFIER use_index_clause select_where_clause having_clause order_clause limit_clause
209
209
  {
210
- struct(:SELECT, :attrs => val[1], :table => val[3], :index => val[4], :conds => val[5], :order_asc => val[6], :limit => val[7], :count => false)
210
+ struct(:SELECT, :attrs => val[1], :table => val[3], :index => val[4], :conds => val[5], :having => val[6], :order_asc => val[7], :limit => val[8], :count => false)
211
211
  }
212
- | SELECT COUNT '(' '*' ')' FROM IDENTIFIER use_index_clause select_where_clause order_clause limit_clause
212
+ | SELECT COUNT '(' '*' ')' FROM IDENTIFIER use_index_clause select_where_clause having_clause order_clause limit_clause
213
213
  {
214
- struct(:SELECT, :attrs => [], :table => val[6], :index => val[7], :conds => val[8], :order_asc => val[9], :limit => val[10], :count => true)
214
+ struct(:SELECT, :attrs => [], :table => val[6], :index => val[7], :conds => val[8], :having => val[9], :order_asc => val[10], :limit => val[11], :count => true)
215
215
  }
216
216
 
217
217
  scan_stmt : SELECT ALL attrs_to_get FROM IDENTIFIER scan_where_clause limit_clause
@@ -372,6 +372,12 @@ rule
372
372
  val[1]
373
373
  }
374
374
 
375
+ having_clause :
376
+ | HAVING scan_expr_list
377
+ {
378
+ val[1]
379
+ }
380
+
375
381
  update_stmt : UPDATE IDENTIFIER set_or_add attr_to_update_list update_where_clause
376
382
  {
377
383
  struct(:UPDATE, :table => val[1], :action => val[2], :attrs => val[3], :conds => val[4])
@@ -557,6 +563,7 @@ KEYWORDS = %w(
557
563
  GET
558
564
  GLOBAL
559
565
  HASH
566
+ HAVING
560
567
  INCLUDE
561
568
  INDEX
562
569
  INSERT
@@ -1,5 +1,5 @@
1
1
  module DynamoDB
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
4
4
 
5
5
  Version = DynamoDB::VERSION
data/spec/spec_helper.rb CHANGED
@@ -7,20 +7,24 @@ require 'tempfile'
7
7
  end
8
8
 
9
9
  def ddbcli(input = nil, args = [])
10
+ tempfile = nil
11
+
10
12
  if input
11
- Tempfile.open('ddbcli') do |f|
12
- f << input
13
- input = f.path
14
- end
13
+ tempfile = Tempfile.open('ddbcli')
14
+ tempfile << input
15
+ tempfile.flush
16
+ tempfile.rewind
17
+ input = tempfile.path
15
18
  end
16
19
 
17
20
  cmd = File.expand_path(File.dirname(__FILE__) + '/../bin/ddbcli')
18
21
  out = nil
19
22
 
20
- args = ['--url', 'localhost:8000'] + args
23
+ args = ['--url', ENV['DYNAMODB_URL'] || 'localhost:8000'] + args
21
24
 
22
25
  if input
23
26
  out = `cat #{input} | #{cmd} #{args.join(' ')} 2>&1`
27
+ tempfile.close if tempfile
24
28
  else
25
29
  out = `#{cmd} #{args.join(' ')} 2>&1`
26
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddbcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-15 00:00:00.000000000 Z
11
+ date: 2014-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.1.8
126
+ rubygems_version: 2.0.14
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: ddbcli is an interactive command-line client of Amazon DynamoDB.