td-client 0.8.18 → 0.8.19

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,4 +1,10 @@
1
1
 
2
+ == 2012-07-03 version 0.8.19
3
+
4
+ * Added Client#partial_delete
5
+ * Client#query and Client#create_schedule support 'priority' option
6
+
7
+
2
8
  == 2012-06-26 version 0.8.18
3
9
 
4
10
  * Client#result_each(&block) uses streaming raed not to read all data into memory
@@ -104,30 +104,30 @@ class Client
104
104
  end
105
105
 
106
106
  # => Job
107
- def query(db_name, q, result_url=nil)
108
- job_id = @api.hive_query(q, db_name, result_url)
107
+ def query(db_name, q, result_url=nil, priority=nil)
108
+ job_id = @api.hive_query(q, db_name, result_url, priority)
109
109
  Job.new(self, job_id, :hive, q)
110
110
  end
111
111
 
112
112
  # => [Job]
113
113
  def jobs(from=nil, to=nil, status=nil)
114
114
  result = @api.list_jobs(from, to, status)
115
- result.map {|job_id,type,status,query,start_at,end_at,result_url|
116
- Job.new(self, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url)
115
+ result.map {|job_id,type,status,query,start_at,end_at,result_url,priority|
116
+ Job.new(self, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url, nil, priority)
117
117
  }
118
118
  end
119
119
 
120
120
  # => Job
121
121
  def job(job_id)
122
122
  job_id = job_id.to_s
123
- type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @api.show_job(job_id)
124
- Job.new(self, job_id, type, query, status, url, debug, start_at, end_at, nil, result_url, hive_result_schema)
123
+ type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @api.show_job(job_id)
124
+ Job.new(self, job_id, type, query, status, url, debug, start_at, end_at, nil, result_url, hive_result_schema, priority)
125
125
  end
126
126
 
127
127
  # => type:Symbol, url:String
128
128
  def job_status(job_id)
129
- type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @api.show_job(job_id)
130
- return query, status, url, debug, start_at, end_at, result_url, hive_result_schema
129
+ type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @api.show_job(job_id)
130
+ return query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority
131
131
  end
132
132
 
133
133
  # => result:[{column:String=>value:Object]
@@ -156,6 +156,12 @@ class Client
156
156
  Job.new(self, job_id, :export, nil)
157
157
  end
158
158
 
159
+ # => Job
160
+ def partial_delete(db_name, table_name, to, from)
161
+ job_id = @api.partial_delete(db_name, table_name, to, from)
162
+ Job.new(self, job_id, :partialdelete, nil)
163
+ end
164
+
159
165
  # => nil
160
166
  def create_bulk_import(name, database, table)
161
167
  @api.create_bulk_import(name, database, table)
@@ -229,8 +235,8 @@ class Client
229
235
  # [Schedule]
230
236
  def schedules
231
237
  result = @api.list_schedules
232
- result.map {|name,cron,query,database,result_url,timezone,delay,next_time|
233
- Schedule.new(self, name, cron, query, database, result_url, timezone, delay, next_time)
238
+ result.map {|name,cron,query,database,result_url,timezone,delay,next_time,priority|
239
+ Schedule.new(self, name, cron, query, database, result_url, timezone, delay, next_time, priority)
234
240
  }
235
241
  end
236
242
 
@@ -242,8 +248,8 @@ class Client
242
248
  # [ScheduledJob]
243
249
  def history(name, from=nil, to=nil)
244
250
  result = @api.history(name, from, to)
245
- result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url|
246
- ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url)
251
+ result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url,priority|
252
+ ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url, nil, priority)
247
253
  }
248
254
  end
249
255
 
@@ -290,7 +290,8 @@ class API
290
290
  start_at = m['start_at']
291
291
  end_at = m['end_at']
292
292
  result_url = m['result']
293
- result << [job_id, type, status, query, start_at, end_at, result_url]
293
+ priority = m['priority']
294
+ result << [job_id, type, status, query, start_at, end_at, result_url, priority]
294
295
  }
295
296
  return result
296
297
  end
@@ -317,7 +318,8 @@ class API
317
318
  else
318
319
  hive_result_schema = JSON.parse(hive_result_schema)
319
320
  end
320
- return [type, query, status, url, debug, start_at, end_at, result, hive_result_schema]
321
+ priority = js['priority']
322
+ return [type, query, status, url, debug, start_at, end_at, result, hive_result_schema, priority]
321
323
  end
322
324
 
323
325
  def job_result(job_id)
@@ -382,9 +384,10 @@ class API
382
384
  end
383
385
 
384
386
  # => jobId:String
385
- def hive_query(q, db=nil, result_url=nil)
387
+ def hive_query(q, db=nil, result_url=nil, priority=nil)
386
388
  params = {'query' => q}
387
389
  params['result'] = result_url if result_url
390
+ params['priority'] = priority if priority
388
391
  code, body, res = post("/v3/job/issue/hive/#{e db}", params)
389
392
  if code != "200"
390
393
  raise_error("Query failed", res)
@@ -409,6 +412,23 @@ class API
409
412
  return js['job_id'].to_s
410
413
  end
411
414
 
415
+
416
+ ####
417
+ ## Partial delete API
418
+ ##
419
+
420
+ def partial_delete(db, table, to, from)
421
+ params = {}
422
+ params['to'] = to.to_s
423
+ params['from'] = from.to_s
424
+ code, body, res = post("/v3/table/partialdelete/#{e db}/#{e table}", params)
425
+ if code != "200"
426
+ raise_error("Partial delete failed", res)
427
+ end
428
+ js = checked_json(body, %w[job_id])
429
+ return js['job_id'].to_s
430
+ end
431
+
412
432
  ####
413
433
  ## Bulk import API
414
434
  ##
@@ -592,7 +612,8 @@ class API
592
612
  timezone = m['timezone']
593
613
  delay = m['delay']
594
614
  next_time = m['next_time']
595
- result << [name, cron, query, database, result_url, timezone, delay, next_time]
615
+ priority = m['priority']
616
+ result << [name, cron, query, database, result_url, timezone, delay, next_time, priority]
596
617
  }
597
618
  return result
598
619
  end
@@ -624,7 +645,8 @@ class API
624
645
  end_at = m['end_at']
625
646
  scheduled_at = m['scheduled_at']
626
647
  result_url = m['result']
627
- result << [scheduled_at, job_id, type, status, query, start_at, end_at, result_url]
648
+ priority = m['priority']
649
+ result << [scheduled_at, job_id, type, status, query, start_at, end_at, result_url, priority]
628
650
  }
629
651
  return result
630
652
  end
@@ -175,7 +175,7 @@ class Job < Model
175
175
  STATUS_KILLED = "killed"
176
176
  FINISHED_STATUS = [STATUS_SUCCESS, STATUS_ERROR, STATUS_KILLED]
177
177
 
178
- def initialize(client, job_id, type, query, status=nil, url=nil, debug=nil, start_at=nil, end_at=nil, result=nil, result_url=nil, hive_result_schema=nil)
178
+ def initialize(client, job_id, type, query, status=nil, url=nil, debug=nil, start_at=nil, end_at=nil, result=nil, result_url=nil, hive_result_schema=nil, priority=nil)
179
179
  super(client)
180
180
  @job_id = job_id
181
181
  @type = type
@@ -188,10 +188,11 @@ class Job < Model
188
188
  @result = result
189
189
  @result_url = result_url
190
190
  @hive_result_schema = hive_result_schema
191
+ @priority = priority
191
192
  end
192
193
 
193
194
  attr_reader :job_id, :type, :result_url
194
- attr_reader :hive_result_schema
195
+ attr_reader :hive_result_schema, :priority
195
196
 
196
197
  def wait(timeout=nil)
197
198
  # TODO
@@ -282,7 +283,7 @@ class Job < Model
282
283
  end
283
284
 
284
285
  def update_status!
285
- query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @client.job_status(@job_id)
286
+ query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @client.job_status(@job_id)
286
287
  @query = query
287
288
  @status = status
288
289
  @url = url
@@ -308,7 +309,7 @@ end
308
309
 
309
310
 
310
311
  class Schedule < Model
311
- def initialize(client, name, cron, query, database=nil, result_url=nil, timezone=nil, delay=nil, next_time=nil)
312
+ def initialize(client, name, cron, query, database=nil, result_url=nil, timezone=nil, delay=nil, next_time=nil, priority=nil)
312
313
  super(client)
313
314
  @name = name
314
315
  @cron = cron
@@ -318,9 +319,10 @@ class Schedule < Model
318
319
  @timezone = timezone
319
320
  @delay = delay
320
321
  @next_time = next_time
322
+ @priority = priority
321
323
  end
322
324
 
323
- attr_reader :name, :cron, :query, :database, :result_url, :timezone, :delay
325
+ attr_reader :name, :cron, :query, :database, :result_url, :timezone, :delay, :priority
324
326
 
325
327
  def next_time
326
328
  @next_time ? Time.parse(@next_time) : nil
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
 
3
- VERSION = '0.8.18'
3
+ VERSION = '0.8.19'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: td-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.18
4
+ version: 0.8.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-27 00:00:00.000000000Z
12
+ date: 2012-07-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
16
- requirement: &70231327028320 !ruby/object:Gem::Requirement
16
+ requirement: &70143141621920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70231327028320
24
+ version_requirements: *70143141621920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &70231327027100 !ruby/object:Gem::Requirement
27
+ requirement: &70143141621100 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.4.3
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70231327027100
35
+ version_requirements: *70143141621100
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70231327025120 !ruby/object:Gem::Requirement
38
+ requirement: &70143141620160 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 2.8.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70231327025120
46
+ version_requirements: *70143141620160
47
47
  description:
48
48
  email:
49
49
  executables: []