def getSQL(self, gid, sid, data, tid, rid): """ This function will generate sql from model data """ if rid is not None: SQL = render_template("/".join( [self.template_path, self._PROPERTIES_SQL]), rid=rid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone( gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) old_data = res_data SQL = render_template("/".join( [self.template_path, self._UPDATE_SQL]), data=data, o_data=old_data) else: SQL = render_template("/".join( [self.template_path, self._CREATE_SQL]), data=data) return SQL, data['name'] if 'name' in data else old_data['name']
def get_sql_from_diff(self, gid, sid, did, scid, tid, oid, data=None, source_schema=None, diff_schema=None, drop_sql=False): if drop_sql: SQL = self.delete(gid=gid, sid=sid, did=did, scid=scid, tid=tid, rid=oid, only_sql=True) else: SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=oid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone( gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) SQL = '' if data: if source_schema: if 'statements' in data: # Replace the source schema with the target schema data['statements'] = data['statements'].replace( source_schema, diff_schema) old_data = res_data SQL = render_template("/".join( [self.template_path, 'update.sql']), data=data, o_data=old_data) else: if diff_schema: if 'statements' in res_data: # Replace the source schema with the target schema res_data['statements'] = \ res_data['statements'].replace( res_data['schema'], diff_schema) res_data['schema'] = diff_schema SQL = render_template("/".join( [self.template_path, 'create.sql']), data=res_data, display_comments=True) return SQL
def getSQL(self, gid, sid, data, tid, rid): """ This function will generate sql from model data """ if rid is not None: servertype = 'hawq' if 'HAWQ' in self.manager.ver else self.manager.server_type SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=rid, servertype=servertype) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone( gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) old_data = res_data SQL = render_template("/".join([self.template_path, 'update.sql']), data=data, o_data=old_data) else: SQL = render_template("/".join([self.template_path, 'create.sql']), data=data) return SQL, data['name'] if 'name' in data else old_data['name']
def get_sql_from_diff(self, **kwargs): """ This function is used to get the DDL/DML statements. :param kwargs :return: """ gid = kwargs.get('gid') sid = kwargs.get('sid') did = kwargs.get('did') scid = kwargs.get('scid') tid = kwargs.get('oid') oid = kwargs.get('oid') data = kwargs.get('data', None) source_schema = kwargs.get('source_schema', None) diff_schema = kwargs.get('diff_schema', None) drop_sql = kwargs.get('drop_sql', False) if drop_sql: SQL = self.delete(gid=gid, sid=sid, did=did, scid=scid, tid=tid, rid=oid, only_sql=True) else: SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=oid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone( gettext("""Could not find the rule in the table.""") ) res_data = parse_rule_definition(res) SQL = '' if data: if source_schema and 'statements' in data: # Replace the source schema with the target schema data['statements'] = data['statements'].replace( source_schema, diff_schema) old_data = res_data SQL = render_template( "/".join([self.template_path, 'update.sql']), data=data, o_data=old_data ) else: if diff_schema: if 'statements' in res_data: # Replace the source schema with the target schema res_data['statements'] = \ res_data['statements'].replace( res_data['schema'], diff_schema) res_data['schema'] = diff_schema SQL = render_template("/".join( [self.template_path, 'create.sql']), data=res_data, display_comments=True) return SQL
def get_sql_from_diff(self, **kwargs): """ This function is used to get the DDL/DML statements. :param kwargs :return: """ gid = kwargs.get('gid') sid = kwargs.get('sid') did = kwargs.get('did') scid = kwargs.get('scid') tid = kwargs.get('oid') oid = kwargs.get('oid') data = kwargs.get('data', None) source_schema = kwargs.get('source_schema', None) diff_schema = kwargs.get('diff_schema', None) drop_sql = kwargs.get('drop_sql', False) if drop_sql: sql = self.delete(gid=gid, sid=sid, did=did, scid=scid, tid=tid, rid=oid, only_sql=True) else: sql = render_template("/".join( [self.template_path, self._PROPERTIES_SQL]), rid=oid) status, res = self.conn.execute_dict(sql) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone( gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) sql = '' if data: if source_schema and 'statements' in data: # Replace the source schema with the target schema data['statements'] = data['statements'].replace( source_schema, diff_schema) old_data = res_data sql = render_template("/".join( [self.template_path, self._UPDATE_SQL]), data=data, o_data=old_data) else: RuleView._check_schema_diff(diff_schema, res_data) sql = render_template("/".join( [self.template_path, self._CREATE_SQL]), data=res_data, display_comments=True) return sql
def get_sql_from_diff(self, **kwargs): """ This function is used to get the DDL/DML statements. :param kwargs :return: """ gid = kwargs.get('gid') sid = kwargs.get('sid') did = kwargs.get('did') scid = kwargs.get('scid') tid = kwargs.get('tid') oid = kwargs.get('oid') data = kwargs.get('data', None) drop_sql = kwargs.get('drop_sql', False) target_schema = kwargs.get('target_schema', None) if drop_sql: sql = self.delete(gid=gid, sid=sid, did=did, scid=scid, tid=tid, rid=oid, only_sql=True) else: sql = render_template("/".join( [self.template_path, self._PROPERTIES_SQL]), rid=oid) status, res = self.conn.execute_dict(sql) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone(self.not_found_error_msg()) res_data = parse_rule_definition(res) if data: old_data = res_data sql = render_template("/".join( [self.template_path, self._UPDATE_SQL]), data=data, o_data=old_data) else: RuleView._check_schema_diff(target_schema, res_data) sql = render_template("/".join( [self.template_path, self._CREATE_SQL]), data=res_data, display_comments=True) return sql
def sql(self, gid, sid, did, scid, tid, rid): """ This function will generate sql to render into the sql panel """ SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=rid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) res_data = parse_rule_definition(res) SQL = render_template("/".join( [self.template_path, 'create.sql']), data=res_data, display_comments=True) return ajax_response(response=SQL)
def properties(self, gid, sid, did, scid, tid, rid): """ Fetch the properties of an individual rule and render in properties tab """ SQL = render_template("/".join([self.template_path, 'properties.sql']), rid=rid, datlastsysoid=self.datlastsysoid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone(gettext("""Could not find the rule in the table.""")) return ajax_response(response=parse_rule_definition(res), status=200)
def properties(self, gid, sid, did, scid, tid, rid): """ Fetch the properties of an individual rule and render in properties tab """ SQL = render_template("/".join( [self.template_path, 'properties.sql'] ), rid=rid, datlastsysoid=self.datlastsysoid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) return ajax_response( response=parse_rule_definition(res), status=200 )
def sql(self, gid, sid, did, scid, tid, rid): """ This function will generate sql to render into the sql panel """ SQL = render_template("/".join( [self.template_path, self._PROPERTIES_SQL]), rid=rid) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone(gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) SQL = render_template("/".join([self.template_path, self._CREATE_SQL]), data=res_data, display_comments=True) return ajax_response(response=SQL)
def _fetch_properties(self, rid): """ This function is used to fetch the properties of the specified object :param rid: :return: """ SQL = render_template("/".join( [self.template_path, self._PROPERTIES_SQL]), rid=rid, datlastsysoid=self.datlastsysoid) status, res = self.conn.execute_dict(SQL) if not status: return False, internal_server_error(errormsg=res) if len(res['rows']) == 0: return False, gone(self.not_found_error_msg()) return True, parse_rule_definition(res)
def _fetch_properties(self, rid): """ This function is used to fetch the properties of the specified object :param rid: :return: """ SQL = render_template("/".join([self.template_path, 'properties.sql']), rid=rid, datlastsysoid=self.datlastsysoid) status, res = self.conn.execute_dict(SQL) if not status: return False, internal_server_error(errormsg=res) if len(res['rows']) == 0: return False, gone( gettext("""Could not find the rule in the table.""")) return True, parse_rule_definition(res)
def sql(self, gid, sid, did, scid, tid, rid): """ This function will generate sql to render into the sql panel """ servertype = 'hawq' if 'HAWQ' in self.manager.ver else self.manager.server_type SQL = render_template("/".join([self.template_path, 'properties.sql']), rid=rid, servertype=servertype) status, res = self.conn.execute_dict(SQL) if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: return gone(gettext("""Could not find the rule in the table.""")) res_data = parse_rule_definition(res) SQL = render_template("/".join([self.template_path, 'create.sql']), data=res_data, display_comments=True) return ajax_response(response=SQL)
def getSQL(self, gid, sid, data, tid, rid): """ This function will generate sql from model data """ if rid is not None: SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=rid) status, res = self.conn.execute_dict(SQL) res_data = parse_rule_definition(res) if not status: return internal_server_error(errormsg=res) old_data = res_data SQL = render_template("/".join([self.template_path, 'update.sql']), data=data, o_data=old_data) else: SQL = render_template("/".join([self.template_path, 'create.sql']), data=data) return SQL, data['name'] if 'name' in data else old_data['name']
def getSQL(self, gid, sid, data, tid, rid): """ This function will generate sql from model data """ try: if rid is not None: SQL = render_template("/".join( [self.template_path, 'properties.sql']), rid=rid) status, res = self.conn.execute_dict(SQL) res_data = [] res_data = parse_rule_definition(res) if not status: return internal_server_error(errormsg=res) old_data = res_data SQL = render_template( "/".join([self.template_path, 'update.sql']), data=data, o_data=old_data ) else: SQL = render_template("/".join( [self.template_path, 'create.sql']), data=data) return SQL except Exception as e: return internal_server_error(errormsg=str(e))