예제 #1
0
def basicSQLExec(conn, sql):
    cursor = None
    try:
        cursor = dbconn.query(conn, sql)
        rows = cursor.fetchall()
        return rows
    finally:
        if cursor:
            cursor.close()
예제 #2
0
def dropSchemaIfExist(conn, schemaname):
    sql = "SELECT nspname FROM pg_catalog.pg_namespace WHERE nspname = '%s'" % schemaname
    dropsql = "DROP SCHEMA %s" % schemaname
    cursor = None
    try:
        cursor = dbconn.query(conn, sql)
        numrows = cursor.rowcount
        if numrows == 1:
            cursor = dbconn.query(conn, dropsql)
        else:
            raise CatalogError("more than one entry in pg_namespace for '%s'" %
                               schemaname)
    except Exception as e:
        raise CatalogError("error dropping schema %s: %s" %
                           (schemaname, str(e)))
    finally:
        if cursor:
            cursor.close()
        conn.commit()
예제 #3
0
def doesSchemaExist(conn, schemaname):
    sql = "SELECT nspname FROM pg_catalog.pg_namespace WHERE nspname = '%s'" % schemaname
    cursor = None
    try:
        cursor = dbconn.query(conn, sql)
        numrows = cursor.rowcount
        if numrows == 0:
            return False
        elif numrows == 1:
            return True
        else:
            raise CatalogError("more than one entry in pg_namespace for '%s'" %
                               schemaname)
    finally:
        if cursor:
            cursor.close()