예제 #1
0
    def __init__(self, row):
        SegmentGuc.__init__(self, row)

        if len(row) < 3:
            raise Exception("must provide ['context', 'guc name', 'value']")

        self.value = row[2]
예제 #2
0
    def __init__(self, row):
        SegmentGuc.__init__(self, row)

        if len(row) < 3:
            raise Exception("must provide ['context', 'guc name', 'value']")

        self.value = row[2]
예제 #3
0
    def __init__(self, guc1, guc2):
        """
        accept 2 gucs in any order. gucs can be any combination of:

        * database guc
        * file guc
            - primary
            - mirror
        * existing comparison guc, with or without mirror
        """
        self.primary_file_seg_guc = None
        self.mirror_file_seg_guc = None
        self.db_seg_guc = None

        if not guc1 or not guc2:
            raise Exception("comparison requires two gucs")

        SegmentGuc.__init__(self, [guc1.context, guc1.name])
        if guc1.context != guc2.context:
            raise Exception("Not the same context")

        if isinstance(guc1, MultiValueGuc):
            # copy constructor
            self.db_seg_guc = guc1.db_seg_guc
            self.primary_file_seg_guc = guc1.primary_file_seg_guc
            self.mirror_file_seg_guc = guc1.mirror_file_seg_guc

        if isinstance(guc2, MultiValueGuc):
            # copy constructor
            self.db_seg_guc = guc2.db_seg_guc
            self.primary_file_seg_guc = guc2.primary_file_seg_guc
            self.mirror_file_seg_guc = guc2.mirror_file_seg

        if isinstance(guc1, FileSegmentGuc):
            if self.primary_file_seg_guc:
                if self.primary_file_seg_guc.dbid == guc1.dbid:
                    self.primary_file_seg_guc = guc1
                else:
                    self.mirror_file_seg_guc = guc1
            else:
                self.primary_file_seg_guc = guc1

        if isinstance(guc2, FileSegmentGuc):
            if self.primary_file_seg_guc:
                if self.primary_file_seg_guc.dbid == guc2.dbid:
                    self.primary_file_seg_guc = guc2
                else:
                    self.mirror_file_seg_guc = guc2
            else:
                self.primary_file_seg_guc = guc2

        if isinstance(guc1, DatabaseSegmentGuc):
            self.db_seg_guc = guc1

        if isinstance(guc2, DatabaseSegmentGuc):
            self.db_seg_guc = guc2
예제 #4
0
    def __init__(self, guc1, guc2):
        """
        accept 2 gucs in any order. gucs can be any combination of:

        * database guc
        * file guc
            - primary
            - mirror
        * existing comparison guc, with or without mirror
        """
        self.primary_file_seg_guc = None
        self.mirror_file_seg_guc = None
        self.db_seg_guc = None

        if not guc1 or not guc2:
            raise Exception("comparison requires two gucs")

        SegmentGuc.__init__(self, [guc1.context, guc1.name])
        if guc1.context != guc2.context:
            raise Exception("Not the same context")

        if isinstance(guc1, MultiValueGuc):
            # copy constructor
            self.db_seg_guc = guc1.db_seg_guc
            self.primary_file_seg_guc = guc1.primary_file_seg_guc
            self.mirror_file_seg_guc = guc1.mirror_file_seg_guc

        if isinstance(guc2, MultiValueGuc):
            # copy constructor
            self.db_seg_guc = guc2.db_seg_guc
            self.primary_file_seg_guc = guc2.primary_file_seg_guc
            self.mirror_file_seg_guc = guc2.mirror_file_seg

        if isinstance(guc1, FileSegmentGuc):
            if self.primary_file_seg_guc:
                if self.primary_file_seg_guc.dbid == guc1.dbid:
                    self.primary_file_seg_guc = guc1
                else:
                    self.mirror_file_seg_guc = guc1
            else:
                self.primary_file_seg_guc = guc1

        if isinstance(guc2, FileSegmentGuc):
            if self.primary_file_seg_guc:
                if self.primary_file_seg_guc.dbid == guc2.dbid:
                    self.primary_file_seg_guc = guc2
                else:
                    self.mirror_file_seg_guc = guc2
            else:
                self.primary_file_seg_guc = guc2

        if isinstance(guc1, DatabaseSegmentGuc):
            self.db_seg_guc = guc1

        if isinstance(guc2, DatabaseSegmentGuc):
            self.db_seg_guc = guc2