Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.util.sqlite

import re
import sqlite3

try:
    import sqlparse

    def is_read_only_query(query):
        statements = sqlparse.parse(query)
        for statement in statements:
            if statement.get_type() != "SELECT":
                return False
        return True

except ImportError:
    # Without sqlparse we use a very weak regex check
[docs] def is_read_only_query(query): if re.match("select ", query, re.IGNORECASE): if re.search("^([^\"]|\"[^\"]*\")*?;", query) or re.search("^([^\']|\'[^\']*\')*?;", query): return False else: return True return False
[docs]def connect(path): connection = sqlite3.connect(path) connection.row_factory = sqlite3.Row return connection