Ejemplo n.º 1
0
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)]])
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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]
Ejemplo n.º 4
0
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]
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)