def agg_table_ispresent(self): """Check if the agg table is present """ qry = self.backend.sql_table_exists() params = (self.table_name,) res = dbcommands.lookup(qry, params=params, database=self.database) return res
def trigger_on_table_is_present(self, trgname): """Check if a trigger is present on a table Return False is the trigger does not exists trganme : (string) trigger name """ qry = self.backend.sql_trigger_on_table_exists() params = (trgname, self.table) res = dbcommands.lookup(qry, params=params, database=self.database) return res
def triggers_on_table_are_present(self): """Check if the triggers are present in database """ res = [] qry = self.backend.sql_trigger_on_table_exists() for trig in self.triggers_name: params = (trig, self.table) res.append((trig, dbcommands.lookup(qry, params=params, database=self.database))) return res
def get_nb_tuples(self): """ Remplissage de la table technique avec les données existantes """ sql = self.backend.sql_nb_tuples() params = (self.table,) if self.verbose > 2: msg = "[SQL] %s\n" % (dbcommands.mogrify(sql, params=params, database=self.database)) sys.stdout.write(msg) res = dbcommands.lookup(sql, params=params, database=self.database) return res
def column_typname(self): """Lookup for a column type Depending on backend.sql_get_column_typname()[1] we need to parse the result or not """ (qry, parsefunc) = self.backend.sql_get_column_typname() params = (self.table, self.column) res = dbcommands.lookup(qry, params=params, database=self.database) if parsefunc is None: return res else: return eval("self.backend.%s('%s', '%s')" % (parsefunc, res, self.column))
def functions_are_present(self): """Check if the functions are present in database """ res = [] qry = self.backend.sql_trigger_function_on_table_exists() functions = [] for agg in self.aggregats: if isinstance(agg, dict): for agg_key, where_clause in self.extract_agg_where_clause( agg).iteritems(): for action in ["insert", "update", "delete"]: fname = function_name(self.table, self.column, action, key=agg_key) functions.append(fname) else: for fname in self.functions_name: functions.append(fname) for func in functions: params = (func[:-2], self.table) res.append((func, dbcommands.lookup(qry, params=params, database=self.database))) return res