Skip to content

Commit 7e36fda

Browse files
tswastplamut
andcommitted
deprecate(bigquery): deprecate client.dataset() in favor of DatasetReference (#7753)
* deprecate(bigquery): deprecate `client.dataset()` in favor of DatasetReference Now that all client methods that take a `DatasetReference` or `TableReference` also take a string, the `client.dataset()` method is unnecessary and confusing. * fix: remove unnecessary textwrap * Update bigquery/google/cloud/bigquery/client.py Co-Authored-By: Peter Lamut <[email protected]> * docs: use sphinx deprecation directive Co-authored-by: Peter Lamut <[email protected]>
1 parent 73eac04 commit 7e36fda

File tree

3 files changed

+104
-51
lines changed

3 files changed

+104
-51
lines changed

bigquery/google/cloud/bigquery/client.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,20 @@ def list_datasets(
354354
)
355355

356356
def dataset(self, dataset_id, project=None):
357-
"""Construct a reference to a dataset.
357+
"""Deprecated: Construct a reference to a dataset.
358+
359+
.. deprecated:: 1.24.0
360+
Construct a
361+
:class:`~google.cloud.bigquery.dataset.DatasetReference` using its
362+
constructor or use a string where previously a reference object
363+
was used.
364+
365+
As of ``google-cloud-bigquery`` version 1.7.0, all client methods
366+
that take a
367+
:class:`~google.cloud.bigquery.dataset.DatasetReference` or
368+
:class:`~google.cloud.bigquery.table.TableReference` also take a
369+
string in standard SQL format, e.g. ``project.dataset_id`` or
370+
``project.dataset_id.table_id``.
358371
359372
Args:
360373
dataset_id (str): ID of the dataset.
@@ -370,6 +383,13 @@ def dataset(self, dataset_id, project=None):
370383
if project is None:
371384
project = self.project
372385

386+
warnings.warn(
387+
"Client.dataset is deprecated and will be removed in a future version. "
388+
"Use a string like 'my_project.my_dataset' or a "
389+
"cloud.google.bigquery.DatasetReference object, instead.",
390+
PendingDeprecationWarning,
391+
stacklevel=2,
392+
)
373393
return DatasetReference(project, dataset_id)
374394

375395
def _create_bqstorage_client(self):
@@ -419,7 +439,7 @@ def create_dataset(
419439
420440
>>> from google.cloud import bigquery
421441
>>> client = bigquery.Client()
422-
>>> dataset = bigquery.Dataset(client.dataset('my_dataset'))
442+
>>> dataset = bigquery.Dataset('my_project.my_dataset')
423443
>>> dataset = client.create_dataset(dataset)
424444
425445
"""
@@ -2584,7 +2604,7 @@ def list_partitions(self, table, retry=DEFAULT_RETRY, timeout=None):
25842604
) as guard:
25852605
meta_table = self.get_table(
25862606
TableReference(
2587-
self.dataset(table.dataset_id, project=table.project),
2607+
DatasetReference(table.project, table.dataset_id),
25882608
"%s$__PARTITIONS_SUMMARY__" % table.table_id,
25892609
),
25902610
retry=retry,

bigquery/google/cloud/bigquery/magics.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@
153153
from google.api_core.exceptions import NotFound
154154
import google.auth
155155
from google.cloud import bigquery
156+
import google.cloud.bigquery.dataset
156157
from google.cloud.bigquery.dbapi import _helpers
157158
import six
158159

@@ -534,7 +535,7 @@ def _cell_magic(line, query):
534535
)
535536
dataset_id, table_id = split
536537
job_config.allow_large_results = True
537-
dataset_ref = client.dataset(dataset_id)
538+
dataset_ref = bigquery.dataset.DatasetReference(client.project, dataset_id)
538539
destination_table_ref = dataset_ref.table(table_id)
539540
job_config.destination = destination_table_ref
540541
job_config.create_disposition = "CREATE_IF_NEEDED"

0 commit comments

Comments
 (0)