Beispiel #1
0
    def get_sql_from_diff(self, gid, sid, did, scid, tid, oid,
                          data=None, diff_schema=None, drop_sql=False):
        if data:
            SQL, name = trigger_utils.get_sql(
                self.conn, data, tid, oid,
                self.datlastsysoid,
                self.blueprint.show_system_objects, True)

            if not isinstance(SQL, str):
                return SQL
            SQL = SQL.strip('\n').strip(' ')
        else:
            if drop_sql:
                SQL = self.delete(gid=gid, sid=sid, did=did,
                                  scid=scid, tid=tid, trid=oid,
                                  only_sql=True)
            else:
                schema = self.schema
                if diff_schema:
                    schema = diff_schema
                SQL = trigger_utils.get_reverse_engineered_sql(
                    self.conn, schema,
                    self.table, tid, oid,
                    self.datlastsysoid,
                    self.blueprint.show_system_objects,
                    template_path=None, with_header=False)

        return SQL
Beispiel #2
0
    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 data:
            SQL, name = trigger_utils.get_sql(
                self.conn,
                data=data,
                tid=tid,
                trid=oid,
                datlastsysoid=self.datlastsysoid,
                show_system_objects=self.blueprint.show_system_objects,
                is_schema_diff=True)

            if not isinstance(SQL, str):
                return SQL
            SQL = SQL.strip('\n').strip(' ')
        else:
            if drop_sql:
                SQL = self.delete(gid=gid,
                                  sid=sid,
                                  did=did,
                                  scid=scid,
                                  tid=tid,
                                  trid=oid,
                                  only_sql=True)
            else:
                schema = self.schema
                if target_schema:
                    schema = target_schema

                SQL = trigger_utils.get_reverse_engineered_sql(
                    self.conn,
                    schema=schema,
                    table=self.table,
                    tid=tid,
                    trid=oid,
                    datlastsysoid=self.datlastsysoid,
                    show_system_objects=self.blueprint.show_system_objects,
                    template_path=None,
                    with_header=False)

        return SQL
Beispiel #3
0
    def sql(self, gid, sid, did, scid, tid, trid):
        """
        This function will generates reverse engineered sql for trigger object

         Args:
           gid: Server Group ID
           sid: Server ID
           did: Database ID
           scid: Schema ID
           tid: Table ID
           trid: Trigger ID
        """

        SQL = trigger_utils.get_reverse_engineered_sql(
            self.conn, self.schema, self.table, tid, trid, self.datlastsysoid,
            self.blueprint.show_system_objects)

        return ajax_response(response=SQL)