def test_string():
    string_obj = kylin_to_sqla('CHAR(64) hello this is long descrition')
    assert string_obj.length == 64

    string_obj = kylin_to_sqla('STRING(64) hello this is long descrition')
    assert string_obj.length == 64

    string_obj = kylin_to_sqla('VARCHAR(64) hello this is long descrition')
    assert string_obj.length == 64
def test_float():
    decimal_obj = kylin_to_sqla('DECIMAL(20,6)')
    assert decimal_obj.precision == 20
    assert decimal_obj.scale == 6

    decimal_obj = kylin_to_sqla('DOUBLE(20)')
    assert decimal_obj.precision == 20

    decimal_obj = kylin_to_sqla('FLOAT(20)')
    assert decimal_obj.precision == 20
def test_int():
    assert str(kylin_to_sqla('BIGINT')) == 'BIGINT'
    assert str(kylin_to_sqla('INTEGER')) == 'INTEGER'
    assert str(kylin_to_sqla('INT')) == 'INTEGER'
    assert str(kylin_to_sqla('TINYINT')) == 'SMALLINT'
    assert str(kylin_to_sqla('SMALLINT')) == 'SMALLINT'
    assert str(kylin_to_sqla('INT4')) == 'BIGINT'
    assert str(kylin_to_sqla('LONG8')) == 'BIGINT'
Exemple #4
0
 def get_columns(self, connection, table_name, schema=None, **kw):
     conn = connection.connect()
     try:
         columns = conn.connection.connection.get_table_source(table_name, schema).columns
         return [{
             'name': col.name,
             'type': kylin_to_sqla(col.datatype),
         } for col in columns]
     except NoSuchTableError:
         raise sqlalchemy.exc.NoSuchTableError
Exemple #5
0
 def get_columns(self, connection, table_name, schema=None, **kw):
     conn = connection.connect()
     if schema is not None:
         _fullname = '{}.{}'.format(schema, table_name)
     else:
         _fullname = table_name
     dimensions = conn.connection.connection.get_datasource(
         _fullname).columns
     return [{
         'name': dim.name,
         'type': kylin_to_sqla(dim.datatype),
     } for dim in dimensions]
def test_others():
    assert str(kylin_to_sqla('BOOLEAN')) == 'BOOLEAN'
    assert str(kylin_to_sqla('DATE')) == 'DATE'
    assert str(kylin_to_sqla('DATETIME')) == 'DATETIME'
    assert str(kylin_to_sqla('TIMESTAMP')) == 'TIMESTAMP'
Exemple #7
0
 def datatype(self):
     return str(kylin_to_sqla(self.description.get('type_NAME')))