Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7d7be70

Browse files
authored
BigQuery: Add system tests for microsecond-level precision datetimes (googleapis#3926)
* BigQuery: add test for handling microsecond precision timestamps. * Forgot microseconds in actual query part of system test. * Fix lint error.
1 parent 6b0b256 commit 7d7be70

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

bigquery/tests/system.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,8 +646,11 @@ def test_sync_query_w_legacy_sql_types(self):
646646

647647
def _generate_standard_sql_types_examples(self):
648648
naive = datetime.datetime(2016, 12, 5, 12, 41, 9)
649+
naive_microseconds = datetime.datetime(2016, 12, 5, 12, 41, 9, 250000)
649650
stamp = '%s %s' % (naive.date().isoformat(), naive.time().isoformat())
651+
stamp_microseconds = stamp + '.250000'
650652
zoned = naive.replace(tzinfo=UTC)
653+
zoned_microseconds = naive_microseconds.replace(tzinfo=UTC)
651654
return [
652655
{
653656
'sql': 'SELECT 1',
@@ -673,10 +676,19 @@ def _generate_standard_sql_types_examples(self):
673676
'sql': 'SELECT TIMESTAMP "%s"' % (stamp,),
674677
'expected': zoned,
675678
},
679+
{
680+
'sql': 'SELECT TIMESTAMP "%s"' % (stamp_microseconds,),
681+
'expected': zoned_microseconds,
682+
},
676683
{
677684
'sql': 'SELECT DATETIME(TIMESTAMP "%s")' % (stamp,),
678685
'expected': naive,
679686
},
687+
{
688+
'sql': 'SELECT DATETIME(TIMESTAMP "%s")' % (
689+
stamp_microseconds,),
690+
'expected': naive_microseconds,
691+
},
680692
{
681693
'sql': 'SELECT DATE(TIMESTAMP "%s")' % (stamp,),
682694
'expected': naive.date(),

0 commit comments

Comments
 (0)