ddbcli 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,313 @@
1
+ describe 'ddbcli' do
2
+ context 'update' do
3
+ before do
4
+ ddbcli(<<-'EOS')
5
+ CREATE TABLE `employees` (
6
+ `emp_no` NUMBER HASH,
7
+ `birth_date` STRING RANGE
8
+ ) read=2 write=2;
9
+
10
+ INSERT INTO `employees`
11
+ (`birth_date`, `emp_no`, `first_name`, `gender`, `hire_date`, `last_name`)
12
+ VALUES
13
+ ("1956-05-15",2,"Cathie","M","1997-04-11","Keohane"),
14
+ ("1957-09-16",4,"Aemilian","M","1990-09-25","Roccetti"),
15
+ ("1959-07-01",4,"Dayanand","M","1989-09-01","Waterhouse"),
16
+ ("1964-12-29",7,"Mack","F","1988-02-25","Hambrick"),
17
+ ("1962-07-06",4,"Tristan","M","1985-07-20","Biran"),
18
+ ("1964-04-30",2,"Akhilish","F","1985-03-21","Isaak"),
19
+ ("1963-07-14",1,"Katsuyuki","F","1989-12-28","Weedon"),
20
+ ("1961-10-19",2,"Collette","M","1993-02-26","Ghemri"),
21
+ ("1955-04-26",4,"Zine","M","1991-06-19","Butner"),
22
+ ("1961-04-28",4,"Selwyn","F","1994-08-12","Parascandalo");
23
+ EOS
24
+ end
25
+
26
+ it 'update by pk' do
27
+ ddbcli('update employees set hire_date = "1977-11-11", foo = "bar" where emp_no = 4 and birth_date = "1961-04-28"')
28
+ out = ddbcli('select all * from employees')
29
+ out = JSON.parse(out)
30
+
31
+ expect(out).to eq(
32
+ [{"birth_date"=>"1956-05-15",
33
+ "emp_no"=>2,
34
+ "first_name"=>"Cathie",
35
+ "gender"=>"M",
36
+ "hire_date"=>"1997-04-11",
37
+ "last_name"=>"Keohane"},
38
+ {"birth_date"=>"1961-10-19",
39
+ "emp_no"=>2,
40
+ "first_name"=>"Collette",
41
+ "gender"=>"M",
42
+ "hire_date"=>"1993-02-26",
43
+ "last_name"=>"Ghemri"},
44
+ {"birth_date"=>"1964-04-30",
45
+ "emp_no"=>2,
46
+ "first_name"=>"Akhilish",
47
+ "gender"=>"F",
48
+ "hire_date"=>"1985-03-21",
49
+ "last_name"=>"Isaak"},
50
+ {"birth_date"=>"1963-07-14",
51
+ "emp_no"=>1,
52
+ "first_name"=>"Katsuyuki",
53
+ "gender"=>"F",
54
+ "hire_date"=>"1989-12-28",
55
+ "last_name"=>"Weedon"},
56
+ {"birth_date"=>"1964-12-29",
57
+ "emp_no"=>7,
58
+ "first_name"=>"Mack",
59
+ "gender"=>"F",
60
+ "hire_date"=>"1988-02-25",
61
+ "last_name"=>"Hambrick"},
62
+ {"birth_date"=>"1955-04-26",
63
+ "emp_no"=>4,
64
+ "first_name"=>"Zine",
65
+ "gender"=>"M",
66
+ "hire_date"=>"1991-06-19",
67
+ "last_name"=>"Butner"},
68
+ {"birth_date"=>"1957-09-16",
69
+ "emp_no"=>4,
70
+ "first_name"=>"Aemilian",
71
+ "gender"=>"M",
72
+ "hire_date"=>"1990-09-25",
73
+ "last_name"=>"Roccetti"},
74
+ {"birth_date"=>"1959-07-01",
75
+ "emp_no"=>4,
76
+ "first_name"=>"Dayanand",
77
+ "gender"=>"M",
78
+ "hire_date"=>"1989-09-01",
79
+ "last_name"=>"Waterhouse"},
80
+ {"birth_date"=>"1961-04-28",
81
+ "emp_no"=>4,
82
+ "first_name"=>"Selwyn",
83
+ "foo"=>"bar",
84
+ "gender"=>"F",
85
+ "hire_date"=>"1977-11-11",
86
+ "last_name"=>"Parascandalo"},
87
+ {"birth_date"=>"1962-07-06",
88
+ "emp_no"=>4,
89
+ "first_name"=>"Tristan",
90
+ "gender"=>"M",
91
+ "hire_date"=>"1985-07-20",
92
+ "last_name"=>"Biran"}]
93
+ )
94
+ end
95
+
96
+ it 'update all' do
97
+ ddbcli('update all employees set hire_date = "1977-11-11", foo = "bar" where gender = "F"')
98
+ out = ddbcli('select all * from employees')
99
+ out = JSON.parse(out)
100
+
101
+ expect(out).to eq(
102
+ [{"birth_date"=>"1956-05-15",
103
+ "emp_no"=>2,
104
+ "first_name"=>"Cathie",
105
+ "gender"=>"M",
106
+ "hire_date"=>"1997-04-11",
107
+ "last_name"=>"Keohane"},
108
+ {"birth_date"=>"1961-10-19",
109
+ "emp_no"=>2,
110
+ "first_name"=>"Collette",
111
+ "gender"=>"M",
112
+ "hire_date"=>"1993-02-26",
113
+ "last_name"=>"Ghemri"},
114
+ {"birth_date"=>"1964-04-30",
115
+ "emp_no"=>2,
116
+ "first_name"=>"Akhilish",
117
+ "foo"=>"bar",
118
+ "gender"=>"F",
119
+ "hire_date"=>"1977-11-11",
120
+ "last_name"=>"Isaak"},
121
+ {"birth_date"=>"1963-07-14",
122
+ "emp_no"=>1,
123
+ "first_name"=>"Katsuyuki",
124
+ "foo"=>"bar",
125
+ "gender"=>"F",
126
+ "hire_date"=>"1977-11-11",
127
+ "last_name"=>"Weedon"},
128
+ {"birth_date"=>"1964-12-29",
129
+ "emp_no"=>7,
130
+ "first_name"=>"Mack",
131
+ "foo"=>"bar",
132
+ "gender"=>"F",
133
+ "hire_date"=>"1977-11-11",
134
+ "last_name"=>"Hambrick"},
135
+ {"birth_date"=>"1955-04-26",
136
+ "emp_no"=>4,
137
+ "first_name"=>"Zine",
138
+ "gender"=>"M",
139
+ "hire_date"=>"1991-06-19",
140
+ "last_name"=>"Butner"},
141
+ {"birth_date"=>"1957-09-16",
142
+ "emp_no"=>4,
143
+ "first_name"=>"Aemilian",
144
+ "gender"=>"M",
145
+ "hire_date"=>"1990-09-25",
146
+ "last_name"=>"Roccetti"},
147
+ {"birth_date"=>"1959-07-01",
148
+ "emp_no"=>4,
149
+ "first_name"=>"Dayanand",
150
+ "gender"=>"M",
151
+ "hire_date"=>"1989-09-01",
152
+ "last_name"=>"Waterhouse"},
153
+ {"birth_date"=>"1961-04-28",
154
+ "emp_no"=>4,
155
+ "first_name"=>"Selwyn",
156
+ "foo"=>"bar",
157
+ "gender"=>"F",
158
+ "hire_date"=>"1977-11-11",
159
+ "last_name"=>"Parascandalo"},
160
+ {"birth_date"=>"1962-07-06",
161
+ "emp_no"=>4,
162
+ "first_name"=>"Tristan",
163
+ "gender"=>"M",
164
+ "hire_date"=>"1985-07-20",
165
+ "last_name"=>"Biran"}]
166
+ )
167
+ end
168
+
169
+ it 'update add' do
170
+ ddbcli('update all employees set foo = 500')
171
+ ddbcli('update all employees add foo = 1000 where gender = "F"')
172
+ out = ddbcli('select all * from employees')
173
+ out = JSON.parse(out)
174
+
175
+ expect(out).to eq(
176
+ [{"birth_date"=>"1956-05-15",
177
+ "emp_no"=>2,
178
+ "first_name"=>"Cathie",
179
+ "foo"=>500,
180
+ "gender"=>"M",
181
+ "hire_date"=>"1997-04-11",
182
+ "last_name"=>"Keohane"},
183
+ {"birth_date"=>"1961-10-19",
184
+ "emp_no"=>2,
185
+ "first_name"=>"Collette",
186
+ "foo"=>500,
187
+ "gender"=>"M",
188
+ "hire_date"=>"1993-02-26",
189
+ "last_name"=>"Ghemri"},
190
+ {"birth_date"=>"1964-04-30",
191
+ "emp_no"=>2,
192
+ "first_name"=>"Akhilish",
193
+ "foo"=>1500,
194
+ "gender"=>"F",
195
+ "hire_date"=>"1985-03-21",
196
+ "last_name"=>"Isaak"},
197
+ {"birth_date"=>"1963-07-14",
198
+ "emp_no"=>1,
199
+ "first_name"=>"Katsuyuki",
200
+ "foo"=>1500,
201
+ "gender"=>"F",
202
+ "hire_date"=>"1989-12-28",
203
+ "last_name"=>"Weedon"},
204
+ {"birth_date"=>"1964-12-29",
205
+ "emp_no"=>7,
206
+ "first_name"=>"Mack",
207
+ "foo"=>1500,
208
+ "gender"=>"F",
209
+ "hire_date"=>"1988-02-25",
210
+ "last_name"=>"Hambrick"},
211
+ {"birth_date"=>"1955-04-26",
212
+ "emp_no"=>4,
213
+ "first_name"=>"Zine",
214
+ "foo"=>500,
215
+ "gender"=>"M",
216
+ "hire_date"=>"1991-06-19",
217
+ "last_name"=>"Butner"},
218
+ {"birth_date"=>"1957-09-16",
219
+ "emp_no"=>4,
220
+ "first_name"=>"Aemilian",
221
+ "foo"=>500,
222
+ "gender"=>"M",
223
+ "hire_date"=>"1990-09-25",
224
+ "last_name"=>"Roccetti"},
225
+ {"birth_date"=>"1959-07-01",
226
+ "emp_no"=>4,
227
+ "first_name"=>"Dayanand",
228
+ "foo"=>500,
229
+ "gender"=>"M",
230
+ "hire_date"=>"1989-09-01",
231
+ "last_name"=>"Waterhouse"},
232
+ {"birth_date"=>"1961-04-28",
233
+ "emp_no"=>4,
234
+ "first_name"=>"Selwyn",
235
+ "foo"=>1500,
236
+ "gender"=>"F",
237
+ "hire_date"=>"1994-08-12",
238
+ "last_name"=>"Parascandalo"},
239
+ {"birth_date"=>"1962-07-06",
240
+ "emp_no"=>4,
241
+ "first_name"=>"Tristan",
242
+ "foo"=>500,
243
+ "gender"=>"M",
244
+ "hire_date"=>"1985-07-20",
245
+ "last_name"=>"Biran"}]
246
+ )
247
+ end
248
+
249
+ it 'update delete' do
250
+ ddbcli('update all employees set hire_date = null where gender = "M"')
251
+ out = ddbcli('select all * from employees')
252
+ out = JSON.parse(out)
253
+
254
+ expect(out).to eq(
255
+ [{"birth_date"=>"1956-05-15",
256
+ "emp_no"=>2,
257
+ "first_name"=>"Cathie",
258
+ "gender"=>"M",
259
+ "last_name"=>"Keohane"},
260
+ {"birth_date"=>"1961-10-19",
261
+ "emp_no"=>2,
262
+ "first_name"=>"Collette",
263
+ "gender"=>"M",
264
+ "last_name"=>"Ghemri"},
265
+ {"birth_date"=>"1964-04-30",
266
+ "emp_no"=>2,
267
+ "first_name"=>"Akhilish",
268
+ "gender"=>"F",
269
+ "hire_date"=>"1985-03-21",
270
+ "last_name"=>"Isaak"},
271
+ {"birth_date"=>"1963-07-14",
272
+ "emp_no"=>1,
273
+ "first_name"=>"Katsuyuki",
274
+ "gender"=>"F",
275
+ "hire_date"=>"1989-12-28",
276
+ "last_name"=>"Weedon"},
277
+ {"birth_date"=>"1964-12-29",
278
+ "emp_no"=>7,
279
+ "first_name"=>"Mack",
280
+ "gender"=>"F",
281
+ "hire_date"=>"1988-02-25",
282
+ "last_name"=>"Hambrick"},
283
+ {"birth_date"=>"1955-04-26",
284
+ "emp_no"=>4,
285
+ "first_name"=>"Zine",
286
+ "gender"=>"M",
287
+ "last_name"=>"Butner"},
288
+ {"birth_date"=>"1957-09-16",
289
+ "emp_no"=>4,
290
+ "first_name"=>"Aemilian",
291
+ "gender"=>"M",
292
+ "last_name"=>"Roccetti"},
293
+ {"birth_date"=>"1959-07-01",
294
+ "emp_no"=>4,
295
+ "first_name"=>"Dayanand",
296
+ "gender"=>"M",
297
+ "last_name"=>"Waterhouse"},
298
+ {"birth_date"=>"1961-04-28",
299
+ "emp_no"=>4,
300
+ "first_name"=>"Selwyn",
301
+ "gender"=>"F",
302
+ "hire_date"=>"1994-08-12",
303
+ "last_name"=>"Parascandalo"},
304
+ {"birth_date"=>"1962-07-06",
305
+ "emp_no"=>4,
306
+ "first_name"=>"Tristan",
307
+ "gender"=>"M",
308
+ "last_name"=>"Biran"}]
309
+ )
310
+ end
311
+
312
+ end
313
+ end
metadata CHANGED
@@ -1,38 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddbcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
- - winebarrel
7
+ - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-13 00:00:00.000000000 Z
11
+ date: 2013-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- description:
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.14.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.14.1
69
+ description: ddbcli is an interactive command-line client of Amazon DynamoDB.
28
70
  email: sgwr_dts@yahoo.co.jp
29
71
  executables:
30
72
  - ddbcli
31
73
  extensions: []
32
74
  extra_rdoc_files: []
33
75
  files:
34
- - README
76
+ - .gitignore
77
+ - .rspec
78
+ - Gemfile
79
+ - LICENSE.txt
80
+ - README.md
81
+ - Rakefile
35
82
  - bin/ddbcli
83
+ - ddbcli.gemspec
84
+ - lib/ddbcli.rb
36
85
  - lib/ddbcli/cli/evaluate.rb
37
86
  - lib/ddbcli/cli/functions.rb
38
87
  - lib/ddbcli/cli/help.rb
@@ -46,9 +95,16 @@ files:
46
95
  - lib/ddbcli/ddb-parser.tab.rb
47
96
  - lib/ddbcli/ddb-parser.y
48
97
  - lib/ddbcli/ddb-rubyext.rb
49
- - lib/ddbcli.rb
98
+ - lib/ddbcli/version.rb
99
+ - spec/ddbcli_spec.rb
100
+ - spec/delete_spec.rb
101
+ - spec/insert_spec.rb
102
+ - spec/select_spec.rb
103
+ - spec/spec_helper.rb
104
+ - spec/update_spec.rb
50
105
  homepage: https://bitbucket.org/winebarrel/ddbcli
51
- licenses: []
106
+ licenses:
107
+ - MIT
52
108
  metadata: {}
53
109
  post_install_message:
54
110
  rdoc_options: []
@@ -56,18 +112,24 @@ require_paths:
56
112
  - lib
57
113
  required_ruby_version: !ruby/object:Gem::Requirement
58
114
  requirements:
59
- - - ! '>='
115
+ - - '>='
60
116
  - !ruby/object:Gem::Version
61
117
  version: '0'
62
118
  required_rubygems_version: !ruby/object:Gem::Requirement
63
119
  requirements:
64
- - - ! '>='
120
+ - - '>='
65
121
  - !ruby/object:Gem::Version
66
122
  version: '0'
67
123
  requirements: []
68
124
  rubyforge_project:
69
- rubygems_version: 2.1.11
125
+ rubygems_version: 2.1.8
70
126
  signing_key:
71
127
  specification_version: 4
72
128
  summary: ddbcli is an interactive command-line client of Amazon DynamoDB.
73
- test_files: []
129
+ test_files:
130
+ - spec/ddbcli_spec.rb
131
+ - spec/delete_spec.rb
132
+ - spec/insert_spec.rb
133
+ - spec/select_spec.rb
134
+ - spec/spec_helper.rb
135
+ - spec/update_spec.rb
data/README DELETED
@@ -1,185 +0,0 @@
1
- = ddbcli
2
-
3
- == Description
4
-
5
- ddbcli is an interactive command-line client of Amazon DynamoDB.
6
-
7
- == Source Code
8
-
9
- https://bitbucket.org/winebarrel/ddbcli
10
-
11
- == Install
12
-
13
- shell> gem install ddbcli
14
- shell> export AWS_ACCESS_KEY_ID='...'
15
- shell> export AWS_SECRET_ACCESS_KEY='...'
16
- shell> export DDB_REGION=ap-northeast-1
17
- shell> ddbcli -e 'show tables'
18
- [
19
- "employees"
20
- ]
21
-
22
- shell> ddbcli -h
23
- Usage: ddbcli [options]
24
- -k, --access-key=ACCESS_KEY
25
- -s, --secret-key=SECRET_KEY
26
- -r, --region=REGION_OR_ENDPOINT
27
- -e, --eval=COMMAND
28
- -t, --timeout=SECOND
29
- --import=TABLE,JSON_FILE
30
- --consistent-read
31
- --retry=NUM
32
- --retry-interval=SECOND
33
- --debug
34
- -h, --help
35
- ...
36
- shell> ddbcli # show prompt
37
-
38
- == Use DynamoDB Local
39
-
40
- ddbcli --uri localhost:8000
41
-
42
- == Help
43
-
44
- ##### Query #####
45
-
46
- SHOW TABLES [LIMIT num] [LIKE '...']
47
- displays a table list
48
-
49
- SHOW TABLE STATUS [LIKE '...']
50
- displays table statues
51
-
52
- SHOW REGIONS
53
- displays a region list
54
-
55
- SHOW CREATE TABLE table_name
56
- displays a CREATE TABLE statement
57
-
58
- CREATE TABLES table_name (
59
- key_name {STRING|NUMBER|BINARY} HASH
60
- [, key_name {STRING|NUMBER|BINARY} RANGE]
61
- [, INDEX index1_name (attr1 {STRING|NUMBER|BINARY}) {ALL|KEYS_ONLY|INCLUDE (attr, ...)}
62
- , INDEX index2_name (attr2 {STRING|NUMBER|BINARY}) {ALL|KEYS_ONLY|INCLUDE (attr, ...)}
63
- , ...]
64
- [, GLOBAL INDEX index1_name (hash_attr1 {STRING|NUMBER|BINARY} [, range_attr1 {STRING|NUMBER|BINARY}]) {ALL|KEYS_ONLY|INCLUDE (attr, ...)} [READ = num WRITE = num]
65
- , GLOBAL INDEX index2_name (hash_attr2 {STRING|NUMBER|BINARY} [, range_attr2 {STRING|NUMBER|BINARY}]) {ALL|KEYS_ONLY|INCLUDE (attr, ...)} [READ = num WRITE = num]
66
- , ...]
67
- ) READ = num WRITE = num
68
- creates a table
69
-
70
- CREATE TABLES table_name LIKE another_table_name [READ = num, WRITE = num]
71
- creates a table like another table
72
-
73
- DROP TABLE table_name
74
- deletes a table
75
-
76
- ALTER TABLE table_name READ = num, WRITE = num
77
- updates the provisioned throughput
78
-
79
- GET {*|attr1,attr2,...} FROM table_name WHERE key1 = '...' AND ...
80
- gets items
81
-
82
- INSERT INTO table_name (attr1, attr2, ...) VALUES ('val1', 'val2', ...), ('val3', 'val4', ...), ...
83
- INSERT INTO table_name SELECT ...
84
- INSERT INTO table_name SELECT ALL ...
85
- creates items
86
-
87
- UPDATE table_name {SET|ADD} attr1 = 'val1', ... WHERE key1 = '...' AND ...
88
- UPDATE ALL table_name {SET|ADD} attr1 = 'val1', ... [WHERE attr1 = '...' AND ...] [LIMIT limit]
89
- updates items
90
-
91
- DELETE FROM table_name WHERE key1 = '...' AND ..
92
- DELETE ALL FROM table_name WHERE [WHERE attr1 = '...' AND ...] [ORDER {ASC|DESC}] [LIMIT limit]
93
- deletes items
94
-
95
- SELECT {*|attr1,attr2,...|COUNT(*)} FROM table_name [USE INDEX (index_name)] [WHERE key1 = '...' AND ...] [ORDER {ASC|DESC}] [LIMIT limit]
96
- SELECT ALL {*|attr1,attr2,...|COUNT(*)} FROM table_name [WHERE attr1 = '...' AND ...] [LIMIT limit]
97
- SELECT segment/total_segments {*|attr1,attr2,...|COUNT(*)} FROM table_name [WHERE attr1 = '...' AND ...] [LIMIT limit]
98
- queries using the Query/Scan action
99
- see http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html
100
-
101
- DESC[RIBE] table_name
102
- displays information about the table
103
-
104
- USE region_or_endpoint
105
- changes an endpoint
106
-
107
- NEXT
108
- displays a continuation of a result
109
- (NEXT statement is published after SELECT statement)
110
-
111
-
112
- ##### Type #####
113
-
114
- String
115
- 'London Bridge is...', "is broken down..." ...
116
-
117
- Number
118
- 10, 100, 0.3 ...
119
-
120
- Binary
121
- x'123456789abcd...', x"123456789abcd..." ...
122
-
123
- Identifier
124
- `ABCD...` or Non-keywords
125
-
126
- Array
127
- ('String', 'String', ...), (1, 2, 3, ...)
128
-
129
-
130
- ##### Operator #####
131
-
132
- Query (SELECT)
133
- = | <= | < | >= | > | BEGINS_WITH | BETWEEN
134
- see http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html#DDB-Query-request-KeyConditions
135
-
136
- Scan (SELECT ALL)
137
- = | <> | != | <= | < | >= | > | IS NOT NULL | IS NULL | CONTAINS | NOT CONTAINS | BEGINS_WITH | IN | BETWEEN
138
- see http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html#DDB-Scan-request-ScanFilter
139
-
140
-
141
- ##### Pass to Ruby/Shell #####
142
-
143
- Ryby
144
- query | ruby_script
145
-
146
- ex) SELECT ALL * FROM employees WHERE gender = 'M' | birth_date.map {|i| Time.parse(i) };
147
- [
148
- "1957-09-16 00:00:00 +0900",
149
- "1954-12-16 00:00:00 +0900",
150
- "1964-05-23 00:00:00 +0900",
151
- ...
152
-
153
- Shell
154
- query ! shell_command
155
-
156
- ex) SELECT ALL * FROM employees LIMIT 10 ! sort;
157
- {"birth_date"=>"1957-09-16", "emp_no"=>452020,...
158
- {"birth_date"=>"1963-07-14", "emp_no"=>16998, ...
159
- {"birth_date"=>"1964-04-30", "emp_no"=>225407,...
160
- ...
161
-
162
-
163
- ##### Output to a file #####
164
-
165
- Overwrite
166
- SELECT ALL * FROM employees > 'foo.json';
167
-
168
- Append
169
- SELECT ALL * FROM employees >> 'foo.json';
170
-
171
-
172
- ##### Command #####
173
-
174
- .help displays this message
175
- .quit | .exit exits ddbcli
176
- .consistent (true|false)? displays ConsistentRead parameter or changes it
177
- .iteratable (true|false)? displays iteratable option or changes it
178
- all results are displayed if true
179
- .debug (true|false)? displays a debug status or changes it
180
- .retry NUM? displays number of times of a retry or changes it
181
- .retry_interval SECOND? displays a retry interval second or changes it
182
- .timeout SECOND? displays a timeout second or changes it
183
- .version displays a version
184
-
185
-