Path: blob/master/plugins/dbms/vertica/connector.py
2992 views
#!/usr/bin/env python12"""3Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org)4See the file 'LICENSE' for copying permission5"""67try:8import vertica_python9except:10pass1112import logging1314from lib.core.common import getSafeExString15from lib.core.data import conf16from lib.core.data import logger17from lib.core.exception import SqlmapConnectionException18from plugins.generic.connector import Connector as GenericConnector1920class Connector(GenericConnector):21"""22Homepage: https://github.com/vertica/vertica-python23User guide: https://github.com/vertica/vertica-python/blob/master/README.md24API: https://www.python.org/dev/peps/pep-0249/25License: Apache 2.026"""2728def connect(self):29self.initConnection()3031try:32self.connector = vertica_python.connect(host=self.hostname, user=self.user, password=self.password, database=self.db, port=self.port, connection_timeout=conf.timeout)33except vertica_python.OperationalError as ex:34raise SqlmapConnectionException(getSafeExString(ex))3536self.initCursor()37self.printConnected()3839def fetchall(self):40try:41return self.cursor.fetchall()42except vertica_python.ProgrammingError as ex:43logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))44return None4546def execute(self, query):47try:48self.cursor.execute(query)49except (vertica_python.OperationalError, vertica_python.ProgrammingError) as ex:50logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % getSafeExString(ex))51except vertica_python.InternalError as ex:52raise SqlmapConnectionException(getSafeExString(ex))5354self.connector.commit()5556def select(self, query):57self.execute(query)58return self.fetchall()596061