google-cloud-bigquery 1.13.0 → 1.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/OVERVIEW.md +1 -1
- data/lib/google-cloud-bigquery.rb +1 -0
- data/lib/google/cloud/bigquery.rb +19 -7
- data/lib/google/cloud/bigquery/service.rb +9 -6
- data/lib/google/cloud/bigquery/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80523fe00fc3861251d25519f8ec0a69e5ac705684a29f5a8d434417cb68f16f
|
4
|
+
data.tar.gz: 361426a22a8df42fcec90b1ec8a3d001f2cc66ce9977d652b8366e2355cc9b61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65871c2ff827dea7a1245ed24321582a748ac4b798fa0907e7ceed9527d3b2b94fc1b85f2d7a29f8d9f4d9fd645d0494e104dc5d122e372bb0e8ced9663f3bd3
|
7
|
+
data.tar.gz: 9ba6a0fa3e555b86fca8ca2e74fc46475a4c8fa171c5e00ee3de5c55874262dbde292b16e2542fc845d5780b615ee7134d7ee5891d4651f883db02badf646dd1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.14.0 / 2019-08-23
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Support overriding of service endpoint
|
8
|
+
|
9
|
+
#### Performance Improvements
|
10
|
+
|
11
|
+
* Use MiniMime to detect content types
|
12
|
+
|
13
|
+
#### Documentation
|
14
|
+
|
15
|
+
* Update documentation
|
16
|
+
|
3
17
|
### 1.13.0 / 2019-07-31
|
4
18
|
|
5
19
|
* Add Table#require_partition_filter
|
data/OVERVIEW.md
CHANGED
@@ -87,7 +87,7 @@ advantages over legacy SQL, including:
|
|
87
87
|
* Complex `JOIN` predicates, including arbitrary expressions
|
88
88
|
|
89
89
|
For examples that demonstrate some of these features, see [Standard SQL
|
90
|
-
ghlights](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-
|
90
|
+
ghlights](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql#standard_sql_highlights).
|
91
91
|
|
92
92
|
As shown in this example, standard SQL is the library default:
|
93
93
|
|
@@ -135,4 +135,5 @@ Google::Cloud.configure.add_config! :bigquery do |config|
|
|
135
135
|
config.add_field! :scope, nil, match: [String, Array]
|
136
136
|
config.add_field! :retries, nil, match: Integer
|
137
137
|
config.add_field! :timeout, nil, match: Integer
|
138
|
+
config.add_field! :endpoint, nil, match: String
|
138
139
|
end
|
@@ -51,6 +51,8 @@ module Google
|
|
51
51
|
# @param [Integer] retries Number of times to retry requests on server
|
52
52
|
# error. The default value is `5`. Optional.
|
53
53
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
54
|
+
# @param [String] endpoint Override of the endpoint host name. Optional.
|
55
|
+
# If the param is nil, uses the default endpoint.
|
54
56
|
# @param [String] project Alias for the `project_id` argument. Deprecated.
|
55
57
|
# @param [String] keyfile Alias for the `credentials` argument.
|
56
58
|
# Deprecated.
|
@@ -65,26 +67,24 @@ module Google
|
|
65
67
|
# table = dataset.table "my_table"
|
66
68
|
#
|
67
69
|
def self.new project_id: nil, credentials: nil, scope: nil, retries: nil,
|
68
|
-
timeout: nil, project: nil, keyfile: nil
|
69
|
-
project_id ||= (project || default_project_id)
|
70
|
+
timeout: nil, endpoint: nil, project: nil, keyfile: nil
|
70
71
|
scope ||= configure.scope
|
71
72
|
retries ||= configure.retries
|
72
73
|
timeout ||= configure.timeout
|
74
|
+
endpoint ||= configure.endpoint
|
73
75
|
credentials ||= (keyfile || default_credentials(scope: scope))
|
74
76
|
|
75
77
|
unless credentials.is_a? Google::Auth::Credentials
|
76
78
|
credentials = Bigquery::Credentials.new credentials, scope: scope
|
77
79
|
end
|
78
80
|
|
79
|
-
|
80
|
-
project_id ||= credentials.project_id
|
81
|
-
end
|
82
|
-
project_id = project_id.to_s # Always cast to a string
|
81
|
+
project_id = resolve_project_id(project_id || project, credentials)
|
83
82
|
raise ArgumentError, "project_id is missing" if project_id.empty?
|
84
83
|
|
85
84
|
Bigquery::Project.new(
|
86
85
|
Bigquery::Service.new(
|
87
|
-
project_id, credentials,
|
86
|
+
project_id, credentials,
|
87
|
+
retries: retries, timeout: timeout, host: endpoint
|
88
88
|
)
|
89
89
|
)
|
90
90
|
end
|
@@ -100,6 +100,8 @@ module Google
|
|
100
100
|
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
101
101
|
# Google::Auth::Credentials object. (See {Bigquery::Credentials}) (The
|
102
102
|
# parameter `keyfile` is considered deprecated, but may also be used.)
|
103
|
+
# * `endpoint` - (String) Override of the endpoint host name, or `nil`
|
104
|
+
# to use the default endpoint.
|
103
105
|
# * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
|
104
106
|
# the set of resources and operations that the connection can access.
|
105
107
|
# * `retries` - (Integer) Number of times to retry requests on server
|
@@ -115,6 +117,16 @@ module Google
|
|
115
117
|
Google::Cloud.configure.bigquery
|
116
118
|
end
|
117
119
|
|
120
|
+
##
|
121
|
+
# @private Resolve project.
|
122
|
+
def self.resolve_project_id given_project, credentials
|
123
|
+
project_id = given_project || default_project_id
|
124
|
+
if credentials.respond_to? :project_id
|
125
|
+
project_id ||= credentials.project_id
|
126
|
+
end
|
127
|
+
project_id.to_s # Always cast to a string
|
128
|
+
end
|
129
|
+
|
118
130
|
##
|
119
131
|
# @private Default project.
|
120
132
|
def self.default_project_id
|
@@ -19,7 +19,7 @@ require "google/cloud/errors"
|
|
19
19
|
require "google/apis/bigquery_v2"
|
20
20
|
require "pathname"
|
21
21
|
require "securerandom"
|
22
|
-
require "
|
22
|
+
require "mini_mime"
|
23
23
|
require "date"
|
24
24
|
|
25
25
|
module Google
|
@@ -39,15 +39,17 @@ module Google
|
|
39
39
|
attr_accessor :credentials
|
40
40
|
|
41
41
|
# @private
|
42
|
-
attr_reader :retries, :timeout
|
42
|
+
attr_reader :retries, :timeout, :host
|
43
43
|
|
44
44
|
##
|
45
45
|
# Creates a new Service instance.
|
46
|
-
def initialize project, credentials,
|
46
|
+
def initialize project, credentials,
|
47
|
+
retries: nil, timeout: nil, host: nil
|
47
48
|
@project = project
|
48
49
|
@credentials = credentials
|
49
50
|
@retries = retries
|
50
51
|
@timeout = timeout
|
52
|
+
@host = host
|
51
53
|
end
|
52
54
|
|
53
55
|
def service
|
@@ -65,6 +67,7 @@ module Google
|
|
65
67
|
service.request_options.header["x-goog-api-client"] = \
|
66
68
|
"gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Bigquery::VERSION}"
|
67
69
|
service.authorization = @credentials.client
|
70
|
+
service.root_url = host if host
|
68
71
|
service
|
69
72
|
end
|
70
73
|
end
|
@@ -480,9 +483,9 @@ module Google
|
|
480
483
|
end
|
481
484
|
|
482
485
|
def mime_type_for file
|
483
|
-
mime_type =
|
484
|
-
return nil if mime_type.
|
485
|
-
mime_type
|
486
|
+
mime_type = MiniMime.lookup_by_filename Pathname(file).to_path
|
487
|
+
return nil if mime_type.nil?
|
488
|
+
mime_type.content_type
|
486
489
|
rescue StandardError
|
487
490
|
nil
|
488
491
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-bigquery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-08-
|
12
|
+
date: 2019-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -74,19 +74,19 @@ dependencies:
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
77
|
+
name: mini_mime
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '1.0'
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '1.0'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
91
|
name: minitest
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|