|
74 | 74 | bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"), |
75 | 75 | bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"), |
76 | 76 | ] |
| 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 | +] |
77 | 82 | CLUSTERING_SCHEMA = [ |
78 | 83 | bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"), |
79 | 84 | bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"), |
@@ -631,6 +636,20 @@ def test_create_table_w_time_partitioning_w_clustering_fields(self): |
631 | 636 | self.assertEqual(time_partitioning.field, "transaction_time") |
632 | 637 | self.assertEqual(table.clustering_fields, ["user_email", "store_code"]) |
633 | 638 |
|
| 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 | + |
634 | 653 | def test_delete_dataset_with_string(self): |
635 | 654 | dataset_id = _make_dataset_id("delete_table_true_with_string") |
636 | 655 | project = Config.CLIENT.project |
|
0 commit comments