sdbcli 0.3.2 → 0.3.3
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 +4 -1
- data/bin/sdbcli +6 -3
- data/lib/sdbcli/sdb-parser.tab.rb +100 -89
- data/lib/sdbcli/sdb-parser.y +6 -1
- data/lib/sdbcli/sdb-runner.rb +8 -1
- metadata +1 -1
data/README
CHANGED
data/bin/sdbcli
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$LOAD_PATH << File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib')
|
3
3
|
|
4
|
-
Version = '0.3.
|
4
|
+
Version = '0.3.3'
|
5
5
|
HISTORY_FILE = File.join((ENV['HOME'] || ENV['USERPROFILE'] || '.'), '.sdbcli_history')
|
6
6
|
|
7
7
|
require 'rubygems'
|
@@ -34,7 +34,7 @@ end
|
|
34
34
|
$runner = SimpleDB::Runner.new(access_key_id, secret_access_key, sdb_endpoint)
|
35
35
|
|
36
36
|
def output_error(msg)
|
37
|
-
$stderr.puts "
|
37
|
+
$stderr.puts "# #{msg}\n\n"
|
38
38
|
end
|
39
39
|
|
40
40
|
def execute(src, show_rows = false)
|
@@ -92,9 +92,12 @@ end
|
|
92
92
|
|
93
93
|
def help
|
94
94
|
<<-EOS
|
95
|
-
SHOW
|
95
|
+
SHOW DOMAINS
|
96
96
|
displays a domain list
|
97
97
|
|
98
|
+
SHOW REGIONS
|
99
|
+
displays a region list
|
100
|
+
|
98
101
|
CREATE domain domain_name
|
99
102
|
creates a domain
|
100
103
|
|
@@ -13,7 +13,7 @@ module SimpleDB
|
|
13
13
|
|
14
14
|
class Parser < Racc::Parser
|
15
15
|
|
16
|
-
module_eval(<<'...end sdb-parser.y/module_eval...', 'sdb-parser.y',
|
16
|
+
module_eval(<<'...end sdb-parser.y/module_eval...', 'sdb-parser.y', 156)
|
17
17
|
|
18
18
|
KEYWORDS = %w(
|
19
19
|
AND
|
@@ -41,6 +41,7 @@ KEYWORDS = %w(
|
|
41
41
|
NOT
|
42
42
|
ORDER
|
43
43
|
OR
|
44
|
+
REGIONS
|
44
45
|
SET
|
45
46
|
SHOW
|
46
47
|
UPDATE
|
@@ -101,7 +102,7 @@ def scan
|
|
101
102
|
elsif (tok = @ss.scan /[a-z_$][-0-9a-z_$.]*\b/i)
|
102
103
|
yield [:IDENTIFIER, tok]
|
103
104
|
else
|
104
|
-
raise Racc::ParseError, ('
|
105
|
+
raise Racc::ParseError, ('parse error on value "%s"' % @ss.rest.inspect)
|
105
106
|
end
|
106
107
|
end
|
107
108
|
|
@@ -121,48 +122,48 @@ end
|
|
121
122
|
##### State transition tables begin ###
|
122
123
|
|
123
124
|
racc_action_table = [
|
124
|
-
12,
|
125
|
-
|
126
|
-
18, 19, 35, 20, 21, 22,
|
127
|
-
40, 41, 42, 43,
|
128
|
-
|
129
|
-
|
130
|
-
76, 77,
|
125
|
+
12, 59, 27, 58, 81, 57, 82, 25, 13, 52,
|
126
|
+
58, 60, 57, 64, 14, 65, 15, 16, 17, 36,
|
127
|
+
18, 19, 34, 35, 20, 21, 22, 37, 38, 39,
|
128
|
+
40, 41, 42, 43, 44, 41, 45, 46, 47, 48,
|
129
|
+
49, 33, 53, 54, 32, 27, 61, 62, 63, 29,
|
130
|
+
66, 52, 68, 69, 70, 71, 28, 73, 74, 75,
|
131
|
+
76, 77, 78, 80, 23, 83 ]
|
131
132
|
|
132
133
|
racc_action_check = [
|
133
|
-
0,
|
134
|
-
|
135
|
-
0, 0,
|
136
|
-
26, 28, 29, 30, 31, 32, 33,
|
137
|
-
18,
|
138
|
-
59, 60, 61, 62, 63,
|
139
|
-
|
134
|
+
0, 50, 12, 49, 79, 49, 79, 12, 0, 43,
|
135
|
+
65, 50, 65, 55, 0, 55, 0, 0, 0, 20,
|
136
|
+
0, 0, 19, 19, 0, 0, 0, 21, 22, 23,
|
137
|
+
24, 26, 28, 29, 30, 31, 32, 33, 40, 41,
|
138
|
+
42, 18, 44, 47, 17, 15, 52, 53, 54, 14,
|
139
|
+
59, 60, 61, 62, 63, 64, 13, 66, 69, 70,
|
140
|
+
71, 73, 74, 76, 1, 82 ]
|
140
141
|
|
141
142
|
racc_action_pointer = [
|
142
|
-
-2,
|
143
|
-
nil, nil, -2,
|
144
|
-
|
145
|
-
|
146
|
-
34,
|
147
|
-
nil,
|
148
|
-
|
149
|
-
|
150
|
-
nil,
|
143
|
+
-2, 64, nil, nil, nil, nil, nil, nil, nil, nil,
|
144
|
+
nil, nil, -2, 45, 45, 41, nil, 23, 20, -2,
|
145
|
+
15, 23, 24, 29, 27, nil, 16, nil, 28, 16,
|
146
|
+
31, 20, 32, 33, nil, nil, nil, nil, nil, nil,
|
147
|
+
34, 35, 28, 5, 38, nil, nil, 38, nil, -1,
|
148
|
+
-4, nil, 39, 42, 42, 0, nil, nil, nil, 44,
|
149
|
+
47, 44, 47, 47, 41, 6, 50, nil, nil, 51,
|
150
|
+
51, 48, nil, 53, 54, nil, 55, nil, nil, -9,
|
151
|
+
nil, nil, 57, nil ]
|
151
152
|
|
152
153
|
racc_action_default = [
|
153
|
-
-
|
154
|
-
-9, -10, -12, -
|
155
|
-
-
|
156
|
-
-
|
157
|
-
-
|
158
|
-
-21, -
|
159
|
-
-
|
160
|
-
-
|
161
|
-
-15, -
|
154
|
+
-39, -39, -1, -2, -3, -4, -5, -6, -7, -8,
|
155
|
+
-9, -10, -12, -39, -39, -25, -27, -39, -39, -39,
|
156
|
+
-39, -39, -39, -39, -39, -13, -14, -35, -39, -39,
|
157
|
+
-39, -26, -39, -39, -30, -31, -32, -33, -34, 84,
|
158
|
+
-39, -39, -39, -39, -39, -28, -29, -39, -36, -39,
|
159
|
+
-39, -21, -39, -39, -39, -39, -16, -18, -19, -39,
|
160
|
+
-39, -39, -39, -39, -39, -39, -39, -22, -23, -39,
|
161
|
+
-39, -39, -17, -39, -39, -11, -39, -20, -24, -39,
|
162
|
+
-37, -15, -39, -38 ]
|
162
163
|
|
163
164
|
racc_goto_table = [
|
164
|
-
|
165
|
-
4, 11, 24, 1,
|
165
|
+
51, 26, 56, 10, 31, 5, 6, 7, 8, 9,
|
166
|
+
4, 11, 24, 1, 55, 79, 3, 67, 72, 50,
|
166
167
|
2, 30 ]
|
167
168
|
|
168
169
|
racc_goto_check = [
|
@@ -172,7 +173,7 @@ racc_goto_check = [
|
|
172
173
|
|
173
174
|
racc_goto_pointer = [
|
174
175
|
nil, 13, 20, 16, 10, 5, 6, 7, 8, 9,
|
175
|
-
3, 11, 0, -11, -
|
176
|
+
3, 11, 0, -11, -35, -61, -47, -24, -43, 6 ]
|
176
177
|
|
177
178
|
racc_goto_default = [
|
178
179
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
@@ -180,47 +181,48 @@ racc_goto_default = [
|
|
180
181
|
|
181
182
|
racc_reduce_table = [
|
182
183
|
0, 0, :racc_error,
|
183
|
-
1,
|
184
|
-
1,
|
185
|
-
1,
|
186
|
-
1,
|
187
|
-
1,
|
188
|
-
1,
|
189
|
-
1,
|
190
|
-
1,
|
191
|
-
1,
|
192
|
-
1,
|
193
|
-
8,
|
194
|
-
0,
|
195
|
-
1,
|
196
|
-
1,
|
197
|
-
10,
|
198
|
-
1,
|
199
|
-
3,
|
200
|
-
1,
|
201
|
-
1,
|
202
|
-
8,
|
203
|
-
1,
|
204
|
-
3,
|
205
|
-
3,
|
206
|
-
8,
|
207
|
-
0,
|
208
|
-
1,
|
209
|
-
1,
|
210
|
-
3,
|
211
|
-
3,
|
212
|
-
2,
|
184
|
+
1, 30, :_reduce_none,
|
185
|
+
1, 30, :_reduce_none,
|
186
|
+
1, 30, :_reduce_none,
|
187
|
+
1, 30, :_reduce_none,
|
188
|
+
1, 30, :_reduce_none,
|
189
|
+
1, 30, :_reduce_none,
|
190
|
+
1, 30, :_reduce_none,
|
191
|
+
1, 30, :_reduce_none,
|
192
|
+
1, 30, :_reduce_none,
|
193
|
+
1, 30, :_reduce_none,
|
194
|
+
8, 31, :_reduce_11,
|
195
|
+
0, 41, :_reduce_12,
|
196
|
+
1, 41, :_reduce_13,
|
197
|
+
1, 41, :_reduce_none,
|
198
|
+
10, 32, :_reduce_15,
|
199
|
+
1, 43, :_reduce_16,
|
200
|
+
3, 43, :_reduce_17,
|
201
|
+
1, 45, :_reduce_none,
|
202
|
+
1, 45, :_reduce_none,
|
203
|
+
8, 33, :_reduce_20,
|
204
|
+
1, 46, :_reduce_21,
|
205
|
+
3, 46, :_reduce_22,
|
206
|
+
3, 47, :_reduce_23,
|
207
|
+
8, 34, :_reduce_24,
|
208
|
+
0, 48, :_reduce_25,
|
209
|
+
1, 48, :_reduce_none,
|
210
|
+
1, 35, :_reduce_27,
|
211
|
+
3, 36, :_reduce_28,
|
212
|
+
3, 37, :_reduce_29,
|
213
|
+
2, 38, :_reduce_30,
|
213
214
|
2, 38, :_reduce_31,
|
214
215
|
2, 39, :_reduce_32,
|
215
|
-
2,
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
216
|
+
2, 40, :_reduce_33,
|
217
|
+
2, 40, :_reduce_34,
|
218
|
+
1, 42, :_reduce_35,
|
219
|
+
3, 42, :_reduce_36,
|
220
|
+
1, 44, :_reduce_37,
|
221
|
+
3, 44, :_reduce_38 ]
|
220
222
|
|
221
|
-
racc_reduce_n =
|
223
|
+
racc_reduce_n = 39
|
222
224
|
|
223
|
-
racc_shift_n =
|
225
|
+
racc_shift_n = 84
|
224
226
|
|
225
227
|
racc_token_table = {
|
226
228
|
false => 0,
|
@@ -248,11 +250,12 @@ racc_token_table = {
|
|
248
250
|
:DROP => 22,
|
249
251
|
:SHOW => 23,
|
250
252
|
:DOMAINS => 24,
|
251
|
-
:
|
252
|
-
:
|
253
|
-
:
|
253
|
+
:REGIONS => 25,
|
254
|
+
:USE => 26,
|
255
|
+
:DESC => 27,
|
256
|
+
:DESCRIBE => 28 }
|
254
257
|
|
255
|
-
racc_nt_base =
|
258
|
+
racc_nt_base = 29
|
256
259
|
|
257
260
|
racc_use_result_var = false
|
258
261
|
|
@@ -298,6 +301,7 @@ Racc_token_to_s_table = [
|
|
298
301
|
"DROP",
|
299
302
|
"SHOW",
|
300
303
|
"DOMAINS",
|
304
|
+
"REGIONS",
|
301
305
|
"USE",
|
302
306
|
"DESC",
|
303
307
|
"DESCRIBE",
|
@@ -487,15 +491,15 @@ module_eval(<<'.,.,', 'sdb-parser.y', 111)
|
|
487
491
|
|
488
492
|
module_eval(<<'.,.,', 'sdb-parser.y', 115)
|
489
493
|
def _reduce_31(val, _values)
|
490
|
-
|
491
|
-
|
494
|
+
struct(:SHOW, :operand => :regions)
|
495
|
+
|
492
496
|
end
|
493
497
|
.,.,
|
494
498
|
|
495
499
|
module_eval(<<'.,.,', 'sdb-parser.y', 119)
|
496
500
|
def _reduce_32(val, _values)
|
497
|
-
|
498
|
-
|
501
|
+
struct(:USE, :endpoint => val[1])
|
502
|
+
|
499
503
|
end
|
500
504
|
.,.,
|
501
505
|
|
@@ -506,29 +510,36 @@ module_eval(<<'.,.,', 'sdb-parser.y', 123)
|
|
506
510
|
end
|
507
511
|
.,.,
|
508
512
|
|
509
|
-
module_eval(<<'.,.,', 'sdb-parser.y',
|
513
|
+
module_eval(<<'.,.,', 'sdb-parser.y', 127)
|
510
514
|
def _reduce_34(val, _values)
|
511
|
-
|
512
|
-
|
515
|
+
struct(:DESCRIBE, :domain => val[1])
|
516
|
+
|
513
517
|
end
|
514
518
|
.,.,
|
515
519
|
|
516
520
|
module_eval(<<'.,.,', 'sdb-parser.y', 132)
|
517
521
|
def _reduce_35(val, _values)
|
518
|
-
val[0]
|
522
|
+
[val[0]]
|
519
523
|
|
520
524
|
end
|
521
525
|
.,.,
|
522
526
|
|
523
|
-
module_eval(<<'.,.,', 'sdb-parser.y',
|
527
|
+
module_eval(<<'.,.,', 'sdb-parser.y', 136)
|
524
528
|
def _reduce_36(val, _values)
|
525
|
-
|
526
|
-
|
529
|
+
val[0] + [val[2]]
|
530
|
+
|
527
531
|
end
|
528
532
|
.,.,
|
529
533
|
|
530
534
|
module_eval(<<'.,.,', 'sdb-parser.y', 141)
|
531
535
|
def _reduce_37(val, _values)
|
536
|
+
[val[0]]
|
537
|
+
|
538
|
+
end
|
539
|
+
.,.,
|
540
|
+
|
541
|
+
module_eval(<<'.,.,', 'sdb-parser.y', 145)
|
542
|
+
def _reduce_38(val, _values)
|
532
543
|
[val[0], val[2]].flatten
|
533
544
|
|
534
545
|
end
|
data/lib/sdbcli/sdb-parser.y
CHANGED
@@ -111,6 +111,10 @@ rule
|
|
111
111
|
{
|
112
112
|
struct(:SHOW, :operand => :domains)
|
113
113
|
}
|
114
|
+
| SHOW REGIONS
|
115
|
+
{
|
116
|
+
struct(:SHOW, :operand => :regions)
|
117
|
+
}
|
114
118
|
use_stmt : USE IDENTIFIER
|
115
119
|
{
|
116
120
|
struct(:USE, :endpoint => val[1])
|
@@ -176,6 +180,7 @@ KEYWORDS = %w(
|
|
176
180
|
NOT
|
177
181
|
ORDER
|
178
182
|
OR
|
183
|
+
REGIONS
|
179
184
|
SET
|
180
185
|
SHOW
|
181
186
|
UPDATE
|
@@ -236,7 +241,7 @@ def scan
|
|
236
241
|
elsif (tok = @ss.scan /[a-z_$][-0-9a-z_$.]*\b/i)
|
237
242
|
yield [:IDENTIFIER, tok]
|
238
243
|
else
|
239
|
-
raise Racc::ParseError, ('
|
244
|
+
raise Racc::ParseError, ('parse error on value "%s"' % @ss.rest.inspect)
|
240
245
|
end
|
241
246
|
end
|
242
247
|
|
data/lib/sdbcli/sdb-runner.rb
CHANGED
@@ -73,7 +73,14 @@ module SimpleDB
|
|
73
73
|
@driver.drop_domain(parsed.domain)
|
74
74
|
nil
|
75
75
|
when :SHOW
|
76
|
-
|
76
|
+
case parsed.operand
|
77
|
+
when :domains
|
78
|
+
@driver.show_domains
|
79
|
+
when :regions
|
80
|
+
SimpleDB::REGIONS.values.sort
|
81
|
+
else
|
82
|
+
raise 'must not happen'
|
83
|
+
end
|
77
84
|
when :USE
|
78
85
|
self.endpoint = parsed.endpoint
|
79
86
|
nil
|