///|
/// Diagnostic transport only: no SQL-gap exemption or accepted history.
priv struct OrmPlan {
operation : String
mapping : String
pk_bind : String
fields : Array[String]
original : String
executed : String
}
///|
priv struct OrmEffect {
tx : String
row_seq : Int64
source_seq : Int64
data : Map[String, Json]
mut reverted_by : Json
}
///|
fn orm_assert(ok : Bool, message : String) -> Unit raise {
if !ok {
fail(message)
}
}
///|
fn orm_text(value : Json) -> String raise {
v3_dislock_text(value, "ORM source text")
}
///|
fn orm_get(value : Json, key : String) -> Json raise {
required(object_fields(value, "ORM object"), key, "ORM object")
}
///|
fn orm_array(value : Json) -> Array[Json] raise {
presence_capture_array(value, "ORM array")
}
///|
fn orm_equal(actual : Json, expected : Json, label : String) -> Unit raise {
orm_assert(actual == expected, "ORM source mismatch: " + label)
}
///|
fn orm_utf8_size(text : String) -> Int32 {
@utf8.encode(text[:]).length()
}
///|
fn orm_nodes(value : Json, depth : Int32) -> Int32 raise {
orm_assert(depth <= 64, "ORM JSON nesting exceeds 64")
let mut count = 1
match value {
Array(values) =>
for item in values {
count += orm_nodes(item, depth + 1)
}
Object(fields) =>
for _, item in fields {
count += 1 + orm_nodes(item, depth + 1)
}
_ => ()
}
orm_assert(count <= 4096, "Shared ORM source record node budget exceeded")
count
}
///|
fn orm_exact(value : Json, fields : Array[String]) -> Map[String, Json] raise {
let obj = object_fields(value, "ORM exact object")
known_fields(obj, fields, "ORM exact object")
orm_assert(obj.length() == fields.length(), "Missing ORM exact field")
obj
}
///|
fn orm_native_text(value : Json, maximum : Int32) -> String raise {
let text = orm_text(value)
let mut count = 0
for ch in text.iter() {
orm_assert(
ch.to_int() != 0 && !(ch.to_int() >= 0xd800 && ch.to_int() <= 0xdfff),
"Invalid PostgreSQL native text scalar",
)
count += 1
}
orm_assert(count <= maximum, "PostgreSQL varchar character limit exceeded")
text
}
///|
fn orm_uuid(value : Json) -> String raise {
presence_capture_uuid(value, "ORM canonical UUID")
}
///|
fn orm_bound_uuid(value : Json) -> String raise {
match value {
String(_) => orm_uuid(value)
_ => {
let obj = orm_exact(value, ["captureType", "value"])
orm_equal(required(obj, "captureType", "UUID"), Json("UUID"), "UUID type")
orm_uuid(required(obj, "value", "UUID"))
}
}
}
///|
fn orm_image(value : Json, key : String, present : Bool) -> Unit raise {
if !present {
orm_equal(value, Json::null(), "absent image")
return
}
let obj = orm_exact(value, [
"id", "email", "hashed_password", "is_active", "is_superuser", "is_verified",
])
orm_assert(
orm_uuid(required(obj, "id", "image")) == key,
"Image UUID differs from source key",
)
ignore(orm_native_text(required(obj, "email", "image"), 320))
ignore(orm_native_text(required(obj, "hashed_password", "image"), 1024))
for name in ["is_active", "is_superuser", "is_verified"] {
match required(obj, name, "image") {
True | False => ()
_ => fail("Image flag must be boolean")
}
}
}
///|
fn orm_business_columns() -> Json {
[
{ "name": "id", "typeCode": 2950 },
{ "name": "email", "typeCode": 1043 },
{ "name": "hashed_password", "typeCode": 1043 },
{ "name": "is_active", "typeCode": 16 },
{ "name": "is_superuser", "typeCode": 16 },
{ "name": "is_verified", "typeCode": 16 },
]
}
///|
fn orm_payload(prefix_name : String) -> String {
"jsonb_build_object('id'," +
prefix_name +
".id::uuid::text,'email'," +
prefix_name +
".email,'hashed_password'," +
prefix_name +
".hashed_password,'is_active'," +
prefix_name +
".is_active,'is_superuser'," +
prefix_name +
".is_superuser,'is_verified'," +
prefix_name +
".is_verified)::text::varchar(12288)"
}
///|
fn orm_plan(
schema : String,
table : String,
operation : String,
mask : Int32,
pk : String,
) -> OrmPlan raise {
let names = [
"id", "email", "hashed_password", "is_active", "is_superuser", "is_verified",
]
let fields : Array[String] = []
if operation == "update" {
orm_assert(mask > 0 && mask < 32, "Unknown ORM update mask")
for i in 0..<5 {
if (mask & (1 << i)) != 0 {
fields.push(names[i + 1])
}
}
} else {
orm_assert(mask == 0, "Unexpected non-update mask")
}
let q = schema + "." + table
let mut original = ""
let mut executed = ""
match operation {
"get" => {
orm_assert(pk == "id_1" || pk == "pk_1", "Unknown GET binding")
let selected = names.map(name => q + "." + name).join(", ")
original = "SELECT " +
selected +
" \nFROM " +
q +
" \nWHERE " +
q +
".id = %(" +
pk +
")s::UUID"
executed = "SELECT " +
selected +
", _mtw_scope.token::uuid::text, _mtw_scope.present\nFROM " +
schema +
"._mtw_orm_state AS _mtw_scope LEFT JOIN " +
q +
" ON " +
q +
".id = _mtw_scope.key::uuid\nWHERE _mtw_scope.key = %(" +
pk +
")s::UUID::text"
}
"create" => {
orm_assert(pk == "id", "Unknown INSERT binding")
original = "INSERT INTO " +
q +
" (id, email, hashed_password, is_active, is_superuser, is_verified) VALUES (%(id)s::UUID, %(email)s::VARCHAR, %(hashed_password)s::VARCHAR, %(is_active)s, %(is_superuser)s, %(is_verified)s)"
executed = original +
" RETURNING NEW.id::uuid::text," +
schema +
"._mtw_orm_predecessor(NEW._mtw_orm_version::uuid::text)::uuid::text,NEW._mtw_orm_version::uuid::text,false,true,NULL::varchar(12288)," +
orm_payload("NEW") +
",'INSERT'::text"
}
"update" => {
orm_assert(pk == schema + "_" + table + "_id", "Unknown UPDATE binding")
let sets = fields.map(name => {
name +
"=%(" +
name +
")s" +
(if name == "email" || name == "hashed_password" {
"::VARCHAR"
} else {
""
})
})
original = "UPDATE " +
q +
" SET " +
sets.join(", ") +
" WHERE " +
q +
".id = %(" +
pk +
")s::UUID"
executed = original +
" RETURNING OLD.id::uuid::text,OLD._mtw_orm_version::uuid::text,NEW._mtw_orm_version::uuid::text,true,true," +
orm_payload("OLD") +
"," +
orm_payload("NEW") +
",'UPDATE'::text"
}
"delete" => {
orm_assert(pk == "id", "Unknown DELETE binding")
original = "DELETE FROM " + q + " WHERE " + q + ".id = %(id)s::UUID"
executed = original +
" RETURNING OLD.id::uuid::text,OLD._mtw_orm_version::uuid::text," +
schema +
"._mtw_orm_deleted_version(OLD.id::uuid::text,OLD._mtw_orm_version::uuid::text)::uuid::text,true,false," +
orm_payload("OLD") +
",NULL::varchar(12288),'DELETE'::text"
}
_ => fail("Unsupported ORM SQL family")
}
{
operation,
mapping: "fastapi-users.base-user." +
operation +
"." +
mask.to_string() +
"/1",
pk_bind: pk,
fields,
original,
executed,
}
}
///|
fn orm_match_plan(
batch : Map[String, Json],
schema : String,
table : String,
) -> OrmPlan raise {
let operation = orm_text(required(batch, "operation", "batch"))
let mapping = orm_text(required(batch, "mappingId", "batch"))
let params = object_fields(
required(batch, "parameters", "batch"),
"parameters",
)
let mut mask = 0
if operation == "update" {
for
i, name in [
"email", "hashed_password", "is_active", "is_superuser", "is_verified",
] {
if params.contains(name) {
mask += 1 << i
}
}
}
let pk = match operation {
"get" => if params.contains("id_1") { "id_1" } else { "pk_1" }
"update" => schema + "_" + table + "_id"
_ => "id"
}
let plan = orm_plan(schema, table, operation, mask, pk)
orm_assert(
mapping == plan.mapping,
"Mapping name differs from exact SQL family",
)
orm_equal(
required(batch, "originalSql", "batch"),
Json(plan.original),
"original SQL",
)
orm_equal(
required(batch, "executedSql", "batch"),
Json(plan.executed),
"executed SQL",
)
let allowed = if operation == "create" {
[
"id", "email", "hashed_password", "is_active", "is_superuser", "is_verified",
]
} else {
[pk]
}
if operation == "update" {
for name in plan.fields {
allowed.push(name)
}
}
known_fields(params, allowed, "ORM parameters")
orm_assert(params.length() == allowed.length(), "Missing parameter")
ignore(orm_bound_uuid(required(params, pk, "parameters")))
for name in allowed {
if name == "email" || name == "hashed_password" {
ignore(
orm_native_text(
required(params, name, "parameters"),
if name == "email" {
320
} else {
1024
},
),
)
} else if name != pk {
match required(params, name, "parameters") {
True | False => ()
_ => fail("Boolean ORM parameter required")
}
}
}
plan
}
///|
fn orm_raw_text(raw : Json) -> Json raise {
if raw == Json::null() {
return raw
}
let obj = orm_exact(raw, ["captureType", "base64"])
orm_equal(
required(obj, "captureType", "raw"),
Json("bytes"),
"raw bytes type",
)
let encoded = orm_text(required(obj, "base64", "raw"))
orm_assert(encoded.length() <= 70000, "Raw source cell bound exceeded")
let decoded = @base64.decode(encoded[:], ignore_whitespace=false)
orm_assert(@base64.encode(decoded[:]) == encoded, "Non-canonical base64")
let text = @utf8.decode(decoded[:], ignore_bom=false)
orm_assert(
orm_utf8_size(text) <= 50 * 1024,
"Raw PGresult source cell exceeds bound",
)
Json(text)
}
///|
fn orm_pg_cells(result : Json, operation : String) -> Array[Json] raise {
let obj = orm_exact(result, [
"status", "ntuples", "commandTuples", "commandTag", "fields",
])
for name in ["ntuples", "commandTuples"] {
orm_equal(required(obj, name, "result"), Json(1), "actual one-row result")
}
orm_equal(required(obj, "status", "result"), Json(2), "TUPLES_OK")
let tag = match operation {
"get" => "SELECT 1"
"create" => "INSERT 0 1"
"update" => "UPDATE 1"
"delete" => "DELETE 1"
_ => fail("Unknown command")
}
orm_equal(
orm_raw_text(required(obj, "commandTag", "result")),
Json(tag),
"actual server command tag",
)
let fields = orm_array(required(obj, "fields", "result"))
orm_assert(
fields.length() == 8,
"Actual internal result must have eight columns",
)
let oids = if operation == "get" {
[2950, 1043, 1043, 16, 16, 16, 25, 16]
} else {
[25, 25, 25, 16, 16, 1043, 1043, 25]
}
let cells : Array[Json] = []
for i in 0..<8 {
let field = orm_exact(fields[i], ["oid", "format", "typmod", "raw"])
orm_equal(required(field, "oid", "field"), Json(oids[i]), "PG field OID")
orm_equal(required(field, "format", "field"), Json(0), "text wire format")
let typmod = if operation == "get" {
if i == 1 {
324
} else if i == 2 {
1028
} else {
-1
}
} else if i == 5 || i == 6 {
12292
} else {
-1
}
orm_equal(
required(field, "typmod", "field"),
Json(typmod),
"PG bounded typmod",
)
let raw = orm_raw_text(required(field, "raw", "field"))
let bool_cell = if operation == "get" {
i == 3 || i == 4 || i == 5 || i == 7
} else {
i == 3 || i == 4
}
if raw == Json::null() {
cells.push(raw)
} else if bool_cell {
match orm_text(raw) {
"t" => cells.push(Json(true))
"f" => cells.push(Json(false))
_ => fail("Invalid PostgreSQL boolean text")
}
} else if operation != "get" && (i == 5 || i == 6) {
cells.push(guarded_json(orm_text(raw), limit=50176))
} else if operation == "get" && i == 0 {
let id = orm_uuid(raw)
cells.push({ "captureType": "UUID", "value": Json(id) })
} else {
cells.push(raw)
}
}
cells
}
///|
fn orm_command(
tag : String,
count : Int32,
description : Json,
position : Json,
) -> Json {
{
"tag": Json(tag),
"rowcount": Json(count),
"description": description,
"rownumber": position,
}
}
///|
fn orm_verify_batch(
batch : Map[String, Json],
plan : OrmPlan,
statement : Map[String, Json],
row : Map[String, Json],
known : Map[String, Bool],
) -> Json raise {
let tx = required(batch, "tx", "batch")
orm_equal(
required(statement, "kind", "statement"),
Json("statement"),
"statement kind",
)
orm_equal(required(row, "kind", "rows"), Json("rows"), "rows kind")
for event in [statement, row] {
orm_equal(required(event, "tx", "event"), tx, "same transaction")
}
for
(source, target) in [
("originalSql", "sql"),
("executedSql", "executedSql"),
("mappingId", "mappingId"),
("parameters", "parameters"),
] {
orm_equal(
required(statement, target, "statement"),
required(batch, source, "batch"),
"statement " + target,
)
}
orm_equal(
required(row, "statement", "rows"),
required(batch, "statement", "batch"),
"rows statement reference",
)
orm_equal(
required(row, "complete", "rows"),
Json(true),
"actual business EOF/delivery",
)
let observation = object_fields(
required(batch, "observation", "batch"),
"observation",
)
orm_equal(
required(observation, "profile", "observation"),
Json("fastapi-users-sqlalchemy-7.0.0-pg18/1"),
"observation profile",
)
orm_equal(
required(observation, "mappingId", "observation"),
Json(plan.mapping),
"observation mapping",
)
orm_equal(
required(observation, "proposedWireOnly", "observation"),
Json(true),
"diagnostic-only source carrier",
)
let params = object_fields(required(batch, "parameters", "batch"), "params")
let key = orm_bound_uuid(required(params, plan.pk_bind, "params"))
orm_assert(known.contains(key), "Unknown UUID domain")
let cells = orm_pg_cells(
required(batch, "actualPGresult", "batch"),
plan.operation,
)
let mut kind = ""
let mut version = ""
let mut data : Json = Json::null()
if plan.operation == "get" {
let source = orm_exact(required(observation, "source", "get"), [
"key", "version", "present",
])
orm_equal(required(source, "key", "source"), Json(key), "GET source key")
version = orm_uuid(required(source, "version", "source"))
orm_equal(cells[6], Json(version), "GET raw version")
orm_equal(
cells[7],
required(source, "present", "source"),
"GET actual presence",
)
let present = cells[7] == Json(true)
orm_assert(
present || cells[7] == Json(false),
"Presence flag must be boolean",
)
let rows = orm_array(required(observation, "rows", "get"))
orm_equal(required(row, "rows", "rows"), Json(rows), "business rows")
orm_equal(
required(observation, "complete", "get"),
Json(true),
"GET complete",
)
orm_equal(
required(row, "columns", "rows"),
orm_business_columns(),
"business columns only",
)
let mut image : Json = Json::null()
if present {
orm_assert(rows.length() == 1, "Positive point GET must deliver one row")
let business = orm_array(rows[0])
orm_assert(business.length() == 6, "Business GET width must remain six")
for i in 0..<6 {
orm_equal(cells[i], business[i], "business PGresult prefix")
}
orm_equal(
required(observation, "serverRows", "get"),
Json([Json(cells)]),
"positive internal row",
)
orm_equal(
required(row, "serverRows", "rows"),
required(observation, "serverRows", "get"),
"original positive source row",
)
orm_assert(
!observation.contains("presenceRows") && !row.contains("presenceRows"),
"Positive source cannot carry negative rows",
)
orm_equal(
business[0],
{ "captureType": "UUID", "value": Json(key) },
"business UUID",
)
image = {
"id": Json(key),
"email": business[1],
"hashed_password": business[2],
"is_active": business[3],
"is_superuser": business[4],
"is_verified": business[5],
}
orm_image(image, key, true)
} else {
orm_assert(
rows.length() == 0,
"Negative GET must deliver no business rows",
)
for i in 0..<6 {
orm_equal(cells[i], Json::null(), "negative joined source NULL")
}
orm_equal(
required(observation, "presenceRows", "get"),
Json([Json(cells)]),
"negative source row",
)
orm_assert(
!observation.contains("serverRows") && !row.contains("serverRows"),
"Negative source cannot masquerade as positive result",
)
image = Json::null()
}
let count = if present { 1 } else { 0 }
orm_equal(
required(batch, "businessCommand", "batch"),
orm_command(
"SELECT " + count.to_string(),
count,
orm_business_columns(),
Json(count),
),
"business SELECT facade",
)
kind = "read"
data = {
"key": Json(key),
"version": Json(version),
"present": Json(present),
"image": image,
}
} else {
let effects = orm_array(required(observation, "effectRows", "command"))
orm_equal(
Json(effects),
Json([Json(cells)]),
"decoded effect row and actual result",
)
orm_equal(
required(row, "rows", "rows"),
orm_empty(),
"command business rows empty",
)
orm_equal(
required(observation, "rows", "command"),
orm_empty(),
"command observation rows empty",
)
orm_assert(
!row.contains("serverRows") &&
!row.contains("presenceRows") &&
!row.contains("columns"),
"Command cannot expose private metadata as business columns",
)
orm_equal(cells[0], Json(key), "DML bound key")
let predecessor = orm_uuid(cells[1])
version = orm_uuid(cells[2])
orm_assert(version != predecessor, "Write source identity must change")
let action = match plan.operation {
"create" => "INSERT"
"update" => "UPDATE"
_ => "DELETE"
}
orm_equal(cells[7], Json(action), "DML action")
let old_present = plan.operation != "create"
let new_present = plan.operation != "delete"
orm_equal(cells[3], Json(old_present), "DML OLD presence")
orm_equal(cells[4], Json(new_present), "DML NEW presence")
orm_image(cells[5], key, old_present)
orm_image(cells[6], key, new_present)
if new_present {
let new_image = object_fields(cells[6], "NEW")
if plan.operation == "create" {
for
name in [
"email", "hashed_password", "is_active", "is_superuser", "is_verified",
] {
orm_equal(
required(new_image, name, "NEW"),
required(params, name, "params"),
"INSERT exact NEW parameter",
)
}
} else {
let old_image = object_fields(cells[5], "OLD")
for
name in [
"email", "hashed_password", "is_active", "is_superuser", "is_verified",
] {
orm_equal(
required(new_image, name, "NEW"),
if params.contains(name) {
required(params, name, "params")
} else {
required(old_image, name, "OLD")
},
"UPDATE declared/unmodified field",
)
}
}
}
let tag = if action == "INSERT" { "INSERT 0 1" } else { action + " 1" }
let command = orm_command(tag, 1, Json::null(), Json::null())
orm_equal(
required(batch, "businessCommand", "batch"),
command,
"business command facade",
)
orm_equal(
required(observation, "command", "command"),
command,
"observed business command facade",
)
kind = "write"
data = {
"key": Json(key),
"version": Json(version),
"predecessor": Json(predecessor),
"action": Json(action),
"oldPresent": Json(old_present),
"newPresent": Json(new_present),
"oldImage": cells[5],
"newImage": cells[6],
}
}
{
"kind": Json(kind),
"sourceSeq": required(batch, "sourceSeq", "batch"),
"statement": required(batch, "statement", "batch"),
"rows": required(batch, "businessRowsEvent", "batch"),
"tx": tx,
"data": data,
}
}
///|
fn orm_empty() -> Json {
let items : Array[Json] = []
Json(items)
}