Merge 'Return sqlite_version() without being initialized' from Preston Thorpe

needed to support opening in Gorm

Closes #2878
This commit is contained in:
Pekka Enberg
2025-09-02 09:04:25 +03:00
committed by GitHub

View File

@@ -4460,10 +4460,16 @@ pub fn op_function(
}
}
ScalarFunc::SqliteVersion => {
let version_integer =
return_if_io!(pager.with_header(|header| header.version_number)).get() as i64;
let version = execute_sqlite_version(version_integer);
state.registers[*dest] = Register::Value(Value::build_text(version));
if !program.connection.is_db_initialized() {
state.registers[*dest] =
Register::Value(Value::build_text(info::build::PKG_VERSION));
} else {
let version_integer =
return_if_io!(pager.with_header(|header| header.version_number)).get()
as i64;
let version = execute_sqlite_version(version_integer);
state.registers[*dest] = Register::Value(Value::build_text(version));
}
}
ScalarFunc::SqliteSourceId => {
let src_id = format!(