示例#1
0
    def abort(self):
        try:
            for fn in self.on_before_abort:
                fn()  # hooks

            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_before_abort", None)
                if row_handler:
                    row_handler()
            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_abort", None)
                if row_handler:
                    row_handler()

            if self.in_transaction:
                M.trollback()
                self.in_transaction = False

            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_after_abort", None)
                if row_handler:
                    row_handler()

            for fn in self.on_after_abort:
                fn()  # hooks
        finally:
            self.tracking = []
示例#2
0
    def abort(self):
        try:
            for fn in self.on_before_abort: fn() # hooks

            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_before_abort", None)
                if row_handler:
                    row_handler()
            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_abort", None)
                if row_handler:
                    row_handler()

            if self.in_transaction:
                M.trollback()
                self.in_transaction = False

            for dbrow in self.tracking:
                row_handler = getattr(dbrow, "_on_after_abort", None)
                if row_handler:
                    row_handler()

            for fn in self.on_after_abort: fn() # hooks
        finally:
            self.tracking = []
示例#3
0
    def commit(self):
        try:
            try:
                for fn in self.on_before_commit:
                    fn()  # hooks

                for dbrow in self.tracking:
                    row_handler = getattr(dbrow, "_on_before_commit", None)
                    if row_handler:
                        row_handler()
                for dbrow in self.tracking:
                    dbrow._on_commit()

                for dbrow in self.tracking:
                    row_handler = getattr(dbrow, "_on_after_commit", None)
                    if row_handler:
                        row_handler()
            except Exception, e:
                M.trollback()
                raise

            if self.in_transaction:
                M.tcommit()

            for fn in self.on_after_commit:
                fn()  # hooks
示例#4
0
    def commit(self):
        try:
            try:
                for fn in self.on_before_commit: fn() # hooks

                for dbrow in self.tracking:
                    row_handler = getattr(dbrow, "_on_before_commit", None)
                    if row_handler:
                        row_handler()
                for dbrow in self.tracking:
                    dbrow._on_commit()

                for dbrow in self.tracking:
                    row_handler = getattr(dbrow, "_on_after_commit", None)
                    if row_handler:
                        row_handler()
            except Exception, e:
                M.trollback()
                raise

            if self.in_transaction:
                M.tcommit()

            for fn in self.on_after_commit: fn() # hooks