Skip to content

Commit 518a12c

Browse files
committed
add create_table system test
1 parent bc6dcda commit 518a12c

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

google/cloud/bigquery/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ def _key(self):
443443
self.description,
444444
self.fields,
445445
policy_tags,
446-
self._properties.get("timestampPrecision"),
446+
self.timestamp_precision,
447447
)
448448

449449
def to_standard_sql(self) -> standard_sql.StandardSqlField:

tests/system/test_client.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@
7474
bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"),
7575
bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
7676
]
77+
SCHEMA_PICOSECOND = [
78+
bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"),
79+
bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
80+
bigquery.SchemaField("time_pico", "TIMESTAMP", mode="REQUIRED", timestamp_precision=12),
81+
]
7782
CLUSTERING_SCHEMA = [
7883
bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"),
7984
bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
@@ -631,6 +636,20 @@ def test_create_table_w_time_partitioning_w_clustering_fields(self):
631636
self.assertEqual(time_partitioning.field, "transaction_time")
632637
self.assertEqual(table.clustering_fields, ["user_email", "store_code"])
633638

639+
def test_create_tabl_w_picosecond_timestamp(self):
640+
dataset = self.temp_dataset(_make_dataset_id("create_table"))
641+
table_id = "test_table"
642+
table_arg = Table(dataset.table(table_id), schema=SCHEMA_PICOSECOND)
643+
self.assertFalse(_table_exists(table_arg))
644+
645+
table = helpers.retry_403(Config.CLIENT.create_table)(table_arg)
646+
self.to_delete.insert(0, table)
647+
648+
self.assertTrue(_table_exists(table))
649+
self.assertEqual(table.table_id, table_id)
650+
# breakpoint()
651+
self.assertEqual(table.schema, SCHEMA_PICOSECOND)
652+
634653
def test_delete_dataset_with_string(self):
635654
dataset_id = _make_dataset_id("delete_table_true_with_string")
636655
project = Config.CLIENT.project

0 commit comments

Comments
 (0)