ddbcli 0.3.7 → 0.3.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -3
- data/lib/ddbcli/cli/help.rb +3 -0
- data/lib/ddbcli/ddb-driver.rb +46 -6
- data/lib/ddbcli/ddb-parser.tab.rb +602 -591
- data/lib/ddbcli/ddb-parser.y +7 -1
- data/lib/ddbcli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0043de0270c140bdb072514660ae8f066f151f6e
|
4
|
+
data.tar.gz: e38be5ea35a5e423137a942791aef4c27a637375
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02701f2b2218109a15ff333137902518399aed9b62adc3fce54a34893e9b757f1903a0bae90046ceab58ab2c89330afb9ed26c90657f17589b59c02a99ab1b20
|
7
|
+
data.tar.gz: f9dd54e271ace36069517e1322d5cad66433a43ebcfc5cfd92513f6352c0440a0ef0e5cdab1de6ba2822318978d105f60e0220642df7e9ffd5fd0f94f20396ad
|
data/README.md
CHANGED
@@ -11,11 +11,11 @@ ddbcli is an interactive command-line client of Amazon DynamoDB.
|
|
11
11
|
|
12
12
|
If you are not using RubyGems, you can use the script files that depend on only Ruby.
|
13
13
|
|
14
|
-
[ddbcli-0.3.
|
14
|
+
[ddbcli-0.3.8](https://bitbucket.org/winebarrel/ddbcli/downloads/ddbcli-0.3.8)
|
15
15
|
|
16
16
|
```sh
|
17
|
-
wget https://bitbucket.org/winebarrel/ddbcli/downloads/ddbcli-0.3.
|
18
|
-
mv ddbcli-0.3.
|
17
|
+
wget https://bitbucket.org/winebarrel/ddbcli/downloads/ddbcli-0.3.8
|
18
|
+
mv ddbcli-0.3.8 ddbcli
|
19
19
|
chmod 755 ddbcli
|
20
20
|
./ddbcli # show prompt
|
21
21
|
```
|
@@ -108,6 +108,9 @@ DROP TABLE table_name [, table_name2, ...]
|
|
108
108
|
ALTER TABLE table_name READ = num WRITE = num
|
109
109
|
updates the provisioned throughput
|
110
110
|
|
111
|
+
ALTER TABLE table_name CHANGE INDEX index_name READ = num WRITE = num
|
112
|
+
updates GSI provisioned throughput
|
113
|
+
|
111
114
|
GET {*|attr1,attr2,...} FROM table_name WHERE key1 = '...' AND ...
|
112
115
|
gets items
|
113
116
|
|
data/lib/ddbcli/cli/help.rb
CHANGED
@@ -37,6 +37,9 @@ DROP TABLE table_name [, table_name2, ...]
|
|
37
37
|
ALTER TABLE table_name READ = num WRITE = num
|
38
38
|
updates the provisioned throughput
|
39
39
|
|
40
|
+
ALTER TABLE table_name CHANGE INDEX index_name READ = num WRITE = num
|
41
|
+
updates GSI provisioned throughput
|
42
|
+
|
40
43
|
GET {*|attr1,attr2,...} FROM table_name WHERE key1 = '...' AND ...
|
41
44
|
gets items
|
42
45
|
|
data/lib/ddbcli/ddb-driver.rb
CHANGED
@@ -212,6 +212,37 @@ module DynamoDB
|
|
212
212
|
%w(ReadCapacityUnits WriteCapacityUnits).each do |i|
|
213
213
|
h[table_name][i] = provisioned_throughput[i]
|
214
214
|
end
|
215
|
+
|
216
|
+
lsis = table_info.fetch('LocalSecondaryIndexes', [])
|
217
|
+
|
218
|
+
unless lsis.empty?
|
219
|
+
lsi_h = h[table_name]['LocalSecondaryIndexes'] = {}
|
220
|
+
|
221
|
+
lsis.each do |lsi|
|
222
|
+
lsi_h[lsi['IndexName']] = {
|
223
|
+
'IndexSizeBytes' => lsi['IndexSizeBytes'],
|
224
|
+
'ItemCount' => lsi['ItemCount'],
|
225
|
+
}
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
gsis = table_info.fetch('GlobalSecondaryIndexes', [])
|
230
|
+
|
231
|
+
unless gsis.empty?
|
232
|
+
gsi_h = h[table_name]['GlobalSecondaryIndexes'] = {}
|
233
|
+
|
234
|
+
gsis.each do |gsi|
|
235
|
+
gsi_h[gsi['IndexName']] = {
|
236
|
+
'IndexSizeBytes' => gsi['IndexSizeBytes'],
|
237
|
+
'IndexStatus' => gsi['IndexStatus'],
|
238
|
+
'ItemCount' => gsi['ItemCount'],
|
239
|
+
'ProvisionedThroughput' => {
|
240
|
+
'ReadCapacityUnits' => gsi['ProvisionedThroughput']['ReadCapacityUnits'],
|
241
|
+
'WriteCapacityUnits' => gsi['ProvisionedThroughput']['WriteCapacityUnits'],
|
242
|
+
},
|
243
|
+
}
|
244
|
+
end
|
245
|
+
end
|
215
246
|
end
|
216
247
|
|
217
248
|
return h
|
@@ -319,14 +350,23 @@ module DynamoDB
|
|
319
350
|
end
|
320
351
|
|
321
352
|
def do_alter_table(parsed)
|
322
|
-
req_hash = {
|
323
|
-
|
324
|
-
'
|
325
|
-
|
326
|
-
'WriteCapacityUnits' => parsed.capacity[:write],
|
327
|
-
},
|
353
|
+
req_hash = {'TableName' => parsed.table}
|
354
|
+
throughput = {
|
355
|
+
'ReadCapacityUnits' => parsed.capacity[:read],
|
356
|
+
'WriteCapacityUnits' => parsed.capacity[:write]
|
328
357
|
}
|
329
358
|
|
359
|
+
if parsed.index_name
|
360
|
+
req_hash['GlobalSecondaryIndexUpdates'] = [{
|
361
|
+
'Update' => {
|
362
|
+
'IndexName' => parsed.index_name,
|
363
|
+
'ProvisionedThroughput' => throughput,
|
364
|
+
},
|
365
|
+
}]
|
366
|
+
else
|
367
|
+
req_hash['ProvisionedThroughput'] = throughput
|
368
|
+
end
|
369
|
+
|
330
370
|
@client.query('UpdateTable', req_hash)
|
331
371
|
nil
|
332
372
|
end
|