(self, predicate_string, tuple_names, schema)
Constructing predicate object by setting self.cnf_form to e.g. t1."Attribute" = t2."Attribute".

        :param predicate_string: string shows the predicate
        :param tuple_names: name of tuples in denial constraint
        :param schema: list of attributes
Constructing predicate object by setting self.cnf_form to e.g. t1."Attribute" = t2."Attribute".
Constructing predicate object by setting self . cnf_form to e . g . t1 . Attribute = t2 . Attribute .
def __init__(self, predicate_string, tuple_names, schema):
        """
        Constructing predicate object by setting self.cnf_form to e.g. t1."Attribute" = t2."Attribute".

        :param predicate_string: string shows the predicate
        :param tuple_names: name of tuples in denial constraint
        :param schema: list of attributes
        """
        self.schema = schema
        self.tuple_names = tuple_names
        self.cnf_form = ""
        op_index = contains_operation(predicate_string)
        if op_index is not None:
            self.operation_string = operationSign[op_index]
            self.operation = operationsArr[op_index]
        else:
            raise Exception('Cannot find operation in predicate')
        self.components = self.parse_components(predicate_string)
        for i in range(len(self.components)):
            component = self.components[i]
            if isinstance(component, str):
                self.cnf_form += component
            else:
                # Need to wrap column names in quotations for Postgres
                self.cnf_form += '{alias}."{attr}"'.format(
                        alias=component[0],
                        attr=component[1])
            if i < len(self.components) - 1:
                self.cnf_form += self.operation
        logging.debug("DONE parsing predicate: %s", predicate_string)
def __init__ ( self , predicate_string , tuple_names , schema ) : self . schema = schema self . tuple_names = tuple_names self . cnf_form = "" op_index = contains_operation ( predicate_string ) if op_index is not None : self . operation_string = operationSign [ op_index ] self . operation = operationsArr [ op_index ] else : raise Exception ( 'Cannot find operation in predicate' ) self . components = self . parse_components ( predicate_string ) for i in range ( len ( self . components ) ) : component = self . components [ i ] if isinstance ( component , str ) : self . cnf_form += component else : # Need to wrap column names in quotations for Postgres self . cnf_form += '{alias}."{attr}"' . format ( alias = component [ 0 ] , attr = component [ 1 ] ) if i < len ( self . components ) - 1 : self . cnf_form += self . operation logging . debug ( "DONE parsing predicate: %s" , predicate_string )