td 0.10.54 → 0.10.55

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/ChangeLog CHANGED
@@ -1,8 +1,14 @@
1
1
 
2
+ == 2012-10-09 version 0.10.55
3
+
4
+ * Added table:swap subcommand
5
+ * user:create supports -G option to create an organization at the same time
6
+
7
+
2
8
  == 2012-10-04 version 0.10.54
3
9
 
4
- * check invalid byte sequence in UTF-8 string before rendering results on
5
- console
10
+ * job:result checks invalid byte sequence in UTF-8 string before rendering
11
+ results on console
6
12
 
7
13
 
8
14
  == 2012-10-02 version 0.10.53
@@ -270,7 +270,7 @@ module Command
270
270
  # b) to display multi-byte characters as it is
271
271
  # c) encoding from UTF-8 to UTF-8 doesn't check/replace invalid chars
272
272
  # d) UTF-16LE was slightly faster than UTF-16BE, UTF-32LE or UTF-32BE
273
- s = s.encode('UTF-16LE', 'UTF-8', :invalid=>:replace, :undef=>:replace).encode('UTF-8') if s.respond_to?(:encode)
273
+ s = s.encode('UTF-16LE', 'UTF-8', :invalid=>:replace, :undef=>:replace).encode!('UTF-8') if s.respond_to?(:encode)
274
274
  s
275
275
  }
276
276
  }
@@ -225,6 +225,7 @@ module List
225
225
  add_list 'table:delete', %w[db table], 'Delete a table', 'table:delete example_db table1'
226
226
  add_list 'table:import', %w[db table files_], 'Parse and import files to a table', 'table:import example_db table1 --apache access.log', 'table:import example_db table1 --json -t time - < test.json'
227
227
  add_list 'table:export', %w[db table], 'Dump logs in a table to the specified storage', 'table:export example_db table1 --s3-bucket mybucket -k KEY_ID -s SECRET_KEY'
228
+ add_list 'table:swap', %w[db table1 table2], 'Swap names of two tables', 'table:swap example_db table1 table2'
228
229
  add_list 'table:tail', %w[db table], 'Get recently imported logs', 'table:tail example_db table1', 'table:tail example_db table1 -t "2011-01-02 03:04:05" -n 30'
229
230
  add_list 'table:partial_delete', %w[db table], 'Delete logs from the table within the specified time range', 'table:partial_delete example_db table1 --from 1341000000 --to 1341003600'
230
231
 
@@ -109,6 +109,19 @@ module Command
109
109
  end
110
110
  end
111
111
 
112
+ def table_swap(op)
113
+ db_name, table_name1, table_name2 = op.cmd_parse
114
+
115
+ client = get_client
116
+
117
+ table1 = get_table(client, db_name, table_name1)
118
+ table2 = get_table(client, db_name, table_name2)
119
+
120
+ client.swap_table(db_name, table_name1, table_name2)
121
+
122
+ $stderr.puts "'#{db_name}.#{table_name1}' and '#{db_name}.#{table_name2}' are swapped."
123
+ end
124
+
112
125
  def table_show(op)
113
126
  db_name, table_name = op.cmd_parse
114
127
 
@@ -45,11 +45,16 @@ module Command
45
45
  org = nil
46
46
  email = nil
47
47
  random_password = false
48
+ create_org = nil
48
49
 
49
50
  op.on('-g', '--org ORGANIZATION', "create the user under this organization") {|s|
50
51
  org = s
51
52
  }
52
53
 
54
+ op.on('-G', "create the user under the a new organization", TrueClass) {|b|
55
+ create_org = b
56
+ }
57
+
53
58
  op.on('-e', '--email EMAIL', "Use this email address to identify the user") {|s|
54
59
  email = s
55
60
  }
@@ -123,21 +128,38 @@ module Command
123
128
 
124
129
  client = get_client(:ssl => true)
125
130
 
126
- client.add_user(name, org)
131
+ if create_org
132
+ org ||= name
133
+ client.create_organization(org)
134
+ end
127
135
 
128
136
  ok = false
129
137
  begin
130
- client.change_email(name, email)
131
- client.change_password(name, password)
132
- client.add_apikey(name)
133
- ok = true
138
+ client.add_user(name, org)
139
+
140
+ begin
141
+ client.change_email(name, email)
142
+ client.change_password(name, password)
143
+ client.add_apikey(name)
144
+ ok = true
145
+
146
+ ensure
147
+ if !ok
148
+ client.remove_user(name)
149
+ end
150
+ end
151
+
134
152
  ensure
135
- unless ok
136
- client.remove_user(name)
153
+ if create_org && !ok
154
+ client.delete_organization(org)
137
155
  end
138
156
  end
139
157
 
140
- $stderr.puts "User '#{name}' is created."
158
+ if create_org
159
+ $stderr.puts "Organization '#{org}' and user '#{name}' are created."
160
+ else
161
+ $stderr.puts "User '#{name}' is created."
162
+ end
141
163
  $stderr.puts "Use '#{$prog} user:apikeys #{name}' to show the API key."
142
164
  end
143
165
 
data/lib/td/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
 
3
- VERSION = '0.10.54'
3
+ VERSION = '0.10.55'
4
4
 
5
5
  end
data/td.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.add_dependency "msgpack", "~> 0.4.4"
20
20
  gem.add_dependency "json", ">= 1.4.3"
21
21
  gem.add_dependency "hirb", ">= 0.4.5"
22
- gem.add_dependency "td-client", "~> 0.8.31"
22
+ gem.add_dependency "td-client", "~> 0.8.32"
23
23
  gem.add_dependency "td-logger", "~> 0.3.12"
24
24
  gem.add_development_dependency "rake", "~> 0.9"
25
25
  end
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.54
4
+ version: 0.10.55
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: 2012-10-04 00:00:00.000000000 Z
12
+ date: 2012-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 0.8.31
69
+ version: 0.8.32
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 0.8.31
77
+ version: 0.8.32
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: td-logger
80
80
  requirement: !ruby/object:Gem::Requirement