ddbcli 0.2.4 → 0.2.5
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.
- data/README +9 -0
- data/bin/ddbcli +1 -1
- data/lib/ddbcli/cli/evaluate.rb +2 -2
- data/lib/ddbcli/cli/functions.rb +2 -2
- data/lib/ddbcli/cli/help.rb +8 -0
- data/lib/ddbcli/ddb-driver.rb +6 -0
- data/lib/ddbcli/ddb-parser.tab.rb +582 -559
- data/lib/ddbcli/ddb-parser.y +11 -2
- metadata +2 -2
data/README
CHANGED
@@ -116,6 +116,9 @@ https://bitbucket.org/winebarrel/ddbcli
|
|
116
116
|
Identifier
|
117
117
|
`ABCD...` or Non-keywords
|
118
118
|
|
119
|
+
Array
|
120
|
+
('String', 'String', ...), (1, 2, 3, ...)
|
121
|
+
|
119
122
|
|
120
123
|
##### Operator #####
|
121
124
|
|
@@ -150,6 +153,12 @@ https://bitbucket.org/winebarrel/ddbcli
|
|
150
153
|
...
|
151
154
|
|
152
155
|
|
156
|
+
##### Save #####
|
157
|
+
|
158
|
+
SELECT ALL * FROM employees > 'foo.json';
|
159
|
+
SELECT ALL * FROM employees >> 'foo.json';
|
160
|
+
|
161
|
+
|
153
162
|
##### Command #####
|
154
163
|
|
155
164
|
.help displays this message
|
data/bin/ddbcli
CHANGED
data/lib/ddbcli/cli/evaluate.rb
CHANGED
@@ -30,7 +30,7 @@ def evaluate_query(driver, src, opts = {})
|
|
30
30
|
end
|
31
31
|
|
32
32
|
start_time = Time.new
|
33
|
-
out = driver.execute(query)
|
33
|
+
out = driver.execute(query, opts.merge(:inline => (tok != '\G')))
|
34
34
|
elapsed = Time.now - start_time
|
35
35
|
|
36
36
|
if out.kind_of?(DynamoDB::Driver::Rownum)
|
@@ -39,7 +39,7 @@ def evaluate_query(driver, src, opts = {})
|
|
39
39
|
puts out
|
40
40
|
elsif out
|
41
41
|
opts = opts.merge(:inline => (tok != '\G'), :time => elapsed)
|
42
|
-
print_json(out, opts)
|
42
|
+
print_json(out, $stdout, opts)
|
43
43
|
end
|
44
44
|
elsif (tok = ss.scan /./)
|
45
45
|
buf << tok # 落ち穂拾い
|
data/lib/ddbcli/cli/functions.rb
CHANGED
@@ -17,7 +17,7 @@ def print_version
|
|
17
17
|
puts "#{File.basename($0)} #{Version}"
|
18
18
|
end
|
19
19
|
|
20
|
-
def print_json(data, opts = {})
|
20
|
+
def print_json(data, out, opts = {})
|
21
21
|
str = nil
|
22
22
|
last_evaluated_key = nil
|
23
23
|
|
@@ -62,7 +62,7 @@ def print_json(data, opts = {})
|
|
62
62
|
end
|
63
63
|
|
64
64
|
str << "\n"
|
65
|
-
puts
|
65
|
+
out.puts(str)
|
66
66
|
end
|
67
67
|
|
68
68
|
def evaluate_command(driver, cmd_arg)
|
data/lib/ddbcli/cli/help.rb
CHANGED
@@ -81,6 +81,9 @@ Binary
|
|
81
81
|
Identifier
|
82
82
|
`ABCD...` or Non-keywords
|
83
83
|
|
84
|
+
Array
|
85
|
+
('String', 'String', ...), (1, 2, 3, ...)
|
86
|
+
|
84
87
|
|
85
88
|
##### Operator #####
|
86
89
|
|
@@ -114,6 +117,11 @@ Shell
|
|
114
117
|
{"birth_date"=>"1964-04-30", "emp_no"=>225407,...
|
115
118
|
...
|
116
119
|
|
120
|
+
##### Save #####
|
121
|
+
|
122
|
+
SELECT ALL * FROM employees > 'foo.json';
|
123
|
+
SELECT ALL * FROM employees >> 'foo.json';
|
124
|
+
|
117
125
|
|
118
126
|
##### Command #####
|
119
127
|
|
data/lib/ddbcli/ddb-driver.rb
CHANGED
@@ -114,6 +114,12 @@ module DynamoDB
|
|
114
114
|
f.close_write
|
115
115
|
f.read
|
116
116
|
end
|
117
|
+
when :overwrite
|
118
|
+
open(script, 'wb') {|f| print_json(retval, f, opts) }
|
119
|
+
retval = nil
|
120
|
+
when :append
|
121
|
+
open(script, 'ab') {|f| print_json(retval, f, opts) }
|
122
|
+
retval = nil
|
117
123
|
else
|
118
124
|
retval
|
119
125
|
end
|