giraffez/export.py
def query(self, query):
        """
        Set the query to be run and initiate the connection with Teradata.
        Only necessary if the query/table name was not specified as an argument
        to the constructor of the instance.

        :param str query: Valid SQL query to be executed
        """
        if query is None:
            return
        if log.level >= VERBOSE:
            self.options("query", query, 6)
        else:
            self.options("query", truncate(query), 6)
        statements = parse_statement(remove_curly_quotes(query))
        if not statements:
            raise GiraffeError("Unable to parse SQL statement")
        if len(statements) > 1:
            show_warning(("MORE THAN ONE STATEMENT RECEIVED, EXPORT OPERATIONS ALLOW ONE "
                "STATEMENT - ONLY THE FIRST STATEMENT WILL BE USED."), RuntimeWarning)
        statement = statements[0]
        log.debug("Debug[2]", "Statement (sanitized): {!r}".format(statement))
        if not (statement.startswith("select ") or statement.startswith("sel ")):
            statement = "select * from {}".format(statement)
        if statement == self.query:
            return
        else:
            self._query = statement
        self.initiated = False
        # Since CLIv2 is used in set_query (instead of relying on the
        # colums from the TPT Export driver) and set_query will always
        # happen before calls to initiate, set_query will always fail
        # with InvalidCredentialsError before initiate despite initiate
        # presumably failing after this point as well.
        try:
            self.export.set_query(statement)
        except InvalidCredentialsError as error:
            if self.protect:
                Config.lock_connection(self.config, self.dsn, self.key_file)
            raise error
def query(self, query):
        """
        Set the query to be run and initiate the connection with Teradata.
        Only necessary if the query/table name was not specified as an argument
        to the constructor of the instance.

        :param str query: Valid SQL query to be executed
        """
        if query is None:
            return
        if log.level >= VERBOSE:
            self.options("query", query, 6)
        else:
            self.options("query", truncate(query), 6)
        statements = parse_statement(remove_curly_quotes(query))
        if not statements:
            raise GiraffeError("Unable to parse SQL statement")
        if len(statements) > 1:
            show_warning(("MORE THAN ONE STATEMENT RECEIVED, EXPORT OPERATIONS ALLOW ONE "
                "STATEMENT - ONLY THE FIRST STATEMENT WILL BE USED."), RuntimeWarning)
        statement = statements[0]
        log.debug("Debug[2]", "Statement (sanitized): {!r}".format(statement))
        if not (statement.startswith("select ") or statement.startswith("sel ")):
            statement = "select * from {}".format(statement)
        if statement == self.query:
            return
        else:
            self._query = statement
        self.initiated = False
        # Since CLIv2 is used in set_query (instead of relying on the
        # colums from the TPT Export driver) and set_query will always
        # happen before calls to initiate, set_query will always fail
        # with InvalidCredentialsError before initiate despite initiate
        # presumably failing after this point as well.
        try:
            self.export.set_query(statement)
        except InvalidCredentialsError as error:
            if self.protect:
                Config.lock_connection(self.config, self.dsn, self.key_file)
            raise error
def query ( self , query ) : if query is None : return if log . level >= VERBOSE : self . options ( "query" , query , 6 ) else : self . options ( "query" , truncate ( query ) , 6 ) statements = parse_statement ( remove_curly_quotes ( query ) ) if not statements : raise GiraffeError ( "Unable to parse SQL statement" ) if len ( statements ) > 1 : show_warning ( ( "MORE THAN ONE STATEMENT RECEIVED, EXPORT OPERATIONS ALLOW ONE " "STATEMENT - ONLY THE FIRST STATEMENT WILL BE USED." ) , RuntimeWarning ) statement = statements [ 0 ] log . debug ( "Debug[2]" , "Statement (sanitized): {!r}" . format ( statement ) ) if not ( statement . startswith ( "select " ) or statement . startswith ( "sel " ) ) : statement = "select * from {}" . format ( statement ) if statement == self . query : return else : self . _query = statement self . initiated = False # Since CLIv2 is used in set_query (instead of relying on the # colums from the TPT Export driver) and set_query will always # happen before calls to initiate, set_query will always fail # with InvalidCredentialsError before initiate despite initiate # presumably failing after this point as well. try : self . export . set_query ( statement ) except InvalidCredentialsError as error : if self . protect : Config . lock_connection ( self . config , self . dsn , self . key_file ) raise error
Set the query to be run and initiate the connection with Teradata.
        Only necessary if the query/table name was not specified as an argument
        to the constructor of the instance.

        :param str query: Valid SQL query to be executed
Set the query to be run and initiate the connection with Teradata . Only necessary if the query / table name was not specified as an argument to the constructor of the instance .