td 0.10.67 → 0.10.68

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,4 +1,9 @@
1
1
 
2
+ == 2013-01-22 version 0.10.68
3
+
4
+ * Fixed cmdline argument handling problems of bulk_import:prepare_parts2 subcommand
5
+
6
+
2
7
  == 2013-01-18 version 0.10.67
3
8
 
4
9
  * Added bulk_import:prepare_parts2 subcommand which is faster and more reliable
data/README.rdoc CHANGED
@@ -46,13 +46,15 @@ Install following binary packages:
46
46
  * MinGW with MSYS Basic System and using mingw-get-inst
47
47
  * Git for Windows, with Windows Command Prompt support
48
48
  * Ruby 1.9.2 using RubyInstaller for Windows, with PATH update
49
+ * Inno Setup 5
49
50
 
50
51
  Then run following commands on MinGW Shell:
51
52
 
52
53
  $ mingw-get install msys-vim
53
54
  $ mingw-get install msys-wget
54
55
  $ gem install bundler
55
- $ bundle exec rake exe:build
56
+ $ bundle install # don't use "--path" option
57
+ $ rake exe:build # don't use "bundle exec"
56
58
 
57
59
 
58
60
  = Copyright
data/build/update-td.sh CHANGED
@@ -21,7 +21,7 @@ fi
21
21
  revname="$(git show --pretty=format:'%H %ad' | head -n 1)"
22
22
 
23
23
  mvn package -Dmaven.test.skip=true || exit 1
24
- cp target/td-0.1.1-SNAPSHOT.jar ../../java/td-0.1.1-SNAPSHOT.jar
24
+ cp target/td-0.1.1.jar ../../java/td-0.1.1.jar
25
25
 
26
26
  if [ -n "$chrev" ];then
27
27
  git checkout master
@@ -33,5 +33,5 @@ echo "$revname" > java/td_java.version
33
33
 
34
34
  echo ""
35
35
  echo "git commit ./java -m \"updated td-java $revname\""
36
- git commit ./java/td-0.1.1-SNAPSHOT.jar ./java/td_java.version -m "updated td-java $revname" || exit 1
36
+ git commit ./java/td-0.1.1.jar ./java/td_java.version -m "updated td-java $revname" || exit 1
37
37
 
data/java/td_java.version CHANGED
@@ -1 +1 @@
1
- a0bb26a737329cc3df9987c0f1a6ea7188d3b334 Fri Jan 18 15:03:20 2013 +0900
1
+ 19238aa12ef2b06cc07f4dc5cd008d35da1aa358 Tue Jan 22 21:46:12 2013 +0900
@@ -16,7 +16,7 @@ module Command
16
16
  has_org = true if bi.org_name
17
17
  }
18
18
 
19
- puts cmd_render_table(rows, :fields => (has_org ? [:Organization] : [])+[:Name, :Table, :Status, :Frozen, :JobID, :"Valid Parts", :"Error Parts", :"Valid Records", :"Error Records"], :max_width=>200)
19
+ puts cmd_render_table(rows, :fields => gen_table_fields(has_org, [:Name, :Table, :Status, :Frozen, :JobID, :"Valid Parts", :"Error Parts", :"Valid Records", :"Error Records"]), :max_width=>200)
20
20
 
21
21
  if rows.empty?
22
22
  $stderr.puts "There are no bulk import sessions."
@@ -25,13 +25,21 @@ module Command
25
25
  end
26
26
 
27
27
  def bulk_import_create(op)
28
+ org = nil
29
+
30
+ op.on('-g', '--org ORGANIZATION', "create the database under this organization") {|s|
31
+ org = s
32
+ }
33
+
28
34
  name, db_name, table_name = op.cmd_parse
29
35
 
30
36
  client = get_client
31
37
 
32
38
  table = get_table(client, db_name, table_name)
33
39
 
34
- client.create_bulk_import(name, db_name, table_name)
40
+ opts = {}
41
+ opts['organization'] = org if org
42
+ client.create_bulk_import(name, db_name, table_name, opts)
35
43
 
36
44
  $stderr.puts "Bulk import session '#{name}' is created."
37
45
  end
@@ -460,7 +468,7 @@ module Command
460
468
 
461
469
  # make application options
462
470
  app_opts = []
463
- app_opts << "-cp .:#{td_command_jar}"
471
+ app_opts << "-cp \"#{td_command_jar}\""
464
472
 
465
473
  # make system properties
466
474
  sysprops = []
@@ -479,13 +487,10 @@ module Command
479
487
  app_args << 'prepare_parts'
480
488
  app_args << files
481
489
 
490
+ # TODO consider parameters including spaces; don't use join(' ')
482
491
  command = "#{javacmd} #{jvm_opts.join(' ')} #{app_opts.join(' ')} #{sysprops.join(' ')} #{app_args.join(' ')}"
483
492
 
484
- begin
485
- exec(command)
486
- rescue
487
- exit 1
488
- end
493
+ exec command
489
494
  end
490
495
 
491
496
  private
@@ -33,6 +33,14 @@ module Command
33
33
  Hirb::Helpers::Table.render(rows, *opts)
34
34
  end
35
35
 
36
+ def gen_table_fields(has_org, fields)
37
+ if has_org
38
+ fields.unshift(:Organization)
39
+ else
40
+ fields
41
+ end
42
+ end
43
+
36
44
  #def cmd_render_tree(nodes, *opts)
37
45
  # require 'hirb'
38
46
  # Hirb::Helpers::Tree.render(nodes, *opts)
data/lib/td/command/db.rb CHANGED
@@ -35,7 +35,7 @@ module Command
35
35
  rows << {:Name=>db.name, :Count=>db.count, :Organization=>db.org_name}
36
36
  has_org = true if db.org_name
37
37
  }
38
- puts cmd_render_table(rows, :fields => (has_org ? [:Organization] : [])+[:Name, :Count])
38
+ puts cmd_render_table(rows, :fields => gen_table_fields(has_org, [:Name, :Count]))
39
39
 
40
40
  if dbs.empty?
41
41
  $stderr.puts "There are no databases."
@@ -44,14 +44,22 @@ module Command
44
44
  end
45
45
 
46
46
  def db_create(op)
47
+ org = nil
48
+
49
+ op.on('-g', '--org ORGANIZATION', "create the database under this organization") {|s|
50
+ org = s
51
+ }
52
+
47
53
  db_name = op.cmd_parse
48
54
 
49
55
  API.validate_database_name(db_name)
50
56
 
51
57
  client = get_client
52
58
 
59
+ opts = {}
60
+ opts['organization'] = org if org
53
61
  begin
54
- client.create_database(db_name)
62
+ client.create_database(db_name, opts)
55
63
  rescue AlreadyExistsError
56
64
  $stderr.puts "Database '#{db_name}' already exists."
57
65
  exit 1
@@ -3,6 +3,7 @@ module TreasureData
3
3
  module Command
4
4
 
5
5
  def table_export(op)
6
+ org = nil
6
7
  from = nil
7
8
  to = nil
8
9
  s3_bucket = nil
@@ -10,6 +11,9 @@ module Command
10
11
  aws_secret_access_key = nil
11
12
  file_format = "json.gz"
12
13
 
14
+ op.on('-g', '--org ORGANIZATION', "export the data under this organization") {|s|
15
+ org = s
16
+ }
13
17
  op.on('-f', '--from TIME', 'export data which is newer than or same with the TIME') {|s|
14
18
  from = export_parse_time(s)
15
19
  }
@@ -50,6 +54,7 @@ module Command
50
54
  client = get_ssl_client
51
55
 
52
56
  s3_opts = {}
57
+ s3_opts['organization'] = org if org
53
58
  s3_opts['from'] = from.to_s if from
54
59
  s3_opts['to'] = to.to_s if to
55
60
  s3_opts['file_format'] = file_format
@@ -78,7 +78,7 @@ module Command
78
78
  has_org = true if job.org_name
79
79
  }
80
80
 
81
- puts cmd_render_table(rows, :fields => (has_org ? [:Organization] : [])+[:JobID, :Status, :Start, :Elapsed, :Priority, :Result, :Type, :Database, :Query], :max_width => 140)
81
+ puts cmd_render_table(rows, :fields => gen_table_fields(has_org, [:JobID, :Status, :Start, :Elapsed, :Priority, :Result, :Type, :Database, :Query]), :max_width => 140)
82
82
  end
83
83
 
84
84
  def job_show(op)
@@ -3,6 +3,7 @@ module TreasureData
3
3
  module Command
4
4
 
5
5
  def query(op)
6
+ org = nil
6
7
  db_name = nil
7
8
  wait = false
8
9
  output = nil
@@ -14,6 +15,9 @@ module Command
14
15
  priority = nil
15
16
  retry_limit = nil
16
17
 
18
+ op.on('-g', '--org ORGANIZATION', "issue the query under this organization") {|s|
19
+ org = s
20
+ }
17
21
  op.on('-d', '--database DB_NAME', 'use the database (required)') {|s|
18
22
  db_name = s
19
23
  }
@@ -72,7 +76,9 @@ module Command
72
76
  # local existance check
73
77
  get_database(client, db_name)
74
78
 
75
- job = client.query(db_name, sql, result_url, priority, retry_limit)
79
+ opts = {}
80
+ opts['organization'] = org if org
81
+ job = client.query(db_name, sql, result_url, priority, retry_limit, opts)
76
82
 
77
83
  $stderr.puts "Job #{job.job_id} is queued."
78
84
  $stderr.puts "Use '#{$prog} job:show #{job.job_id}' to show the status."
@@ -38,7 +38,7 @@ module Command
38
38
  map[:Name]
39
39
  }
40
40
 
41
- puts cmd_render_table(rows, :fields => (has_org ? [:Organization] : [])+[:Name, :URL])
41
+ puts cmd_render_table(rows, :fields => gen_table_fields(has_org, [:Name, :URL]))
42
42
 
43
43
  if rs.empty?
44
44
  $stderr.puts "There are no result URLs."
@@ -47,9 +47,13 @@ module Command
47
47
  end
48
48
 
49
49
  def result_create(op)
50
+ org = nil
50
51
  result_user = nil
51
52
  result_ask_password = false
52
53
 
54
+ op.on('-g', '--org ORGANIZATION', "create the database under this organization") {|s|
55
+ org = s
56
+ }
53
57
  op.on('-u', '--user NAME', 'set user name for authentication') {|s|
54
58
  result_user = s
55
59
  }
@@ -65,8 +69,10 @@ module Command
65
69
 
66
70
  url = build_result_url(url, result_user, result_ask_password)
67
71
 
72
+ opts = {}
73
+ opts['organization'] = org if org
68
74
  begin
69
- client.create_result(name, url)
75
+ client.create_result(name, url, opts)
70
76
  rescue AlreadyExistsError
71
77
  $stderr.puts "Result URL '#{name}' already exists."
72
78
  exit 1
@@ -21,10 +21,11 @@ module Command
21
21
  map[:Name]
22
22
  }
23
23
 
24
- puts cmd_render_table(rows, :fields => (has_org ? [:Organization] : [])+[:Name, :Cron, :Timezone, :"Next schedule", :Delay, :Priority, :Result, :Database, :Query], :max_width=>500)
24
+ puts cmd_render_table(rows, :fields => gen_table_fields(has_org, [:Name, :Cron, :Timezone, :"Next schedule", :Delay, :Priority, :Result, :Database, :Query]), :max_width=>500)
25
25
  end
26
26
 
27
27
  def sched_create(op)
28
+ org = nil
28
29
  db_name = nil
29
30
  timezone = nil
30
31
  delay = 0
@@ -34,6 +35,9 @@ module Command
34
35
  priority = nil
35
36
  retry_limit = nil
36
37
 
38
+ op.on('-g', '--org ORGANIZATION', "create the schedule under this organization") {|s|
39
+ org = s
40
+ }
37
41
  op.on('-d', '--database DB_NAME', 'use the database (required)') {|s|
38
42
  db_name = s
39
43
  }
@@ -80,7 +84,7 @@ module Command
80
84
  get_database(client, db_name)
81
85
 
82
86
  begin
83
- first_time = client.create_schedule(name, :cron=>cron, :query=>sql, :database=>db_name, :result=>result_url, :timezone=>timezone, :delay=>delay, :priority=>priority, :retry_limit=>retry_limit)
87
+ first_time = client.create_schedule(name, :cron=>cron, :query=>sql, :database=>db_name, :result=>result_url, :timezone=>timezone, :delay=>delay, :priority=>priority, :retry_limit=>retry_limit, :organization=>org)
84
88
  rescue AlreadyExistsError
85
89
  cmd_debug_error $!
86
90
  $stderr.puts "Schedule '#{name}' already exists."
@@ -275,10 +275,14 @@ module Command
275
275
  end
276
276
 
277
277
  def table_partial_delete(op)
278
+ org = nil
278
279
  from = nil
279
280
  to = nil
280
281
  wait = false
281
282
 
283
+ op.on('-g', '--org ORGANIZATION', "delete data partially under this organization") {|s|
284
+ org = s
285
+ }
282
286
  op.on('-t', '--to TIME', 'end time of logs to delete') {|s|
283
287
  if s.to_i.to_s == s
284
288
  # UNIX time
@@ -321,7 +325,9 @@ module Command
321
325
 
322
326
  table = get_table(client, db_name, table_name)
323
327
 
324
- job = client.partial_delete(db_name, table_name, to, from)
328
+ opts = {}
329
+ opts['organization'] = org if org
330
+ job = client.partial_delete(db_name, table_name, to, from, opts)
325
331
 
326
332
  $stderr.puts "Partial delete job #{job.job_id} is queued."
327
333
  $stderr.puts "Use '#{$prog} job:show #{job.job_id}' to show the status."
data/lib/td/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
 
3
- VERSION = '0.10.67'
3
+ VERSION = '0.10.68'
4
4
 
5
5
  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.67
4
+ version: 0.10.68
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-01-18 00:00:00.000000000 Z
12
+ date: 2013-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
@@ -181,7 +181,7 @@ files:
181
181
  - dist/resources/pkg/PackageInfo.erb
182
182
  - dist/resources/pkg/postinstall
183
183
  - dist/resources/pkg/td
184
- - java/td-0.1.1-SNAPSHOT.jar
184
+ - java/td-0.1.1.jar
185
185
  - java/td_java.version
186
186
  - lib/td.rb
187
187
  - lib/td/command/account.rb