ddbcli 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|