td 0.11.9 → 0.11.10
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 +13 -0
- data/lib/td/command/account.rb +5 -5
- data/lib/td/command/acl.rb +1 -1
- data/lib/td/command/apikey.rb +4 -4
- data/lib/td/command/bulk_import.rb +19 -7
- data/lib/td/command/common.rb +12 -10
- data/lib/td/command/connector.rb +35 -31
- data/lib/td/command/db.rb +2 -2
- data/lib/td/command/export.rb +6 -1
- data/lib/td/command/help.rb +3 -3
- data/lib/td/command/import.rb +3 -3
- data/lib/td/command/job.rb +60 -83
- data/lib/td/command/list.rb +19 -6
- data/lib/td/command/options.rb +61 -0
- data/lib/td/command/password.rb +7 -7
- data/lib/td/command/query.rb +14 -9
- data/lib/td/command/result.rb +5 -5
- data/lib/td/command/runner.rb +9 -9
- data/lib/td/command/sched.rb +97 -15
- data/lib/td/command/schema.rb +3 -3
- data/lib/td/command/server.rb +1 -1
- data/lib/td/command/status.rb +5 -5
- data/lib/td/command/table.rb +28 -23
- data/lib/td/command/update.rb +3 -3
- data/lib/td/command/user.rb +13 -13
- data/lib/td/helpers.rb +1 -6
- data/lib/td/updater.rb +9 -9
- data/lib/td/version.rb +1 -1
- data/spec/td/command/connector_spec.rb +54 -0
- data/spec/td/command/job_spec.rb +147 -0
- data/spec/td/command/sched_spec.rb +136 -14
- data/spec/td/command/table_spec.rb +1 -4
- data/spec/td/fixture/bulk_load.yml +24 -0
- data/td.gemspec +1 -1
- metadata +70 -40
- checksums.yaml +0 -7
data/spec/td/command/job_spec.rb
CHANGED
@@ -22,9 +22,81 @@ module TreasureData::Command
|
|
22
22
|
@result_size = 3
|
23
23
|
@status = 'success'
|
24
24
|
end
|
25
|
+
job.stub(:result_format) # for msgpack, msgpack.gz
|
25
26
|
job
|
26
27
|
end
|
27
28
|
|
29
|
+
describe "using tempfile" do
|
30
|
+
let(:tempfile) { "#{file.path}.tmp" }
|
31
|
+
|
32
|
+
subject { command.send(:show_result, job, file, nil, format) }
|
33
|
+
|
34
|
+
context "format: json" do
|
35
|
+
let(:format) { "json" }
|
36
|
+
|
37
|
+
it do
|
38
|
+
FileUtils.should_receive(:mv).with(tempfile, file.path)
|
39
|
+
subject
|
40
|
+
end
|
41
|
+
it do
|
42
|
+
command.should_receive(:open_file).with(tempfile, "w")
|
43
|
+
subject
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context "format: csv" do
|
48
|
+
let(:format) { "csv" }
|
49
|
+
|
50
|
+
it do
|
51
|
+
FileUtils.should_receive(:mv).with(tempfile, file.path)
|
52
|
+
subject
|
53
|
+
end
|
54
|
+
it do
|
55
|
+
command.should_receive(:open_file).with(tempfile, "w")
|
56
|
+
subject
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "format: tsv" do
|
61
|
+
let(:format) { "tsv" }
|
62
|
+
|
63
|
+
it do
|
64
|
+
FileUtils.should_receive(:mv).with(tempfile, file.path)
|
65
|
+
subject
|
66
|
+
end
|
67
|
+
it do
|
68
|
+
command.should_receive(:open_file).with(tempfile, "w")
|
69
|
+
subject
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context "format: msgpack" do
|
74
|
+
let(:format) { "msgpack" }
|
75
|
+
|
76
|
+
it do
|
77
|
+
FileUtils.should_receive(:mv).with(tempfile, file.path)
|
78
|
+
subject
|
79
|
+
end
|
80
|
+
it do
|
81
|
+
command.should_receive(:open_file).with(tempfile, "wb")
|
82
|
+
subject
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context "format: msgpack.gz" do
|
87
|
+
let(:format) { "msgpack.gz" }
|
88
|
+
|
89
|
+
it do
|
90
|
+
FileUtils.should_receive(:mv).with(tempfile, file.path)
|
91
|
+
subject
|
92
|
+
end
|
93
|
+
it do
|
94
|
+
command.should_receive(:open_file).with(tempfile, "wb")
|
95
|
+
subject
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
28
100
|
context 'result without nil' do
|
29
101
|
it 'supports json output' do
|
30
102
|
command.send(:show_result, job, file, nil, 'json')
|
@@ -238,6 +310,81 @@ module TreasureData::Command
|
|
238
310
|
end
|
239
311
|
end
|
240
312
|
|
313
|
+
describe '#job_list' do
|
314
|
+
subject do
|
315
|
+
backup = $stdout.dup
|
316
|
+
buf = StringIO.new
|
317
|
+
op = List::CommandParser.new("job:list", [], [:max], nil, [], true)
|
318
|
+
|
319
|
+
begin
|
320
|
+
$stdout = buf
|
321
|
+
command.job_list(op)
|
322
|
+
buf.string
|
323
|
+
ensure
|
324
|
+
$stdout = backup
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
let(:job_id) { "12345" }
|
329
|
+
|
330
|
+
let :job_class do
|
331
|
+
Struct.new(:job_id,
|
332
|
+
:status,
|
333
|
+
:type,
|
334
|
+
:db_name,
|
335
|
+
:priority,
|
336
|
+
:retry_limit,
|
337
|
+
:result_url,
|
338
|
+
:query,
|
339
|
+
:start_at,
|
340
|
+
:end_at,
|
341
|
+
:cpu_time,
|
342
|
+
:result_size,
|
343
|
+
:duration
|
344
|
+
)
|
345
|
+
end
|
346
|
+
|
347
|
+
let :start_at do
|
348
|
+
Time.now
|
349
|
+
end
|
350
|
+
|
351
|
+
let :jobs do
|
352
|
+
[job_class.new(job_id,
|
353
|
+
nil,
|
354
|
+
:hive,
|
355
|
+
"db_name",
|
356
|
+
1,
|
357
|
+
1,
|
358
|
+
"test_url",
|
359
|
+
"test_qury",
|
360
|
+
start_at,
|
361
|
+
start_at + 10,
|
362
|
+
1,
|
363
|
+
3,
|
364
|
+
100
|
365
|
+
)] * 3
|
366
|
+
end
|
367
|
+
|
368
|
+
before do
|
369
|
+
client = Object.new
|
370
|
+
client.stub(:jobs).and_return(jobs)
|
371
|
+
command.stub(:get_client).and_return(client)
|
372
|
+
end
|
373
|
+
|
374
|
+
it 'should display all job list' do
|
375
|
+
expect(subject).to eq <<ACTUAL
|
376
|
+
+-------+--------+---------------------------+-------------+-------------------+------------+----------+----------+------+----------+---------------+----------+
|
377
|
+
| JobID | Status | Start | Elapsed | CPUTime | ResultSize | Priority | Result | Type | Database | Query | Duration |
|
378
|
+
+-------+--------+---------------------------+-------------+-------------------+------------+----------+----------+------+----------+---------------+----------+
|
379
|
+
| 12345 | | #{start_at} | 10s | 001ms | 3 B | HIGH | test_url | hive | db_name | test_qury ... | 00:01:40 |
|
380
|
+
| 12345 | | #{start_at} | 10s | 001ms | 3 B | HIGH | test_url | hive | db_name | test_qury ... | 00:01:40 |
|
381
|
+
| 12345 | | #{start_at} | 10s | 001ms | 3 B | HIGH | test_url | hive | db_name | test_qury ... | 00:01:40 |
|
382
|
+
+-------+--------+---------------------------+-------------+-------------------+------------+----------+----------+------+----------+---------------+----------+
|
383
|
+
3 rows in set
|
384
|
+
ACTUAL
|
385
|
+
end
|
386
|
+
end
|
387
|
+
|
241
388
|
describe 'multibyte chars' do
|
242
389
|
let :multibyte_string do
|
243
390
|
# Originally a Windows-31J but in UTF-8 like msgpack-ruby populates
|
@@ -7,22 +7,144 @@ require 'td/client/model'
|
|
7
7
|
require 'time'
|
8
8
|
|
9
9
|
module TreasureData::Command
|
10
|
+
describe TreasureData::Command do
|
11
|
+
let(:client) { Object.new }
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
let :job_params do
|
14
|
+
['job_id', :type, 'query', 'status', nil, nil, time, time, 123, 456]
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:job1) { TreasureData::ScheduledJob.new(client, '2015-02-17 13:22:52 +0900', *job_params) }
|
18
|
+
let(:job2) { TreasureData::ScheduledJob.new(client, nil, *job_params) }
|
19
|
+
let(:time) { Time.now.xmlschema }
|
20
|
+
let(:command) { Class.new { include TreasureData::Command }.new }
|
21
|
+
let(:argv) { [] }
|
22
|
+
let(:schedules) { [] }
|
23
|
+
let(:op) { List::CommandParser.new('sched:last_job', %w[], %w[], false, argv, []) }
|
24
|
+
|
25
|
+
before do
|
26
|
+
client.stub(:schedules).and_return(schedules)
|
21
27
|
command.stub(:get_client).and_return(client)
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'sched_history' do
|
31
|
+
before do
|
32
|
+
client.stub(:history).and_return(history)
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:history) { [job1, job2] }
|
36
|
+
|
37
|
+
it 'runs' do
|
38
|
+
expect {
|
39
|
+
command.sched_history(op)
|
40
|
+
}.to_not raise_exception
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'sched_result' do
|
45
|
+
subject { command.sched_result(op) }
|
46
|
+
|
47
|
+
before do
|
48
|
+
command.stub(:get_history).with(client, nil, (back_number - 1), back_number).and_return(history)
|
49
|
+
end
|
50
|
+
|
51
|
+
shared_examples_for("passing argv and job_id to job:show") do
|
52
|
+
it "invoke 'job:show [original argv] [job id]'" do
|
53
|
+
TreasureData::Command::Runner.any_instance.should_receive(:run).with(["job:show", *show_arg, job_id])
|
54
|
+
subject
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context "history exists" do
|
59
|
+
|
60
|
+
let(:job_id) { history.first.job_id }
|
61
|
+
|
62
|
+
context 'without --last option' do
|
63
|
+
let(:history) { [job1] }
|
64
|
+
let(:back_number) { 1 }
|
65
|
+
|
66
|
+
let(:argv) { %w(--last --format csv) }
|
67
|
+
let(:show_arg) { %w(--format csv) }
|
68
|
+
it_behaves_like "passing argv and job_id to job:show"
|
69
|
+
end
|
70
|
+
|
71
|
+
context '--last witout Num' do
|
72
|
+
let(:history) { [job1] }
|
73
|
+
let(:back_number) { 1 }
|
74
|
+
|
75
|
+
let(:argv) { %w(--last --format csv) }
|
76
|
+
let(:show_arg) { %w(--format csv) }
|
77
|
+
it_behaves_like "passing argv and job_id to job:show"
|
78
|
+
end
|
79
|
+
|
80
|
+
context '--last 1' do
|
81
|
+
let(:history) { [job1] }
|
82
|
+
let(:back_number) { 1 }
|
83
|
+
|
84
|
+
let(:argv) { %w(--last 1 --format csv) }
|
85
|
+
let(:show_arg) { %w(--format csv) }
|
86
|
+
it_behaves_like "passing argv and job_id to job:show"
|
87
|
+
end
|
88
|
+
|
89
|
+
context '--last 1 and --limit 1' do
|
90
|
+
let(:history) { [job1] }
|
91
|
+
let(:back_number) { 1 }
|
92
|
+
|
93
|
+
let(:argv) { %w(--last 1 --format csv --limit 1) }
|
94
|
+
let(:show_arg) { %w(--format csv --limit 1) }
|
95
|
+
it_behaves_like "passing argv and job_id to job:show"
|
96
|
+
end
|
97
|
+
|
98
|
+
context '--last 2 after format option' do
|
99
|
+
let(:history) { [job2] }
|
100
|
+
let(:back_number) { 2 }
|
101
|
+
|
102
|
+
let(:argv) { %w(--format csv --last 2 ) }
|
103
|
+
let(:show_arg) { %w(--format csv) }
|
104
|
+
it_behaves_like "passing argv and job_id to job:show"
|
105
|
+
end
|
106
|
+
|
107
|
+
context '--last 3(too back over)' do
|
108
|
+
let(:history) { [] }
|
109
|
+
let(:back_number) { 3 }
|
110
|
+
|
111
|
+
let(:argv) { %w(--last 3 --format csv) }
|
112
|
+
it 'raise ' do
|
113
|
+
expect {
|
114
|
+
command.sched_result(op)
|
115
|
+
}.to raise_exception, "No jobs available for this query. Refer to 'sched:history'"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
context '--last WRONGARG(not a number)' do
|
120
|
+
let(:history) { [job1] }
|
121
|
+
let(:back_number) { 1 }
|
122
|
+
|
123
|
+
let(:argv) { %w(--last TEST --format csv) }
|
124
|
+
|
125
|
+
it "exit with 1" do
|
126
|
+
begin
|
127
|
+
command.sched_result(op)
|
128
|
+
rescue SystemExit => e
|
129
|
+
expect(e.status).to eq 1
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
context "history dose not exists" do
|
136
|
+
let(:back_number) { 1 }
|
137
|
+
let(:history) { [] }
|
138
|
+
before { client.stub(:history) { raise TreasureData::NotFoundError } }
|
139
|
+
|
140
|
+
it "exit with 1" do
|
141
|
+
begin
|
142
|
+
subject
|
143
|
+
rescue SystemExit => e
|
144
|
+
expect(e.status).to eq 1
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
26
148
|
end
|
27
149
|
end
|
28
150
|
end
|
@@ -130,11 +130,8 @@ module TreasureData::Command
|
|
130
130
|
before do
|
131
131
|
create_tables = lambda {|db_name|
|
132
132
|
(1..6).map {|i|
|
133
|
-
# NOTE: TreasureData::Helpers.format_with_delimiter uses `gsub!` to their argument
|
134
|
-
# the argument (in our case, `number_raw`) will be rewritten by them
|
135
|
-
# To avoid that behavior, pass `number_raw.dup` instead of `number_raw`
|
136
133
|
schema = TreasureData::Schema.new.from_json(JSON.parse('[]'))
|
137
|
-
TreasureData::Table.new(client, db_name, db_name + "_table_#{i}", 'log', schema, number_raw
|
134
|
+
TreasureData::Table.new(client, db_name, db_name + "_table_#{i}", 'log', schema, number_raw, Time.now.to_i, Time.now.to_i, 0, nil, nil, nil, nil, nil)
|
138
135
|
}
|
139
136
|
}
|
140
137
|
db_tables = create_tables.call(db.name)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
config:
|
3
|
+
type: s3
|
4
|
+
access_key_id: ACCESS_KEY
|
5
|
+
secret_access_key: SECRET_ACCESS
|
6
|
+
bucket: test-bucket
|
7
|
+
path_prefix: dummy.csv.gz
|
8
|
+
parser:
|
9
|
+
charset: ISO-8859-9
|
10
|
+
newline: CRLF
|
11
|
+
type: csv
|
12
|
+
delimiter: ","
|
13
|
+
quote: ''
|
14
|
+
escape: ''
|
15
|
+
skip_header_lines: 1
|
16
|
+
columns:
|
17
|
+
- name: foo
|
18
|
+
type: long
|
19
|
+
- name: bar
|
20
|
+
type: long
|
21
|
+
- name: baz
|
22
|
+
type: long
|
23
|
+
decoders:
|
24
|
+
- type: gzip
|
data/td.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_dependency "yajl-ruby", "~> 1.1"
|
22
22
|
gem.add_dependency "hirb", ">= 0.4.5"
|
23
23
|
gem.add_dependency "parallel", "~> 0.6.1"
|
24
|
-
gem.add_dependency "td-client", "~> 0.8.
|
24
|
+
gem.add_dependency "td-client", "~> 0.8.70"
|
25
25
|
gem.add_dependency "td-logger", "~> 0.3.21"
|
26
26
|
gem.add_dependency "rubyzip", "~> 0.9.9"
|
27
27
|
gem.add_development_dependency "rake", "~> 0.9"
|
metadata
CHANGED
@@ -1,183 +1,204 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.10
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Treasure Data, Inc.
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
+
date: 2015-05-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: msgpack
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 0.4.4
|
20
|
-
- -
|
22
|
+
- - ! '!='
|
21
23
|
- !ruby/object:Gem::Version
|
22
24
|
version: 0.5.0
|
23
|
-
- -
|
25
|
+
- - ! '!='
|
24
26
|
- !ruby/object:Gem::Version
|
25
27
|
version: 0.5.1
|
26
|
-
- -
|
28
|
+
- - ! '!='
|
27
29
|
- !ruby/object:Gem::Version
|
28
30
|
version: 0.5.2
|
29
|
-
- -
|
31
|
+
- - ! '!='
|
30
32
|
- !ruby/object:Gem::Version
|
31
33
|
version: 0.5.3
|
32
|
-
- -
|
34
|
+
- - <
|
33
35
|
- !ruby/object:Gem::Version
|
34
36
|
version: 0.6.0
|
35
37
|
type: :runtime
|
36
38
|
prerelease: false
|
37
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
38
41
|
requirements:
|
39
|
-
- -
|
42
|
+
- - ! '>='
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: 0.4.4
|
42
|
-
- -
|
45
|
+
- - ! '!='
|
43
46
|
- !ruby/object:Gem::Version
|
44
47
|
version: 0.5.0
|
45
|
-
- -
|
48
|
+
- - ! '!='
|
46
49
|
- !ruby/object:Gem::Version
|
47
50
|
version: 0.5.1
|
48
|
-
- -
|
51
|
+
- - ! '!='
|
49
52
|
- !ruby/object:Gem::Version
|
50
53
|
version: 0.5.2
|
51
|
-
- -
|
54
|
+
- - ! '!='
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: 0.5.3
|
54
|
-
- -
|
57
|
+
- - <
|
55
58
|
- !ruby/object:Gem::Version
|
56
59
|
version: 0.6.0
|
57
60
|
- !ruby/object:Gem::Dependency
|
58
61
|
name: yajl-ruby
|
59
62
|
requirement: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
60
64
|
requirements:
|
61
|
-
- -
|
65
|
+
- - ~>
|
62
66
|
- !ruby/object:Gem::Version
|
63
67
|
version: '1.1'
|
64
68
|
type: :runtime
|
65
69
|
prerelease: false
|
66
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
67
72
|
requirements:
|
68
|
-
- -
|
73
|
+
- - ~>
|
69
74
|
- !ruby/object:Gem::Version
|
70
75
|
version: '1.1'
|
71
76
|
- !ruby/object:Gem::Dependency
|
72
77
|
name: hirb
|
73
78
|
requirement: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
74
80
|
requirements:
|
75
|
-
- -
|
81
|
+
- - ! '>='
|
76
82
|
- !ruby/object:Gem::Version
|
77
83
|
version: 0.4.5
|
78
84
|
type: :runtime
|
79
85
|
prerelease: false
|
80
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
81
88
|
requirements:
|
82
|
-
- -
|
89
|
+
- - ! '>='
|
83
90
|
- !ruby/object:Gem::Version
|
84
91
|
version: 0.4.5
|
85
92
|
- !ruby/object:Gem::Dependency
|
86
93
|
name: parallel
|
87
94
|
requirement: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
88
96
|
requirements:
|
89
|
-
- -
|
97
|
+
- - ~>
|
90
98
|
- !ruby/object:Gem::Version
|
91
99
|
version: 0.6.1
|
92
100
|
type: :runtime
|
93
101
|
prerelease: false
|
94
102
|
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
95
104
|
requirements:
|
96
|
-
- -
|
105
|
+
- - ~>
|
97
106
|
- !ruby/object:Gem::Version
|
98
107
|
version: 0.6.1
|
99
108
|
- !ruby/object:Gem::Dependency
|
100
109
|
name: td-client
|
101
110
|
requirement: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
102
112
|
requirements:
|
103
|
-
- -
|
113
|
+
- - ~>
|
104
114
|
- !ruby/object:Gem::Version
|
105
|
-
version: 0.8.
|
115
|
+
version: 0.8.70
|
106
116
|
type: :runtime
|
107
117
|
prerelease: false
|
108
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
109
120
|
requirements:
|
110
|
-
- -
|
121
|
+
- - ~>
|
111
122
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.8.
|
123
|
+
version: 0.8.70
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: td-logger
|
115
126
|
requirement: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
116
128
|
requirements:
|
117
|
-
- -
|
129
|
+
- - ~>
|
118
130
|
- !ruby/object:Gem::Version
|
119
131
|
version: 0.3.21
|
120
132
|
type: :runtime
|
121
133
|
prerelease: false
|
122
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
123
136
|
requirements:
|
124
|
-
- -
|
137
|
+
- - ~>
|
125
138
|
- !ruby/object:Gem::Version
|
126
139
|
version: 0.3.21
|
127
140
|
- !ruby/object:Gem::Dependency
|
128
141
|
name: rubyzip
|
129
142
|
requirement: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
130
144
|
requirements:
|
131
|
-
- -
|
145
|
+
- - ~>
|
132
146
|
- !ruby/object:Gem::Version
|
133
147
|
version: 0.9.9
|
134
148
|
type: :runtime
|
135
149
|
prerelease: false
|
136
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
none: false
|
137
152
|
requirements:
|
138
|
-
- -
|
153
|
+
- - ~>
|
139
154
|
- !ruby/object:Gem::Version
|
140
155
|
version: 0.9.9
|
141
156
|
- !ruby/object:Gem::Dependency
|
142
157
|
name: rake
|
143
158
|
requirement: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
144
160
|
requirements:
|
145
|
-
- -
|
161
|
+
- - ~>
|
146
162
|
- !ruby/object:Gem::Version
|
147
163
|
version: '0.9'
|
148
164
|
type: :development
|
149
165
|
prerelease: false
|
150
166
|
version_requirements: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
151
168
|
requirements:
|
152
|
-
- -
|
169
|
+
- - ~>
|
153
170
|
- !ruby/object:Gem::Version
|
154
171
|
version: '0.9'
|
155
172
|
- !ruby/object:Gem::Dependency
|
156
173
|
name: rspec
|
157
174
|
requirement: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
158
176
|
requirements:
|
159
|
-
- -
|
177
|
+
- - ~>
|
160
178
|
- !ruby/object:Gem::Version
|
161
179
|
version: 2.11.0
|
162
180
|
type: :development
|
163
181
|
prerelease: false
|
164
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
165
184
|
requirements:
|
166
|
-
- -
|
185
|
+
- - ~>
|
167
186
|
- !ruby/object:Gem::Version
|
168
187
|
version: 2.11.0
|
169
188
|
- !ruby/object:Gem::Dependency
|
170
189
|
name: simplecov
|
171
190
|
requirement: !ruby/object:Gem::Requirement
|
191
|
+
none: false
|
172
192
|
requirements:
|
173
|
-
- -
|
193
|
+
- - ~>
|
174
194
|
- !ruby/object:Gem::Version
|
175
195
|
version: 0.5.4
|
176
196
|
type: :development
|
177
197
|
prerelease: false
|
178
198
|
version_requirements: !ruby/object:Gem::Requirement
|
199
|
+
none: false
|
179
200
|
requirements:
|
180
|
-
- -
|
201
|
+
- - ~>
|
181
202
|
- !ruby/object:Gem::Version
|
182
203
|
version: 0.5.4
|
183
204
|
description: CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing
|
@@ -187,7 +208,7 @@ executables:
|
|
187
208
|
extensions: []
|
188
209
|
extra_rdoc_files: []
|
189
210
|
files:
|
190
|
-
-
|
211
|
+
- .gitignore
|
191
212
|
- ChangeLog
|
192
213
|
- Gemfile
|
193
214
|
- README.rdoc
|
@@ -211,6 +232,7 @@ files:
|
|
211
232
|
- lib/td/command/import.rb
|
212
233
|
- lib/td/command/job.rb
|
213
234
|
- lib/td/command/list.rb
|
235
|
+
- lib/td/command/options.rb
|
214
236
|
- lib/td/command/password.rb
|
215
237
|
- lib/td/command/query.rb
|
216
238
|
- lib/td/command/result.rb
|
@@ -238,11 +260,13 @@ files:
|
|
238
260
|
- spec/file_reader/shared_context.rb
|
239
261
|
- spec/file_reader_spec.rb
|
240
262
|
- spec/spec_helper.rb
|
263
|
+
- spec/td/command/connector_spec.rb
|
241
264
|
- spec/td/command/import_spec.rb
|
242
265
|
- spec/td/command/job_spec.rb
|
243
266
|
- spec/td/command/sched_spec.rb
|
244
267
|
- spec/td/command/table_spec.rb
|
245
268
|
- spec/td/common_spec.rb
|
269
|
+
- spec/td/fixture/bulk_load.yml
|
246
270
|
- spec/td/fixture/ca.cert
|
247
271
|
- spec/td/fixture/server.cert
|
248
272
|
- spec/td/fixture/server.key
|
@@ -253,26 +277,30 @@ files:
|
|
253
277
|
- td.gemspec
|
254
278
|
homepage: http://treasure-data.com/
|
255
279
|
licenses: []
|
256
|
-
metadata: {}
|
257
280
|
post_install_message:
|
258
281
|
rdoc_options: []
|
259
282
|
require_paths:
|
260
283
|
- lib
|
261
284
|
required_ruby_version: !ruby/object:Gem::Requirement
|
285
|
+
none: false
|
262
286
|
requirements:
|
263
|
-
- -
|
287
|
+
- - ! '>='
|
264
288
|
- !ruby/object:Gem::Version
|
265
289
|
version: '1.9'
|
266
290
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
291
|
+
none: false
|
267
292
|
requirements:
|
268
|
-
- -
|
293
|
+
- - ! '>='
|
269
294
|
- !ruby/object:Gem::Version
|
270
295
|
version: '0'
|
296
|
+
segments:
|
297
|
+
- 0
|
298
|
+
hash: -1990136432195876879
|
271
299
|
requirements: []
|
272
300
|
rubyforge_project:
|
273
|
-
rubygems_version:
|
301
|
+
rubygems_version: 1.8.23.2
|
274
302
|
signing_key:
|
275
|
-
specification_version:
|
303
|
+
specification_version: 3
|
276
304
|
summary: CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing
|
277
305
|
test_files:
|
278
306
|
- spec/file_reader/filter_spec.rb
|
@@ -282,11 +310,13 @@ test_files:
|
|
282
310
|
- spec/file_reader/shared_context.rb
|
283
311
|
- spec/file_reader_spec.rb
|
284
312
|
- spec/spec_helper.rb
|
313
|
+
- spec/td/command/connector_spec.rb
|
285
314
|
- spec/td/command/import_spec.rb
|
286
315
|
- spec/td/command/job_spec.rb
|
287
316
|
- spec/td/command/sched_spec.rb
|
288
317
|
- spec/td/command/table_spec.rb
|
289
318
|
- spec/td/common_spec.rb
|
319
|
+
- spec/td/fixture/bulk_load.yml
|
290
320
|
- spec/td/fixture/ca.cert
|
291
321
|
- spec/td/fixture/server.cert
|
292
322
|
- spec/td/fixture/server.key
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 35121e210f89e8af8d88f3de09c5da1a46f465f5
|
4
|
-
data.tar.gz: 2ed8a007214c1861d9653ad88a6e204b11959487
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: e29254a97c4170455119d3d0d11a8c026d05b431f3fe58ad69bbaeb7f6837805fcdbe51fdd91c8ebe3ae6a9c7077f3312cd681a0f865a3bf2eddb43399446be0
|
7
|
-
data.tar.gz: 908f511b6ed2f6b293cdc809b203a367869607f7fd0d130c5f85919cc5d0462fec372a214c31df2ecde30cde248804c173fb9a5d32136d84f605d5557fc09cb3
|