td-client 0.8.14 → 0.8.15

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,11 @@
1
1
 
2
+ == 2012-04-26 version 0.8.15
3
+
4
+ * Result model replaces ResultSet model
5
+ * Removed methods related to ResultSet from Job and Schedule models
6
+ * Added methods related to Result to Job and Schedule models
7
+
8
+
2
9
  == 2012-04-03 version 0.8.14
3
10
 
4
11
  * Added Database#count, #created_at and #updated_at
data/lib/td/client.rb CHANGED
@@ -104,33 +104,30 @@ class Client
104
104
  end
105
105
 
106
106
  # => Job
107
- def query(db_name, q, rset=nil)
108
- job_id = @api.hive_query(q, db_name, rset)
109
- Job.new(self, job_id, :hive, q) # TODO url
107
+ def query(db_name, q, result_url=nil)
108
+ job_id = @api.hive_query(q, db_name, result_url)
109
+ Job.new(self, job_id, :hive, q)
110
110
  end
111
111
 
112
112
  # => [Job]
113
113
  def jobs(from=nil, to=nil)
114
114
  result = @api.list_jobs(from, to)
115
- result.map {|job_id,type,status,query,start_at,end_at,rset|
116
- rset = ResultSet.new(self, rset) if rset
117
- Job.new(self, job_id, type, query, status, nil, nil, start_at, end_at, nil, rset)
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)
118
117
  }
119
118
  end
120
119
 
121
120
  # => Job
122
121
  def job(job_id)
123
122
  job_id = job_id.to_s
124
- type, query, status, url, debug, start_at, end_at, rset, hive_result_schema = @api.show_job(job_id)
125
- rset = ResultSet.new(self, rset) if rset
126
- Job.new(self, job_id, type, query, status, url, debug, start_at, end_at, nil, rset, hive_result_schema)
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)
127
125
  end
128
126
 
129
127
  # => type:Symbol, url:String
130
128
  def job_status(job_id)
131
- type, query, status, url, debug, start_at, end_at, rset, hive_result_schema = @api.show_job(job_id)
132
- rset = ResultSet.new(self, rset) if rset
133
- return query, status, url, debug, start_at, end_at, rset, hive_result_schema
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
134
131
  end
135
132
 
136
133
  # => result:[{column:String=>value:Object]
@@ -154,8 +151,8 @@ class Client
154
151
  end
155
152
 
156
153
  # => Job
157
- def export(db_name, tbl_name, storage_type, opts={})
158
- job_id = @api.export(db_name, tbl_name, storage_type, opts)
154
+ def export(db_name, table_name, storage_type, opts={})
155
+ job_id = @api.export(db_name, table_name, storage_type, opts)
159
156
  Job.new(self, job_id, :export, nil)
160
157
  end
161
158
 
@@ -175,9 +172,8 @@ class Client
175
172
  # [Schedule]
176
173
  def schedules
177
174
  result = @api.list_schedules
178
- result.map {|name,cron,query,database,rset,timezone,delay,next_time|
179
- rset = ResultSet.new(self, rset) if rset
180
- Schedule.new(self, name, cron, query, database, rset, timezone, delay, next_time)
175
+ result.map {|name,cron,query,database,result_url,timezone,delay,next_time|
176
+ Schedule.new(self, name, cron, query, database, result_url, timezone, delay, next_time)
181
177
  }
182
178
  end
183
179
 
@@ -189,9 +185,8 @@ class Client
189
185
  # [ScheduledJob]
190
186
  def history(name, from=nil, to=nil)
191
187
  result = @api.history(name, from, to)
192
- result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,rset|
193
- rset = ResultSet.new(self, rset) if rset
194
- ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, rset)
188
+ result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url|
189
+ ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url)
195
190
  }
196
191
  end
197
192
 
@@ -208,30 +203,23 @@ class Client
208
203
  @api.import(db_name, table_name, format, stream, size)
209
204
  end
210
205
 
211
- # => [ResultSet]
212
- def result_sets
213
- info, names = @api.list_result_set
214
- sets = names.map {|name|
215
- ResultSet.new(self, name)
206
+ # => [Result]
207
+ def results
208
+ results = @api.list_result
209
+ rs = results.map {|name,url|
210
+ Result.new(self, name, url)
216
211
  }
217
- return sets
218
- end
219
-
220
- # => ResultSetInfo
221
- def result_set_info
222
- info, names = @api.list_result_set
223
- info = ResultSetInfo.new(self, *info)
224
- return info
212
+ return rs
225
213
  end
226
214
 
227
215
  # => true
228
- def create_result_set(name)
229
- @api.create_result_set(name)
216
+ def create_result(name, url)
217
+ @api.create_result(name, url)
230
218
  end
231
219
 
232
220
  # => true
233
- def delete_result_set(name)
234
- @api.delete_result_set(name)
221
+ def delete_result(name)
222
+ @api.delete_result(name)
235
223
  end
236
224
 
237
225
  # => [AggregationSchema]
data/lib/td/client/api.rb CHANGED
@@ -270,7 +270,7 @@ class API
270
270
  ## Job API
271
271
  ##
272
272
 
273
- # => [(jobId:String, type:Symbol, status:String, start_at:String, end_at:String, rset:String)]
273
+ # => [(jobId:String, type:Symbol, status:String, start_at:String, end_at:String, result_url:String)]
274
274
  def list_jobs(from=0, to=nil)
275
275
  params = {}
276
276
  params['from'] = from.to_s if from
@@ -288,8 +288,8 @@ class API
288
288
  query = m['query']
289
289
  start_at = m['start_at']
290
290
  end_at = m['end_at']
291
- rset = m['result']
292
- result << [job_id, type, status, query, start_at, end_at, rset]
291
+ result_url = m['result']
292
+ result << [job_id, type, status, query, start_at, end_at, result_url]
293
293
  }
294
294
  return result
295
295
  end
@@ -374,9 +374,9 @@ class API
374
374
  end
375
375
 
376
376
  # => jobId:String
377
- def hive_query(q, db=nil, rset=nil)
377
+ def hive_query(q, db=nil, result_url=nil)
378
378
  params = {'query' => q}
379
- params['result'] = rset if rset
379
+ params['result'] = result_url if result_url
380
380
  code, body, res = post("/v3/job/issue/hive/#{e db}", params)
381
381
  if code != "200"
382
382
  raise_error("Query failed", res)
@@ -390,10 +390,10 @@ class API
390
390
  ##
391
391
 
392
392
  # => jobId:String
393
- def export(db, tbl, storage_type, opts={})
393
+ def export(db, table, storage_type, opts={})
394
394
  params = opts.dup
395
395
  params['storage_type'] = storage_type
396
- code, body, res = post("/v3/export/run/#{e db}/#{e tbl}", params)
396
+ code, body, res = post("/v3/export/run/#{e db}/#{e table}", params)
397
397
  if code != "200"
398
398
  raise_error("Export failed", res)
399
399
  end
@@ -426,7 +426,7 @@ class API
426
426
  return js['cron'], js["query"]
427
427
  end
428
428
 
429
- # => [(name:String, cron:String, query:String, database:String, rset:String)]
429
+ # => [(name:String, cron:String, query:String, database:String, result_url:String)]
430
430
  def list_schedules
431
431
  code, body, res = get("/v3/schedule/list")
432
432
  if code != "200"
@@ -439,11 +439,11 @@ class API
439
439
  cron = m['cron']
440
440
  query = m['query']
441
441
  database = m['database']
442
- rset = m['result']
442
+ result_url = m['result']
443
443
  timezone = m['timezone']
444
444
  delay = m['delay']
445
445
  next_time = m['next_time']
446
- result << [name, cron, query, database, rset, timezone, delay, next_time]
446
+ result << [name, cron, query, database, result_url, timezone, delay, next_time]
447
447
  }
448
448
  return result
449
449
  end
@@ -474,8 +474,8 @@ class API
474
474
  start_at = m['start_at']
475
475
  end_at = m['end_at']
476
476
  scheduled_at = m['scheduled_at']
477
- rset = m['result']
478
- result << [scheduled_at, job_id, type, status, query, start_at, end_at, rset]
477
+ result_url = m['result']
478
+ result << [scheduled_at, job_id, type, status, query, start_at, end_at, result_url]
479
479
  }
480
480
  return result
481
481
  end
@@ -515,46 +515,36 @@ class API
515
515
 
516
516
 
517
517
  ####
518
- ## Result set API
518
+ ## Result API
519
519
  ##
520
520
 
521
- # => (
522
- # info:(type:String, host:String, port:Integer, database:String, user:String, pass:String)
523
- # entries:[name:String]
524
- # )
525
- def list_result_set
521
+ def list_result
526
522
  code, body, res = get("/v3/result/list")
527
523
  if code != "200"
528
- raise_error("List result set failed", res)
529
- end
530
- js = checked_json(body, %w[host port user pass])
531
- type = (js["type"] || 'unknown').to_s
532
- host = js["host"].to_s
533
- port = js["port"].to_i
534
- database = js["database"].to_s
535
- user = js["user"].to_s
536
- pass = js["pass"].to_s
537
- names = (js["results"] || []).map {|rsets|
538
- rsets['name'].to_s
524
+ raise_error("List result table failed", res)
525
+ end
526
+ js = checked_json(body, %w[results])
527
+ result = []
528
+ js['results'].map {|m|
529
+ result << [m['name'], m['url']]
539
530
  }
540
- info = [type, host, port, database, user, pass]
541
- return info, names
531
+ return result
542
532
  end
543
533
 
544
534
  # => true
545
- def create_result_set(db)
546
- code, body, res = post("/v3/result/create/#{e db}")
535
+ def create_result(name, url)
536
+ code, body, res = post("/v3/result/create/#{e name}", {'url'=>url})
547
537
  if code != "200"
548
- raise_error("Create result set failed", res)
538
+ raise_error("Create result table failed", res)
549
539
  end
550
540
  return true
551
541
  end
552
542
 
553
543
  # => true
554
- def delete_result_set(db)
555
- code, body, res = post("/v3/result/delete/#{e db}")
544
+ def delete_result(name)
545
+ code, body, res = post("/v3/result/delete/#{e name}")
556
546
  if code != "200"
557
- raise_error("Delete result set failed", res)
547
+ raise_error("Delete result table failed", res)
558
548
  end
559
549
  return true
560
550
  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, rset=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)
179
179
  super(client)
180
180
  @job_id = job_id
181
181
  @type = type
@@ -186,11 +186,11 @@ class Job < Model
186
186
  @start_at = start_at
187
187
  @end_at = end_at
188
188
  @result = result
189
- @rset = rset
189
+ @result_url = result_url
190
190
  @hive_result_schema = hive_result_schema
191
191
  end
192
192
 
193
- attr_reader :job_id, :type, :rset
193
+ attr_reader :job_id, :type, :result_url
194
194
  attr_reader :hive_result_schema
195
195
 
196
196
  def wait(timeout=nil)
@@ -231,10 +231,6 @@ class Job < Model
231
231
  @end_at && !@end_at.empty? ? Time.parse(@end_at) : nil
232
232
  end
233
233
 
234
- def rset_name
235
- @rset ? @rset.name : nil
236
- end
237
-
238
234
  def result
239
235
  unless @result
240
236
  return nil unless finished?
@@ -286,7 +282,7 @@ class Job < Model
286
282
  end
287
283
 
288
284
  def update_status!
289
- query, status, url, debug, start_at, end_at, rset, hive_result_schema = @client.job_status(@job_id)
285
+ query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @client.job_status(@job_id)
290
286
  @query = query
291
287
  @status = status
292
288
  @url = url
@@ -312,23 +308,19 @@ end
312
308
 
313
309
 
314
310
  class Schedule < Model
315
- def initialize(client, name, cron, query, database=nil, rset=nil, timezone=nil, delay=nil, next_time=nil)
311
+ def initialize(client, name, cron, query, database=nil, result_url=nil, timezone=nil, delay=nil, next_time=nil)
316
312
  super(client)
317
313
  @name = name
318
314
  @cron = cron
319
315
  @query = query
320
316
  @database = database
321
- @rset = rset
317
+ @result_url = result_url
322
318
  @timezone = timezone
323
319
  @delay = delay
324
320
  @next_time = next_time
325
321
  end
326
322
 
327
- def rset_name
328
- @rset ? @rset.name : nil
329
- end
330
-
331
- attr_reader :name, :cron, :query, :database, :rset, :timezone, :delay
323
+ attr_reader :name, :cron, :query, :database, :result_url, :timezone, :delay
332
324
 
333
325
  def next_time
334
326
  @next_time ? Time.parse(@next_time) : nil
@@ -340,28 +332,14 @@ class Schedule < Model
340
332
  end
341
333
 
342
334
 
343
- class ResultSetInfo < Model
344
- def initialize(client, type, host, port, database, user, password)
345
- super(client)
346
- @type = type
347
- @host = host
348
- @port = port
349
- @database = database
350
- @user = user
351
- @password = password
352
- end
353
-
354
- attr_reader :type, :host, :port, :database, :user, :password
355
- end
356
-
357
-
358
- class ResultSet < Model
359
- def initialize(client, name)
335
+ class Result < Model
336
+ def initialize(client, name, url)
360
337
  super(client)
361
338
  @name = name
339
+ @url = url
362
340
  end
363
341
 
364
- attr_reader :name
342
+ attr_reader :name, :url
365
343
  end
366
344
 
367
345
 
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
 
3
- VERSION = '0.8.14'
3
+ VERSION = '0.8.15'
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.14
4
+ version: 0.8.15
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-04-03 00:00:00.000000000Z
12
+ date: 2012-04-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
16
- requirement: &70097319678140 !ruby/object:Gem::Requirement
16
+ requirement: &70230453942020 !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: *70097319678140
24
+ version_requirements: *70230453942020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &70097319677440 !ruby/object:Gem::Requirement
27
+ requirement: &70230453937480 !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: *70097319677440
35
+ version_requirements: *70230453937480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70097319676680 !ruby/object:Gem::Requirement
38
+ requirement: &70230453936700 !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: *70097319676680
46
+ version_requirements: *70230453936700
47
47
  description:
48
48
  email:
49
49
  executables: []