Example #1
0
 def test_compare_get_columns_for_sql_and_odbc(self, schema, table,
                                               engine_name):
     with self.engine_map[engine_name].begin() as c:
         if schema is None:
             c.execute("OPEN SCHEMA %s" % self.schema)
         dialect = EXADialect()
         columns_fallback = dialect.get_columns(connection=c,
                                                table_name=table,
                                                schema=schema,
                                                use_sql_fallback=True)
         columns_odbc = dialect.get_columns(connection=c,
                                            table_name=table,
                                            schema=schema)
         assert str(columns_fallback) == str(
             columns_odbc)  # object equality doesn't work for sqltypes
 def test_get_columns_table_name_none(self, use_sql_fallback, engine_name):
     with self.engine_map[engine_name].begin() as c:
         dialect = EXADialect()
         columns = dialect.get_columns(connection=c,
                                       schema=self.schema,
                                       table_name=None,
                                       use_sql_fallback=use_sql_fallback)
         assert columns == []
Example #3
0
    def test_get_columns(self, use_sql_fallback, engine_name):
        with self.engine_map[engine_name].begin() as c:
            dialect = EXADialect()
            columns = dialect.get_columns(connection=c,
                                          schema=self.schema,
                                          table_name="t",
                                          use_sql_fallback=use_sql_fallback)
            expected = [
                {
                    'default': None,
                    'is_distribution_key': False,
                    'name': 'pid1',
                    'nullable': False,
                    'type': INTEGER()
                },
                {
                    'default': None,
                    'is_distribution_key': False,
                    'name': 'pid2',
                    'nullable': False,
                    'type': INTEGER()
                },
                {
                    'default': None,
                    'is_distribution_key': False,
                    'name': 'name',
                    'nullable': True,
                    'type': VARCHAR(length=20)
                },
                {
                    'default': None,
                    'is_distribution_key': False,
                    'name': 'age',
                    'nullable': True,
                    'type': INTEGER()
                },
            ]

            assert self.make_columns_comparable(
                expected) == self.make_columns_comparable(columns)
 def with_fallback(session2, schema, table):
     dialect = EXADialect()
     dialect.get_columns(session2,
                         schema=schema,
                         table_name=table,
                         use_sql_fallback=True)