def test_insert_timestamp_column(dsn, configuration): supported_digits = configuration['capabilities']['fractional_second_digits'] fractional = generate_microseconds_with_precision(supported_digits) _test_insert_many(configuration, 'INSERT TIMESTAMP', [[datetime.datetime(2015, 12, 31, 1, 2, 3, fractional)], [datetime.datetime(2016, 1, 15, 4, 5, 6, fractional * 2)], [datetime.datetime(2016, 2, 3, 7, 8, 9, fractional * 3)]])
def test_datetime64_microseconds_column(dsn, configuration, column_backend): supported_digits = configuration['capabilities'][ 'fractional_second_digits'] fractional = generate_microseconds_with_precision(supported_digits) _full_column_tests(configuration, "INSERT TIMESTAMP", [ datetime.datetime(2015, 12, 31, 1, 2, 3, fractional), datetime.datetime(2016, 1, 1, 4, 5, 6, fractional), datetime.datetime(2017, 5, 6, 7, 8, 9, fractional) ], 'datetime64[us]', column_backend)
def test_arrow_timestamp_column(dsn, configuration): supported_digits = configuration["capabilities"]["fractional_second_digits"] fractional = generate_microseconds_with_precision(supported_digits) timestamp = datetime.datetime(2015, 12, 31, 1, 2, 3, fractional) with open_cursor(configuration) as cursor: with query_fixture(cursor, configuration, "INSERT TIMESTAMP") as table_name: cursor.execute(f"INSERT INTO {table_name} VALUES (?)", [timestamp]) cursor.execute(f"SELECT a FROM {table_name}") result = cursor.fetchallarrow() assert result.column(0).to_pylist() == [timestamp]
def test_arrow_timestamp_column(dsn, configuration): supported_digits = configuration['capabilities']['fractional_second_digits'] fractional = generate_microseconds_with_precision(supported_digits) timestamp = datetime.datetime(2015, 12, 31, 1, 2, 3, fractional) with open_cursor(configuration) as cursor: with query_fixture(cursor, configuration, 'INSERT TIMESTAMP') as table_name: cursor.execute('INSERT INTO {} VALUES (?)'.format(table_name), [timestamp]) cursor.execute('SELECT a FROM {}'.format(table_name)) result = cursor.fetchallarrow() assert result.column(0).to_pylist() == [timestamp]
def test_datetime64_nanoseconds_column(dsn, configuration, column_backend): supported_digits = configuration['capabilities'][ 'fractional_second_digits'] # C++ unit test checks that conversion method is capable of nanosecond precision fractional = generate_microseconds_with_precision(supported_digits) _full_column_tests(configuration, "INSERT TIMESTAMP", [ datetime.datetime(2015, 12, 31, 1, 2, 3, fractional), datetime.datetime(2016, 1, 1, 4, 5, 6, fractional), datetime.datetime(2017, 5, 6, 7, 8, 9, fractional) ], 'datetime64[ns]', column_backend)
def test_numpy_timestamp_column(dsn, configuration): supported_digits = configuration['capabilities']['fractional_second_digits'] fractional = generate_microseconds_with_precision(supported_digits) timestamp = datetime.datetime(2015, 12, 31, 1, 2, 3, fractional) with open_cursor(configuration) as cursor: with query_fixture(cursor, configuration, 'INSERT TIMESTAMP') as table_name: cursor.execute('INSERT INTO {} VALUES (?)'.format(table_name), [timestamp]) cursor.execute('SELECT a FROM {}'.format(table_name)) results = cursor.fetchallnumpy() expected = MaskedArray([timestamp], mask=[0], dtype='datetime64[us]') assert results[_fix_case(configuration, 'a')].dtype == numpy.dtype('datetime64[us]') assert_equal(results[_fix_case(configuration, 'a')], expected)
def test_numpy_timestamp_column(dsn, configuration): supported_digits = configuration["capabilities"][ "fractional_second_digits"] fractional = generate_microseconds_with_precision(supported_digits) timestamp = datetime.datetime(2015, 12, 31, 1, 2, 3, fractional) with open_cursor(configuration) as cursor: with query_fixture(cursor, configuration, "INSERT TIMESTAMP") as table_name: cursor.execute(f"INSERT INTO {table_name} VALUES (?)", [timestamp]) cursor.execute(f"SELECT a FROM {table_name}") results = cursor.fetchallnumpy() expected = MaskedArray([timestamp], mask=[0], dtype="datetime64[us]") assert results[_fix_case( configuration, "a")].dtype == numpy.dtype("datetime64[us]") assert_equal(results[_fix_case(configuration, "a")], expected)