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