def add_job(cursor, *args): table = Table("system", "job") col_names = "id", "type", "description", "size", "created", "started", "finished", "success", "job_source_id", "state" columns = map(Column, col_names) column_id = columns[0] select = Select(1, from_=table, where_=Eq(column_id)) select.execute(cursor, (args[0], )) if cursor.rowcount == 0: table.insert(columns).execute(cursor, args)
def add_job_source(cursor, *args): table = Table("system", "job_source") col_names = "id", "name", "job_type", "config" columns = map(Column, col_names) column_id = columns[0] select = Select(1, from_=table, where_=Eq(column_id)) select.execute(cursor, (args[0], )) if cursor.rowcount == 0: table.insert(columns).execute(cursor, args)
def table_or_view_exists(cursor, table): relkind_column = Column("relkind") criterion = And( Eq(Column("relname")), Parenthesis(Or(Eq(relkind_column), Eq(relkind_column)))) query = Select(1, from_=Table("pg_class"), where_=criterion) args = table.name, "r", "v" query.execute(cursor, args) return cursor.rowcount > 0