td-client 0.8.18 → 0.8.19

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,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: []