mirror of
https://github.com/simonw/datasette.git
synced 2026-06-03 07:37:00 +02:00
* Support for generated columns, closes #1116 * Show SQLite version in pytest report header * Use table_info() if SQLite < 3.26.0 * Cache sqlite_version() rather than re-calculate every time * Adjust test_database_page for SQLite 3.26.0 or higher
28 lines
615 B
Python
28 lines
615 B
Python
try:
|
|
import pysqlite3 as sqlite3
|
|
except ImportError:
|
|
import sqlite3
|
|
|
|
if hasattr(sqlite3, "enable_callback_tracebacks"):
|
|
sqlite3.enable_callback_tracebacks(True)
|
|
|
|
_cached_sqlite_version = None
|
|
|
|
|
|
def sqlite_version():
|
|
global _cached_sqlite_version
|
|
if _cached_sqlite_version is None:
|
|
_cached_sqlite_version = _sqlite_version()
|
|
return _cached_sqlite_version
|
|
|
|
|
|
def _sqlite_version():
|
|
return tuple(
|
|
map(
|
|
int,
|
|
sqlite3.connect(":memory:")
|
|
.execute("select sqlite_version()")
|
|
.fetchone()[0]
|
|
.split("."),
|
|
)
|
|
)
|