Skip to content

Commit 1de4415

Browse files
committed
Merge pull request abronte#36 from kysnm/add-optional-parameters-for-tabledata-list
Support optional parameters for Tabledata.list
2 parents 88d16f8 + f44489d commit 1de4415

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

lib/big_query/client/tables.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,14 @@ def tables_formatted(dataset = @dataset)
3535
#
3636
# @param tableId [String] id of the table to look for
3737
# @param dataset [String] dataset to look for
38+
# @param options [Hash] hash of optional query parameters (maxResults, startIndex)
3839
# @return [Hash] json api response
39-
def table_data(tableId, dataset = @dataset)
40+
def table_data(tableId, dataset = @dataset, options = {})
41+
parameters = { 'datasetId' => dataset, 'tableId' => tableId }
42+
parameters['maxResults'] = options[:maxResults] if options[:maxResults]
43+
parameters['startIndex'] = options[:startIndex] if options[:startIndex]
4044
response = api(api_method: @bq.tabledata.list,
41-
parameters: { 'datasetId' => dataset,
42-
'tableId' => tableId })
45+
parameters: parameters)
4346
response['rows'] || []
4447
end
4548

test/bigquery.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ def test_for_table_data
4848
assert_kind_of Array, result
4949
end
5050

51+
def test_for_table_data_maxResults
52+
result = @bq.table_data('test', @bq.dataset, maxResults: 100)
53+
54+
assert_kind_of Array, result
55+
end
56+
57+
def test_for_table_data_startIndex
58+
# startIndex is Zero-based
59+
result = @bq.table_data('test', @bq.dataset, maxResults: 100, startIndex: 100)
60+
61+
assert_kind_of Array, result
62+
end
63+
5164
def test_for_create_table
5265
if @bq.tables_formatted.include? 'test123'
5366
@bq.delete_table('test123')

0 commit comments

Comments
 (0)