td 0.16.3 → 0.16.4
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.
- checksums.yaml +5 -5
- data/ChangeLog +4 -0
- data/lib/td/command/query.rb +5 -0
- data/lib/td/command/sched.rb +10 -1
- data/lib/td/version.rb +1 -1
- data/spec/td/command/query_spec.rb +10 -0
- data/spec/td/command/sched_spec.rb +53 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2f0c51098af9b5cb3c28528a4d8ec826f5e0fef8
|
4
|
+
data.tar.gz: 707683b4efae2ff6541e9f6327002cc3c55b83d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22e82bcaaaa048e1740059f32852aa1bf1908ad2ee655b7e497f5a58083e317bc713e9db2ca31758d2b243ee49ef5c1ab3c83b4e700f36910fc354a8f20f034f
|
7
|
+
data.tar.gz: '08888013e2bad1e89cd0f35593efe764bf65191d0f8f1e0ed2a3199635dea8e014ca23ba3540a24a7cc5e4851462e5ea163749f7893eed1d112251e8359caaef'
|
data/ChangeLog
CHANGED
data/lib/td/command/query.rb
CHANGED
@@ -21,6 +21,7 @@ module Command
|
|
21
21
|
exclude = false
|
22
22
|
pool_name = nil
|
23
23
|
domain_key = nil
|
24
|
+
engine_version = nil
|
24
25
|
|
25
26
|
op.on('-d', '--database DB_NAME', 'use the database (required)') {|s|
|
26
27
|
db_name = s
|
@@ -90,6 +91,9 @@ module Command
|
|
90
91
|
op.on('--domain-key DOMAIN_KEY', 'optional user-provided unique ID. You can include this ID with your `create` request to ensure idempotence') {|s|
|
91
92
|
domain_key = s
|
92
93
|
}
|
94
|
+
op.on('--engine-version ENGINE_VERSION', 'EXPERIMENTAL: specify query engine version by name') {|s|
|
95
|
+
engine_version = s
|
96
|
+
}
|
93
97
|
|
94
98
|
sql = op.cmd_parse
|
95
99
|
|
@@ -140,6 +144,7 @@ module Command
|
|
140
144
|
opts['type'] = type if type
|
141
145
|
opts['pool_name'] = pool_name if pool_name
|
142
146
|
opts['domain_key'] = domain_key if domain_key
|
147
|
+
opts['engine_version'] = engine_version if engine_version
|
143
148
|
job = client.query(db_name, sql, result_url, priority, retry_limit, opts)
|
144
149
|
|
145
150
|
$stdout.puts "Job #{job.job_id} is queued."
|
data/lib/td/command/sched.rb
CHANGED
@@ -39,6 +39,7 @@ module Command
|
|
39
39
|
query = nil
|
40
40
|
retry_limit = nil
|
41
41
|
type = nil
|
42
|
+
engine_version = nil
|
42
43
|
|
43
44
|
op.on('-d', '--database DB_NAME', 'use the database (required)') {|s|
|
44
45
|
db_name = s
|
@@ -79,6 +80,9 @@ module Command
|
|
79
80
|
op.on('-T', '--type TYPE', 'set query type (hive)') {|s|
|
80
81
|
type = s
|
81
82
|
}
|
83
|
+
op.on('--engine-version ENGINE_VERSION', 'EXPERIMENTAL: specify query engine version by name') {|s|
|
84
|
+
engine_version = s
|
85
|
+
}
|
82
86
|
|
83
87
|
name, cron, sql = op.cmd_parse
|
84
88
|
|
@@ -109,7 +113,7 @@ module Command
|
|
109
113
|
get_database(client, db_name)
|
110
114
|
|
111
115
|
begin
|
112
|
-
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, :type=>type)
|
116
|
+
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, :type=>type, :engine_version=>engine_version)
|
113
117
|
rescue AlreadyExistsError
|
114
118
|
cmd_debug_error $!
|
115
119
|
$stderr.puts "Schedule '#{name}' already exists."
|
@@ -153,6 +157,7 @@ module Command
|
|
153
157
|
priority = nil
|
154
158
|
retry_limit = nil
|
155
159
|
type = nil
|
160
|
+
engine_version = nil
|
156
161
|
|
157
162
|
op.on('-n', '--newname NAME', 'change the schedule\'s name') {|n|
|
158
163
|
newname = n
|
@@ -193,6 +198,9 @@ module Command
|
|
193
198
|
op.on('-T', '--type TYPE', 'set query type (hive)') {|s|
|
194
199
|
type = s
|
195
200
|
}
|
201
|
+
op.on('--engine-version ENGINE_VERSION', 'EXPERIMENTAL: specify query engine version by name') {|s|
|
202
|
+
engine_version = s
|
203
|
+
}
|
196
204
|
|
197
205
|
curname = op.cmd_parse
|
198
206
|
|
@@ -207,6 +215,7 @@ module Command
|
|
207
215
|
params['priority'] = priority.to_s if priority
|
208
216
|
params['retry_limit'] = retry_limit.to_s if retry_limit
|
209
217
|
params['type'] = type.to_s if type
|
218
|
+
params['engine_version'] = engine_version if engine_version
|
210
219
|
|
211
220
|
if params.empty?
|
212
221
|
$stderr.puts op.to_s
|
data/lib/td/version.rb
CHANGED
@@ -102,5 +102,15 @@ module TreasureData::Command
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
end
|
105
|
+
|
106
|
+
describe 'engine version' do
|
107
|
+
it 'accepts --engine-version' do
|
108
|
+
expect(client).to receive(:query).
|
109
|
+
with("sample_datasets", "SELECT 1;", nil, nil, nil, {"engine_version"=>"stable"}).
|
110
|
+
and_return(job)
|
111
|
+
op = List::CommandParser.new("query", %w[query], %w[], nil, ['--engine-version=stable', '-dsample_datasets', 'SELECT 1;'], false)
|
112
|
+
command.query(op)
|
113
|
+
end
|
114
|
+
end
|
105
115
|
end
|
106
116
|
end
|
@@ -27,6 +27,59 @@ module TreasureData::Command
|
|
27
27
|
allow(command).to receive(:get_client).and_return(client)
|
28
28
|
end
|
29
29
|
|
30
|
+
describe 'sched_create' do
|
31
|
+
before do
|
32
|
+
expect(client).to receive(:database).with('sample_datasets')
|
33
|
+
end
|
34
|
+
|
35
|
+
describe 'engine version' do
|
36
|
+
let(:op) {
|
37
|
+
List::CommandParser.new(
|
38
|
+
'sched:create',
|
39
|
+
%w[name cron sql],
|
40
|
+
%w[],
|
41
|
+
false,
|
42
|
+
['--engine-version=stable', '-dsample_datasets', 'sched1', '0 * * * *', 'select count(*) from table1'],
|
43
|
+
false
|
44
|
+
)
|
45
|
+
}
|
46
|
+
|
47
|
+
it 'accepts --engine-version' do
|
48
|
+
expect(client).to receive(:create_schedule).
|
49
|
+
with(
|
50
|
+
"sched1",
|
51
|
+
{
|
52
|
+
cron: '0 * * * *',
|
53
|
+
query: 'select count(*) from table1',
|
54
|
+
database: 'sample_datasets',
|
55
|
+
result: nil,
|
56
|
+
timezone: nil,
|
57
|
+
delay: 0,
|
58
|
+
priority: nil,
|
59
|
+
retry_limit: nil,
|
60
|
+
type: nil,
|
61
|
+
engine_version: "stable"
|
62
|
+
}
|
63
|
+
).
|
64
|
+
and_return(nil)
|
65
|
+
command.sched_create(op)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe 'sched_update' do
|
71
|
+
describe 'engine version' do
|
72
|
+
let(:op) { List::CommandParser.new('sched:update', %w[name], %w[], false, ['--engine-version=stable', 'old_name'], false) }
|
73
|
+
|
74
|
+
it 'accepts --engine-version' do
|
75
|
+
expect(client).to receive(:update_schedule).
|
76
|
+
with("old_name", {"engine_version"=>"stable"}).
|
77
|
+
and_return(nil)
|
78
|
+
command.sched_update(op)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
30
83
|
describe 'sched_history' do
|
31
84
|
before do
|
32
85
|
allow(client).to receive(:history).and_return(history)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Treasure Data, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -309,7 +309,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
309
309
|
version: '0'
|
310
310
|
requirements: []
|
311
311
|
rubyforge_project:
|
312
|
-
rubygems_version: 2.
|
312
|
+
rubygems_version: 2.6.14.1
|
313
313
|
signing_key:
|
314
314
|
specification_version: 4
|
315
315
|
summary: CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing
|