def get_table(self, database_name, schema_name, table_name):
"""
Get a table record from the repository by object name.
Args:
database_name(str): database name
schema_name(str): schema name
table_name(str): table name
Returns:
a dictionary of table record. {table_record}
"""
assert database_name and schema_name and table_name
table = None
log.trace('get_table: start %s.%s.%s' %
(database_name, schema_name, table_name))
query = """
SELECT data
FROM repo
WHERE database_name = '{0}'
AND schema_name = '{1}'
AND table_name = '{2}'
ORDER BY created_at DESC
LIMIT 1
""".format(database_name, schema_name, table_name)
log.debug("get_table: query = %s" % query)
try:
cursor = self._conn.cursor()
cursor.execute(query)
r = cursor.fetchone()
if r:
table = json.loads(unicode(r[0]))
except Exception as e:
raise InternalError(_("Could not get table data: "),
query=query, source=e)
log.trace('get_table: end')
return table
评论列表
文章目录