td 0.10.97 → 0.10.98

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,10 @@
1
+
2
+ == 2014-02-21 version 0.10.98
3
+
4
+ * import:unfreeze: fixed NoMethodError error
5
+ * import:show uses more efficient REST API
6
+
7
+
1
8
  == 2013-12-18 version 0.10.97
2
9
 
3
10
  * import:commit accepts --wait option.
@@ -58,8 +58,7 @@ module Command
58
58
 
59
59
  client = get_client
60
60
 
61
- bis = client.bulk_imports
62
- bi = bis.find {|bi| name == bi.name }
61
+ bi = client.bulk_import(name)
63
62
  unless bi
64
63
  $stderr.puts "Bulk import session '#{name}' does not exist."
65
64
  $stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "bulk_import:create <name> <db> <table>' to create a session."
@@ -97,7 +97,7 @@ module Command
97
97
 
98
98
  def import_unfreeze(op)
99
99
  require 'td/command/bulk_import'
100
- bulk_importunfreeze(op)
100
+ bulk_import_unfreeze(op)
101
101
  end
102
102
 
103
103
  private
@@ -127,7 +127,7 @@ module List
127
127
  LIST = []
128
128
  COMMAND = {}
129
129
  GUESS = {}
130
- HELP_EXCLUDE = [/^help/, /^account/, /^aggr/, /^update/, /^user/, /^acl/]
130
+ HELP_EXCLUDE = [/^help/, /^account/, /^update/, /^user/, /^acl/]
131
131
  USAGE_EXCLUDE = [/bulk_import:upload_part\z/, /bulk_import:delete_part\z/]
132
132
 
133
133
  def self.add_list(name, args, description, *examples)
@@ -308,15 +308,6 @@ module List
308
308
  add_list 'acl:revoke', %w[subject action scope], 'Revoke an access control'
309
309
  # TODO acl:test
310
310
 
311
- add_list 'aggr:list', %w[], 'Show list of aggregation schemas'
312
- add_list 'aggr:show', %w[name], 'Describe a aggregation schema'
313
- add_list 'aggr:create', %w[name relation_key], 'Create a aggregation schema'
314
- add_list 'aggr:delete', %w[name], 'Delete a aggregation schema'
315
- add_list 'aggr:add-log', %w[name db table entry_name o1_key? o2_key? o3_key?], 'Add a log aggregation entry'
316
- add_list 'aggr:add-attr', %w[name db table entry_name method_name parameters_?], 'Add an attribute aggregation entry'
317
- add_list 'aggr:del-log', %w[name entry_name], 'Delete a log aggregation entry'
318
- add_list 'aggr:del-attr', %w[name entry_name], 'Delete an attribute aggregation entry'
319
-
320
311
  add_list 'server:status', %w[], 'Show status of the Treasure Data server'
321
312
 
322
313
  add_list 'sample:apache', %w[path.json], 'Create a sample log file'
@@ -375,9 +366,6 @@ module List
375
366
  add_alias 'acl', 'acl:list'
376
367
  add_alias 'acls', 'acl:list'
377
368
 
378
- add_alias 'aggr', 'aggr:show'
379
- add_alias 'aggrs', 'aggr:list'
380
-
381
369
  add_alias 'apikey', 'apikey:show'
382
370
  add_alias 'server', 'server:status'
383
371
  add_alias 'sample', 'sample:apache'
@@ -23,7 +23,7 @@ module Command
23
23
  end
24
24
  type = s.to_sym
25
25
  }
26
- op.on('--primary-key PRIMARY_KEY_AND_TYPE', '[primary key]:[primary key type]') {|s|
26
+ op.on('--primary-key PRIMARY_KEY_AND_TYPE', '[primary key]:[primary key type(int or string)]') {|s|
27
27
  unless /\A[\w]+:(string|int)\z/ =~ s
28
28
  $stderr.puts "--primary-key PRIMARY_KEY_AND_TYPE is required, and should be in the format [primary key]:[primary key type]"
29
29
  exit 1
data/lib/td/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
 
3
- VERSION = '0.10.97'
3
+ VERSION = '0.10.98'
4
4
 
5
5
  end
data/td.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
20
20
  gem.add_dependency "yajl-ruby", "~> 1.1.0"
21
21
  gem.add_dependency "hirb", ">= 0.4.5"
22
22
  gem.add_dependency "parallel", "~> 0.6.1"
23
- gem.add_dependency "td-client", "~> 0.8.56"
23
+ gem.add_dependency "td-client", "~> 0.8.57"
24
24
  gem.add_dependency "td-logger", "~> 0.3.21"
25
25
  gem.add_dependency "rubyzip", "~> 0.9.9"
26
26
  gem.add_development_dependency "rake", "~> 0.9"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: td
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.97
4
+ version: 0.10.98
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-18 00:00:00.000000000 Z
12
+ date: 2014-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
@@ -112,7 +112,7 @@ dependencies:
112
112
  requirements:
113
113
  - - ~>
114
114
  - !ruby/object:Gem::Version
115
- version: 0.8.56
115
+ version: 0.8.57
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ dependencies:
120
120
  requirements:
121
121
  - - ~>
122
122
  - !ruby/object:Gem::Version
123
- version: 0.8.56
123
+ version: 0.8.57
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: td-logger
126
126
  requirement: !ruby/object:Gem::Requirement
@@ -237,7 +237,6 @@ files:
237
237
  - lib/td.rb
238
238
  - lib/td/command/account.rb
239
239
  - lib/td/command/acl.rb
240
- - lib/td/command/aggr.rb
241
240
  - lib/td/command/apikey.rb
242
241
  - lib/td/command/bulk_import.rb
243
242
  - lib/td/command/common.rb
@@ -289,18 +288,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
289
288
  - - ! '>='
290
289
  - !ruby/object:Gem::Version
291
290
  version: '0'
292
- segments:
293
- - 0
294
- hash: -1410145252245092295
295
291
  required_rubygems_version: !ruby/object:Gem::Requirement
296
292
  none: false
297
293
  requirements:
298
294
  - - ! '>='
299
295
  - !ruby/object:Gem::Version
300
296
  version: '0'
301
- segments:
302
- - 0
303
- hash: -1410145252245092295
304
297
  requirements: []
305
298
  rubyforge_project:
306
299
  rubygems_version: 1.8.23
@@ -317,3 +310,4 @@ test_files:
317
310
  - spec/spec_helper.rb
318
311
  - spec/td/helpers_spec.rb
319
312
  - spec/td/version_spec.rb
313
+ has_rdoc: false
@@ -1,208 +0,0 @@
1
-
2
- module TreasureData
3
- module Command
4
-
5
- def aggr_list(op)
6
- op.cmd_parse
7
-
8
- client = get_client
9
-
10
- ass = client.aggregation_schemas
11
-
12
- rows = []
13
- ass.each {|as|
14
- rows << {:Name=>as.name, :Relation=>as.relation_key, :Timezone=>as.timezone}
15
- }
16
-
17
- puts cmd_render_table(rows, :fields => [:Name, :Relation, :Timezone])
18
-
19
- if rows.empty?
20
- $stderr.puts "There are no aggregation schemas."
21
- $stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create <name>' to create a aggregation schema."
22
- end
23
- end
24
-
25
- def aggr_show(op)
26
- name = op.cmd_parse
27
-
28
- client = get_client
29
-
30
- begin
31
- as = client.aggregation_schema(name)
32
- rescue
33
- cmd_debug_error $!
34
- $stderr.puts "Aggregation '#{name}' does not exist."
35
- exit 1
36
- end
37
-
38
- log_rows = []
39
- as.logs.each {|las|
40
- log_rows << {
41
- :Table=>las.table.identifier,
42
- :Name=>las.name,
43
- :o1_key=>las.okeys[0].to_s,
44
- :o2_key=>las.okeys[1].to_s,
45
- :o3_key=>las.okeys[2].to_s,
46
- :value_key=>las.value_key.to_s,
47
- :count_key=>las.count_key.to_s,
48
- :Comment=>las.comment.to_s
49
- }
50
- }
51
-
52
- attr_rows = []
53
- as.attributes.each {|aas|
54
- params = aas.parameters.to_a.map {|k,v| "#{k}=#{v}" }.join(' ')
55
- attr_rows << {
56
- :Table=>aas.table.identifier,
57
- :Name=>aas.name,
58
- :Method=>aas.method_name,
59
- :Parameters=>params,
60
- :Comment=>aas.comment.to_s,
61
- }
62
- }
63
-
64
- puts "Log entries:"
65
- puts cmd_render_table(log_rows, :fields => [:Table, :Name, :o1_key, :o2_key, :o3_key, :value_key, :count_key, :Comment], :max_width=>400)
66
-
67
- puts ''
68
-
69
- puts "Attribute entries:"
70
- puts cmd_render_table(attr_rows, :fields => [:Table, :Name, :Method, :Parameters, :Comment], :max_width=>400)
71
- end
72
-
73
- def aggr_create(op)
74
- timezone = nil
75
-
76
- op.on('-t', '--timezone TZ', 'name of the timezone (like Asia/Tokyo)') {|s|
77
- timezone = s
78
- }
79
-
80
- name, relation_key = op.cmd_parse
81
-
82
- client = get_client
83
-
84
- begin
85
- client.create_aggregation_schema(name, relation_key, {'timezone'=>timezone})
86
- rescue AlreadyExistsError
87
- cmd_debug_error $!
88
- $stderr.puts "Aggregation '#{name}' already exists."
89
- exit 1
90
- end
91
-
92
- $stderr.puts "Aggregation schema '#{name}' is created."
93
- end
94
-
95
- def aggr_delete(op)
96
- name = op.cmd_parse
97
-
98
- client = get_client
99
-
100
- client.delete_aggregation_schema(name)
101
-
102
- $stderr.puts "Aggregation schema '#{name}' is deleted."
103
- end
104
-
105
- def aggr_add_log(op)
106
- comment = nil
107
- value_key = nil
108
- count_key = nil
109
-
110
- op.on('-m', '--comment COMMENT', 'comment of this entry') {|s|
111
- comment = s
112
- }
113
- op.on('-v', '--value KEY_NAME', 'key name of value field') {|s|
114
- value_key = s
115
- }
116
- op.on('-c', '--count KEY_NAME', 'key name of count field') {|s|
117
- count_key = s
118
- }
119
-
120
- name, db_name, table_name, entry_name, o1_key, o2_key, o3_key = op.cmd_parse
121
-
122
- okeys = [o1_key, o2_key, o3_key].compact
123
-
124
- client = get_client
125
-
126
- get_table(client, db_name, table_name)
127
-
128
- begin
129
- client.create_aggregation_log_entry(name, entry_name, comment, db_name, table_name, okeys, value_key, count_key)
130
- rescue NotFoundError
131
- cmd_debug_error $!
132
- $stderr.puts "Aggregation schema '#{name}' does not exist."
133
- $stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create #{name}' to create the aggregation schema."
134
- exit 1
135
- rescue AlreadyExistsError
136
- $stderr.puts "Aggregation log entry '#{entry_name}' already exists."
137
- exit 1
138
- end
139
-
140
- $stderr.puts "Aggregation log entry '#{entry_name}' is created."
141
- end
142
-
143
- def aggr_add_attr(op)
144
- comment = nil
145
-
146
- op.on('-m', '--comment COMMENT', 'comment of this entry') {|s|
147
- comment = s
148
- }
149
-
150
- name, db_name, table_name, entry_name, method_name, *parameters = op.cmd_parse
151
-
152
- params = {}
153
- parameters.each {|pa|
154
- k, v = pa.split('=')
155
- params[k] = v
156
- }
157
-
158
- client = get_client
159
-
160
- get_table(client, db_name, table_name)
161
-
162
- begin
163
- client.create_aggregation_attr_entry(name, entry_name, comment, db_name, table_name, method_name, params)
164
- rescue NotFoundError
165
- cmd_debug_error $!
166
- $stderr.puts "Aggregation schema '#{name}' does not exist."
167
- $stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create #{name}' to create the aggregation schema."
168
- exit 1
169
- rescue AlreadyExistsError
170
- $stderr.puts "Aggregation attribute entry '#{entry_name}' already exists."
171
- exit 1
172
- end
173
-
174
- $stderr.puts "Aggregation attribute entry '#{entry_name}' is created."
175
- end
176
-
177
- def aggr_del_log(op)
178
- name, entry_name = op.cmd_parse
179
-
180
- client = get_client
181
-
182
- begin
183
- client.delete_aggregation_log_entry(name, entry_name)
184
- rescue NotFoundError
185
- $stderr.puts "Aggregation log entry '#{entry_name}' does not exist."
186
- exit 1
187
- end
188
-
189
- $stderr.puts "Aggregation log entry '#{entry_name}' is deleted."
190
- end
191
-
192
- def aggr_del_attr(op)
193
- name, entry_name = op.cmd_parse
194
-
195
- client = get_client
196
-
197
- begin
198
- client.delete_aggregation_attr_entry(name, entry_name)
199
- rescue NotFoundError
200
- $stderr.puts "Aggregation log entry '#{entry_name}' does not exist."
201
- exit 1
202
- end
203
-
204
- $stderr.puts "Aggregation log entry '#{entry_name}' is deleted."
205
- end
206
-
207
- end
208
- end