test cleanups passing

This commit is contained in:
2026-03-11 21:55:37 -04:00
parent 44ba3e0e18
commit be1367930d
3 changed files with 333 additions and 125 deletions

View File

@ -606,6 +606,7 @@
" \"last_name\":\"Doe\",", " \"last_name\":\"Doe\",",
" \"type\":\"person\" ", " \"type\":\"person\" ",
" }',", " }',",
" '{{uuid:person_1}}',",
" '{{uuid}}',", " '{{uuid}}',",
" 'create',", " 'create',",
" '{{timestamp}}',", " '{{timestamp}}',",
@ -1063,7 +1064,7 @@
" \"modified_at\":\"{{timestamp}}\",", " \"modified_at\":\"{{timestamp}}\",",
" \"modified_by\":\"00000000-0000-0000-0000-000000000000\",", " \"modified_by\":\"00000000-0000-0000-0000-000000000000\",",
" \"order_id\":\"abc\",", " \"order_id\":\"abc\",",
" \"price\":99.0,\",", " \"price\":99.0,",
" \"product\":\"Widget\",", " \"product\":\"Widget\",",
" \"type\":\"order_line\"", " \"type\":\"order_line\"",
" }", " }",

View File

@ -468,7 +468,12 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t1.archived, 'created_at', t1_obj_t1.created_at, 'id', t1_obj_t1.id, 'name', t1_obj_t1.name, 'type', t1_obj_t1.type)", "(SELECT jsonb_build_object(",
" 'archived', t1_obj_t1.archived,",
" 'created_at', t1_obj_t1.created_at,",
" 'id', t1_obj_t1.id,",
" 'name', t1_obj_t1.name,",
" 'type', t1_obj_t1.type)",
" FROM agreego.entity t1_obj_t1", " FROM agreego.entity t1_obj_t1",
" WHERE NOT t1_obj_t1.archived)" " WHERE NOT t1_obj_t1.archived)"
] ]
@ -484,7 +489,12 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t1.archived, 'created_at', t1_obj_t1.created_at, 'id', t1_obj_t1.id, 'name', t1_obj_t1.name, 'type', t1_obj_t1.type)", "(SELECT jsonb_build_object(",
" 'archived', t1_obj_t1.archived,",
" 'created_at', t1_obj_t1.created_at,",
" 'id', t1_obj_t1.id,",
" 'name', t1_obj_t1.name,",
" 'type', t1_obj_t1.type)",
" FROM agreego.entity t1_obj_t1", " FROM agreego.entity t1_obj_t1",
" WHERE NOT t1_obj_t1.archived)" " WHERE NOT t1_obj_t1.archived)"
] ]
@ -503,9 +513,15 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t1.archived, 'created_at', t1_obj_t1.created_at, 'id', t1_obj_t1.id, 'name', t1_obj_t1.name, 'type', t1_obj_t1.type)", "(SELECT jsonb_build_object(",
" 'archived', t1_obj_t1.archived,",
" 'created_at', t1_obj_t1.created_at,",
" 'id', t1_obj_t1.id,",
" 'name', t1_obj_t1.name,",
" 'type', t1_obj_t1.type)",
" FROM agreego.entity t1_obj_t1", " FROM agreego.entity t1_obj_t1",
" WHERE NOT t1_obj_t1.archived", " WHERE",
" NOT t1_obj_t1.archived",
" AND t1_obj_t1.archived = ($1#>>'{}')::boolean", " AND t1_obj_t1.archived = ($1#>>'{}')::boolean",
" AND t1_obj_t1.name ILIKE $2#>>'{}')" " AND t1_obj_t1.name ILIKE $2#>>'{}')"
] ]
@ -526,12 +542,18 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t1.archived, 'created_at', t1_obj_t1.created_at, 'id', t1_obj_t1.id, 'name', t1_obj_t1.name, 'type', t1_obj_t1.type)", "(SELECT jsonb_build_object(",
" 'archived', t1_obj_t1.archived,",
" 'created_at', t1_obj_t1.created_at,",
" 'id', t1_obj_t1.id,",
" 'name', t1_obj_t1.name,",
" 'type', t1_obj_t1.type)",
" FROM agreego.entity t1_obj_t1", " FROM agreego.entity t1_obj_t1",
" WHERE NOT t1_obj_t1.archived", " WHERE",
" NOT t1_obj_t1.archived",
" AND t1_obj_t1.archived = ($1#>>'{}')::boolean", " AND t1_obj_t1.archived = ($1#>>'{}')::boolean",
" AND t1_obj_t1.created_at = ($2#>>'{}')::timestamptz", " AND t1_obj_t1.created_at = ($2#>>'{}')::timestamptz",
" AND t1_obj_t1.id = ($3#>>'{}')::UUID", " AND t1_obj_t1.id = ($3#>>'{}')::uuid",
" AND t1_obj_t1.name ILIKE $4#>>'{}')" " AND t1_obj_t1.name ILIKE $4#>>'{}')"
] ]
] ]
@ -545,7 +567,15 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('age', t1_obj_t1.age, 'archived', t1_obj_t2.archived, 'created_at', t1_obj_t2.created_at, 'first_name', t1_obj_t1.first_name, 'id', t1_obj_t2.id, 'last_name', t1_obj_t1.last_name, 'name', t1_obj_t2.name, 'type', t1_obj_t2.type)", "(SELECT jsonb_build_object(",
" 'age', t1_obj_t1.age,",
" 'archived', t1_obj_t2.archived,",
" 'created_at', t1_obj_t2.created_at,",
" 'first_name', t1_obj_t1.first_name,",
" 'id', t1_obj_t2.id,",
" 'last_name', t1_obj_t1.last_name,",
" 'name', t1_obj_t2.name,",
" 'type', t1_obj_t2.type)",
" FROM agreego.person t1_obj_t1", " FROM agreego.person t1_obj_t1",
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", " JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
" WHERE NOT t1_obj_t1.archived)" " WHERE NOT t1_obj_t1.archived)"
@ -561,49 +591,118 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('addresses',", "(SELECT jsonb_build_object(",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_addresses_t3.archived, 'created_at', t1_obj_t2_addresses_t3.created_at, 'id', t1_obj_t2_addresses_t3.id, 'is_primary', t1_obj_t2_addresses_t1.is_primary, 'name', t1_obj_t2_addresses_t3.name, 'target',", " 'addresses',",
" (SELECT jsonb_build_object('archived', t1_obj_t2_addresses_t3_target_t2.archived, 'city', t1_obj_t2_addresses_t3_target_t1.city, 'created_at', t1_obj_t2_addresses_t3_target_t2.created_at, 'id', t1_obj_t2_addresses_t3_target_t2.id, 'name', t1_obj_t2_addresses_t3_target_t2.name, 'type', t1_obj_t2_addresses_t3_target_t2.type)", " (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_addresses_t3.archived,",
" 'created_at', t1_obj_t2_addresses_t3.created_at,",
" 'id', t1_obj_t2_addresses_t3.id,",
" 'is_primary', t1_obj_t2_addresses_t1.is_primary,",
" 'name', t1_obj_t2_addresses_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'archived', t1_obj_t2_addresses_t3_target_t2.archived,",
" 'city', t1_obj_t2_addresses_t3_target_t1.city,",
" 'created_at', t1_obj_t2_addresses_t3_target_t2.created_at,",
" 'id', t1_obj_t2_addresses_t3_target_t2.id,",
" 'name', t1_obj_t2_addresses_t3_target_t2.name,",
" 'type', t1_obj_t2_addresses_t3_target_t2.type",
" )",
" FROM agreego.address t1_obj_t2_addresses_t3_target_t1", " FROM agreego.address t1_obj_t2_addresses_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_addresses_t3_target_t2 ON t1_obj_t2_addresses_t3_target_t2.id = t1_obj_t2_addresses_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_addresses_t3_target_t2 ON t1_obj_t2_addresses_t3_target_t2.id = t1_obj_t2_addresses_t3_target_t1.id",
" WHERE NOT t1_obj_t2_addresses_t3_target_t1.archived", " WHERE NOT t1_obj_t2_addresses_t3_target_t1.archived",
" AND t1_obj_t2_addresses_t3_target_t1.parent_id = t1_obj_t2_addresses_t3.id), 'type', t1_obj_t2_addresses_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_addresses_t3_target_t1.parent_id = t1_obj_t2_addresses_t3.id",
" ),",
" 'type', t1_obj_t2_addresses_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_addresses_t1", " FROM agreego.contact t1_obj_t2_addresses_t1",
" JOIN agreego.relationship t1_obj_t2_addresses_t2 ON t1_obj_t2_addresses_t2.id = t1_obj_t2_addresses_t1.id", " JOIN agreego.relationship t1_obj_t2_addresses_t2 ON t1_obj_t2_addresses_t2.id = t1_obj_t2_addresses_t1.id",
" JOIN agreego.entity t1_obj_t2_addresses_t3 ON t1_obj_t2_addresses_t3.id = t1_obj_t2_addresses_t2.id", " JOIN agreego.entity t1_obj_t2_addresses_t3 ON t1_obj_t2_addresses_t3.id = t1_obj_t2_addresses_t2.id",
" WHERE NOT t1_obj_t2_addresses_t1.archived", " WHERE NOT t1_obj_t2_addresses_t1.archived",
" AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id), 'age', t1_obj_t1.age, 'archived', t1_obj_t2.archived, 'contacts',", " AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_contacts_t3.archived, 'created_at', t1_obj_t2_contacts_t3.created_at, 'id', t1_obj_t2_contacts_t3.id, 'is_primary', t1_obj_t2_contacts_t1.is_primary, 'name', t1_obj_t2_contacts_t3.name, 'target', t1_obj_t2_contacts_t3.target, 'type', t1_obj_t2_contacts_t3.type)), '[]'::JSONB)", " 'age', t1_obj_t1.age,",
" 'archived', t1_obj_t2.archived,",
" 'contacts',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_contacts_t3.archived,",
" 'created_at', t1_obj_t2_contacts_t3.created_at,",
" 'id', t1_obj_t2_contacts_t3.id,",
" 'is_primary', t1_obj_t2_contacts_t1.is_primary,",
" 'name', t1_obj_t2_contacts_t3.name,",
" 'target', t1_obj_t2_contacts_t3.target,",
" 'type', t1_obj_t2_contacts_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_contacts_t1", " FROM agreego.contact t1_obj_t2_contacts_t1",
" JOIN agreego.relationship t1_obj_t2_contacts_t2 ON t1_obj_t2_contacts_t2.id = t1_obj_t2_contacts_t1.id", " JOIN agreego.relationship t1_obj_t2_contacts_t2 ON t1_obj_t2_contacts_t2.id = t1_obj_t2_contacts_t1.id",
" JOIN agreego.entity t1_obj_t2_contacts_t3 ON t1_obj_t2_contacts_t3.id = t1_obj_t2_contacts_t2.id", " JOIN agreego.entity t1_obj_t2_contacts_t3 ON t1_obj_t2_contacts_t3.id = t1_obj_t2_contacts_t2.id",
" WHERE NOT t1_obj_t2_contacts_t1.archived", " WHERE NOT t1_obj_t2_contacts_t1.archived",
" AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id), 'created_at', t1_obj_t2.created_at, 'email_addresses',", " AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_email_addresses_t3.archived, 'created_at', t1_obj_t2_email_addresses_t3.created_at, 'id', t1_obj_t2_email_addresses_t3.id, 'is_primary', t1_obj_t2_email_addresses_t1.is_primary, 'name', t1_obj_t2_email_addresses_t3.name, 'target',", " 'created_at', t1_obj_t2.created_at,",
" (SELECT jsonb_build_object('address', t1_obj_t2_email_addresses_t3_target_t1.address, 'archived', t1_obj_t2_email_addresses_t3_target_t2.archived, 'created_at', t1_obj_t2_email_addresses_t3_target_t2.created_at, 'id', t1_obj_t2_email_addresses_t3_target_t2.id, 'name', t1_obj_t2_email_addresses_t3_target_t2.name, 'type', t1_obj_t2_email_addresses_t3_target_t2.type)", " 'email_addresses',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_email_addresses_t3.archived,",
" 'created_at', t1_obj_t2_email_addresses_t3.created_at,",
" 'id', t1_obj_t2_email_addresses_t3.id,",
" 'is_primary', t1_obj_t2_email_addresses_t1.is_primary,",
" 'name', t1_obj_t2_email_addresses_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'address', t1_obj_t2_email_addresses_t3_target_t1.address,",
" 'archived', t1_obj_t2_email_addresses_t3_target_t2.archived,",
" 'created_at', t1_obj_t2_email_addresses_t3_target_t2.created_at,",
" 'id', t1_obj_t2_email_addresses_t3_target_t2.id,",
" 'name', t1_obj_t2_email_addresses_t3_target_t2.name,",
" 'type', t1_obj_t2_email_addresses_t3_target_t2.type",
" )",
" FROM agreego.email_address t1_obj_t2_email_addresses_t3_target_t1", " FROM agreego.email_address t1_obj_t2_email_addresses_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_email_addresses_t3_target_t2 ON t1_obj_t2_email_addresses_t3_target_t2.id = t1_obj_t2_email_addresses_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_email_addresses_t3_target_t2 ON t1_obj_t2_email_addresses_t3_target_t2.id = t1_obj_t2_email_addresses_t3_target_t1.id",
" WHERE NOT t1_obj_t2_email_addresses_t3_target_t1.archived", " WHERE NOT t1_obj_t2_email_addresses_t3_target_t1.archived",
" AND t1_obj_t2_email_addresses_t3_target_t1.parent_id = t1_obj_t2_email_addresses_t3.id), 'type', t1_obj_t2_email_addresses_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_email_addresses_t3_target_t1.parent_id = t1_obj_t2_email_addresses_t3.id",
" ),",
" 'type', t1_obj_t2_email_addresses_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_email_addresses_t1", " FROM agreego.contact t1_obj_t2_email_addresses_t1",
" JOIN agreego.relationship t1_obj_t2_email_addresses_t2 ON t1_obj_t2_email_addresses_t2.id = t1_obj_t2_email_addresses_t1.id", " JOIN agreego.relationship t1_obj_t2_email_addresses_t2 ON t1_obj_t2_email_addresses_t2.id = t1_obj_t2_email_addresses_t1.id",
" JOIN agreego.entity t1_obj_t2_email_addresses_t3 ON t1_obj_t2_email_addresses_t3.id = t1_obj_t2_email_addresses_t2.id", " JOIN agreego.entity t1_obj_t2_email_addresses_t3 ON t1_obj_t2_email_addresses_t3.id = t1_obj_t2_email_addresses_t2.id",
" WHERE NOT t1_obj_t2_email_addresses_t1.archived", " WHERE NOT t1_obj_t2_email_addresses_t1.archived",
" AND t1_obj_t2_email_addresses_t1.parent_id = t1_obj_t2.id), 'first_name', t1_obj_t1.first_name, 'id', t1_obj_t2.id, 'last_name', t1_obj_t1.last_name, 'name', t1_obj_t2.name, 'phone_numbers',", " AND t1_obj_t2_email_addresses_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_phone_numbers_t3.archived, 'created_at', t1_obj_t2_phone_numbers_t3.created_at, 'id', t1_obj_t2_phone_numbers_t3.id, 'is_primary', t1_obj_t2_phone_numbers_t1.is_primary, 'name', t1_obj_t2_phone_numbers_t3.name, 'target',", " 'first_name', t1_obj_t1.first_name,",
" (SELECT jsonb_build_object('archived', t1_obj_t2_phone_numbers_t3_target_t2.archived, 'created_at', t1_obj_t2_phone_numbers_t3_target_t2.created_at, 'id', t1_obj_t2_phone_numbers_t3_target_t2.id, 'name', t1_obj_t2_phone_numbers_t3_target_t2.name, 'number', t1_obj_t2_phone_numbers_t3_target_t1.number, 'type', t1_obj_t2_phone_numbers_t3_target_t2.type)", " 'id', t1_obj_t2.id,",
" 'last_name', t1_obj_t1.last_name,",
" 'name', t1_obj_t2.name,",
" 'phone_numbers',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_phone_numbers_t3.archived,",
" 'created_at', t1_obj_t2_phone_numbers_t3.created_at,",
" 'id', t1_obj_t2_phone_numbers_t3.id,",
" 'is_primary', t1_obj_t2_phone_numbers_t1.is_primary,",
" 'name', t1_obj_t2_phone_numbers_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'archived', t1_obj_t2_phone_numbers_t3_target_t2.archived,",
" 'created_at', t1_obj_t2_phone_numbers_t3_target_t2.created_at,",
" 'id', t1_obj_t2_phone_numbers_t3_target_t2.id,",
" 'name', t1_obj_t2_phone_numbers_t3_target_t2.name,",
" 'number', t1_obj_t2_phone_numbers_t3_target_t1.number,",
" 'type', t1_obj_t2_phone_numbers_t3_target_t2.type",
" )",
" FROM agreego.phone_number t1_obj_t2_phone_numbers_t3_target_t1", " FROM agreego.phone_number t1_obj_t2_phone_numbers_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_phone_numbers_t3_target_t2 ON t1_obj_t2_phone_numbers_t3_target_t2.id = t1_obj_t2_phone_numbers_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_phone_numbers_t3_target_t2 ON t1_obj_t2_phone_numbers_t3_target_t2.id = t1_obj_t2_phone_numbers_t3_target_t1.id",
" WHERE NOT t1_obj_t2_phone_numbers_t3_target_t1.archived", " WHERE NOT t1_obj_t2_phone_numbers_t3_target_t1.archived",
" AND t1_obj_t2_phone_numbers_t3_target_t1.parent_id = t1_obj_t2_phone_numbers_t3.id), 'type', t1_obj_t2_phone_numbers_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_phone_numbers_t3_target_t1.parent_id = t1_obj_t2_phone_numbers_t3.id",
" ),",
" 'type', t1_obj_t2_phone_numbers_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_phone_numbers_t1", " FROM agreego.contact t1_obj_t2_phone_numbers_t1",
" JOIN agreego.relationship t1_obj_t2_phone_numbers_t2 ON t1_obj_t2_phone_numbers_t2.id = t1_obj_t2_phone_numbers_t1.id", " JOIN agreego.relationship t1_obj_t2_phone_numbers_t2 ON t1_obj_t2_phone_numbers_t2.id = t1_obj_t2_phone_numbers_t1.id",
" JOIN agreego.entity t1_obj_t2_phone_numbers_t3 ON t1_obj_t2_phone_numbers_t3.id = t1_obj_t2_phone_numbers_t2.id", " JOIN agreego.entity t1_obj_t2_phone_numbers_t3 ON t1_obj_t2_phone_numbers_t3.id = t1_obj_t2_phone_numbers_t2.id",
" WHERE NOT t1_obj_t2_phone_numbers_t1.archived", " WHERE NOT t1_obj_t2_phone_numbers_t1.archived",
" AND t1_obj_t2_phone_numbers_t1.parent_id = t1_obj_t2.id), 'type', t1_obj_t2.type)", " AND t1_obj_t2_phone_numbers_t1.parent_id = t1_obj_t2.id),",
" FROM agreego.person t1_obj_t1", " 'type', t1_obj_t2.type",
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", ")",
" WHERE NOT t1_obj_t1.archived)" "FROM agreego.person t1_obj_t1",
"JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
"WHERE NOT t1_obj_t1.archived)"
] ]
] ]
} }
@ -621,49 +720,119 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('addresses',", "(SELECT jsonb_build_object(",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_addresses_t3.archived, 'created_at', t1_obj_t2_addresses_t3.created_at, 'id', t1_obj_t2_addresses_t3.id, 'is_primary', t1_obj_t2_addresses_t1.is_primary, 'name', t1_obj_t2_addresses_t3.name, 'target',", " 'addresses',",
" (SELECT jsonb_build_object('archived', t1_obj_t2_addresses_t3_target_t2.archived, 'city', t1_obj_t2_addresses_t3_target_t1.city, 'created_at', t1_obj_t2_addresses_t3_target_t2.created_at, 'id', t1_obj_t2_addresses_t3_target_t2.id, 'name', t1_obj_t2_addresses_t3_target_t2.name, 'type', t1_obj_t2_addresses_t3_target_t2.type)", " (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_addresses_t3.archived,",
" 'created_at', t1_obj_t2_addresses_t3.created_at,",
" 'id', t1_obj_t2_addresses_t3.id,",
" 'is_primary', t1_obj_t2_addresses_t1.is_primary,",
" 'name', t1_obj_t2_addresses_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'archived', t1_obj_t2_addresses_t3_target_t2.archived,",
" 'city', t1_obj_t2_addresses_t3_target_t1.city,",
" 'created_at', t1_obj_t2_addresses_t3_target_t2.created_at,",
" 'id', t1_obj_t2_addresses_t3_target_t2.id,",
" 'name', t1_obj_t2_addresses_t3_target_t2.name,",
" 'type', t1_obj_t2_addresses_t3_target_t2.type",
" )",
" FROM agreego.address t1_obj_t2_addresses_t3_target_t1", " FROM agreego.address t1_obj_t2_addresses_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_addresses_t3_target_t2 ON t1_obj_t2_addresses_t3_target_t2.id = t1_obj_t2_addresses_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_addresses_t3_target_t2 ON t1_obj_t2_addresses_t3_target_t2.id = t1_obj_t2_addresses_t3_target_t1.id",
" WHERE NOT t1_obj_t2_addresses_t3_target_t1.archived", " WHERE NOT t1_obj_t2_addresses_t3_target_t1.archived",
" AND t1_obj_t2_addresses_t3_target_t1.parent_id = t1_obj_t2_addresses_t3.id), 'type', t1_obj_t2_addresses_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_addresses_t3_target_t1.parent_id = t1_obj_t2_addresses_t3.id",
" ),",
" 'type', t1_obj_t2_addresses_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_addresses_t1", " FROM agreego.contact t1_obj_t2_addresses_t1",
" JOIN agreego.relationship t1_obj_t2_addresses_t2 ON t1_obj_t2_addresses_t2.id = t1_obj_t2_addresses_t1.id", " JOIN agreego.relationship t1_obj_t2_addresses_t2 ON t1_obj_t2_addresses_t2.id = t1_obj_t2_addresses_t1.id",
" JOIN agreego.entity t1_obj_t2_addresses_t3 ON t1_obj_t2_addresses_t3.id = t1_obj_t2_addresses_t2.id", " JOIN agreego.entity t1_obj_t2_addresses_t3 ON t1_obj_t2_addresses_t3.id = t1_obj_t2_addresses_t2.id",
" WHERE NOT t1_obj_t2_addresses_t1.archived", " WHERE NOT t1_obj_t2_addresses_t1.archived",
" AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id), 'age', t1_obj_t1.age, 'archived', t1_obj_t2.archived, 'contacts',", " AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_contacts_t3.archived, 'created_at', t1_obj_t2_contacts_t3.created_at, 'id', t1_obj_t2_contacts_t3.id, 'is_primary', t1_obj_t2_contacts_t1.is_primary, 'name', t1_obj_t2_contacts_t3.name, 'target', t1_obj_t2_contacts_t3.target, 'type', t1_obj_t2_contacts_t3.type)), '[]'::JSONB)", " 'age', t1_obj_t1.age,",
" 'archived', t1_obj_t2.archived,",
" 'contacts',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_contacts_t3.archived,",
" 'created_at', t1_obj_t2_contacts_t3.created_at,",
" 'id', t1_obj_t2_contacts_t3.id,",
" 'is_primary', t1_obj_t2_contacts_t1.is_primary,",
" 'name', t1_obj_t2_contacts_t3.name,",
" 'target', t1_obj_t2_contacts_t3.target,",
" 'type', t1_obj_t2_contacts_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_contacts_t1", " FROM agreego.contact t1_obj_t2_contacts_t1",
" JOIN agreego.relationship t1_obj_t2_contacts_t2 ON t1_obj_t2_contacts_t2.id = t1_obj_t2_contacts_t1.id", " JOIN agreego.relationship t1_obj_t2_contacts_t2 ON t1_obj_t2_contacts_t2.id = t1_obj_t2_contacts_t1.id",
" JOIN agreego.entity t1_obj_t2_contacts_t3 ON t1_obj_t2_contacts_t3.id = t1_obj_t2_contacts_t2.id", " JOIN agreego.entity t1_obj_t2_contacts_t3 ON t1_obj_t2_contacts_t3.id = t1_obj_t2_contacts_t2.id",
" WHERE NOT t1_obj_t2_contacts_t1.archived", " WHERE NOT t1_obj_t2_contacts_t1.archived",
" AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id), 'created_at', t1_obj_t2.created_at, 'email_addresses',", " AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_email_addresses_t3.archived, 'created_at', t1_obj_t2_email_addresses_t3.created_at, 'id', t1_obj_t2_email_addresses_t3.id, 'is_primary', t1_obj_t2_email_addresses_t1.is_primary, 'name', t1_obj_t2_email_addresses_t3.name, 'target',", " 'created_at', t1_obj_t2.created_at,",
" (SELECT jsonb_build_object('address', t1_obj_t2_email_addresses_t3_target_t1.address, 'archived', t1_obj_t2_email_addresses_t3_target_t2.archived, 'created_at', t1_obj_t2_email_addresses_t3_target_t2.created_at, 'id', t1_obj_t2_email_addresses_t3_target_t2.id, 'name', t1_obj_t2_email_addresses_t3_target_t2.name, 'type', t1_obj_t2_email_addresses_t3_target_t2.type)", " 'email_addresses',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_email_addresses_t3.archived,",
" 'created_at', t1_obj_t2_email_addresses_t3.created_at,",
" 'id', t1_obj_t2_email_addresses_t3.id,",
" 'is_primary', t1_obj_t2_email_addresses_t1.is_primary,",
" 'name', t1_obj_t2_email_addresses_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'address', t1_obj_t2_email_addresses_t3_target_t1.address,",
" 'archived', t1_obj_t2_email_addresses_t3_target_t2.archived,",
" 'created_at', t1_obj_t2_email_addresses_t3_target_t2.created_at,",
" 'id', t1_obj_t2_email_addresses_t3_target_t2.id,",
" 'name', t1_obj_t2_email_addresses_t3_target_t2.name,",
" 'type', t1_obj_t2_email_addresses_t3_target_t2.type",
" )",
" FROM agreego.email_address t1_obj_t2_email_addresses_t3_target_t1", " FROM agreego.email_address t1_obj_t2_email_addresses_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_email_addresses_t3_target_t2 ON t1_obj_t2_email_addresses_t3_target_t2.id = t1_obj_t2_email_addresses_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_email_addresses_t3_target_t2 ON t1_obj_t2_email_addresses_t3_target_t2.id = t1_obj_t2_email_addresses_t3_target_t1.id",
" WHERE NOT t1_obj_t2_email_addresses_t3_target_t1.archived", " WHERE NOT t1_obj_t2_email_addresses_t3_target_t1.archived",
" AND t1_obj_t2_email_addresses_t3_target_t1.parent_id = t1_obj_t2_email_addresses_t3.id), 'type', t1_obj_t2_email_addresses_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_email_addresses_t3_target_t1.parent_id = t1_obj_t2_email_addresses_t3.id",
" ),",
" 'type', t1_obj_t2_email_addresses_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_email_addresses_t1", " FROM agreego.contact t1_obj_t2_email_addresses_t1",
" JOIN agreego.relationship t1_obj_t2_email_addresses_t2 ON t1_obj_t2_email_addresses_t2.id = t1_obj_t2_email_addresses_t1.id", " JOIN agreego.relationship t1_obj_t2_email_addresses_t2 ON t1_obj_t2_email_addresses_t2.id = t1_obj_t2_email_addresses_t1.id",
" JOIN agreego.entity t1_obj_t2_email_addresses_t3 ON t1_obj_t2_email_addresses_t3.id = t1_obj_t2_email_addresses_t2.id", " JOIN agreego.entity t1_obj_t2_email_addresses_t3 ON t1_obj_t2_email_addresses_t3.id = t1_obj_t2_email_addresses_t2.id",
" WHERE NOT t1_obj_t2_email_addresses_t1.archived", " WHERE NOT t1_obj_t2_email_addresses_t1.archived",
" AND t1_obj_t2_email_addresses_t1.parent_id = t1_obj_t2.id), 'first_name', t1_obj_t1.first_name, 'id', t1_obj_t2.id, 'last_name', t1_obj_t1.last_name, 'name', t1_obj_t2.name, 'phone_numbers',", " AND t1_obj_t2_email_addresses_t1.parent_id = t1_obj_t2.id),",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object('archived', t1_obj_t2_phone_numbers_t3.archived, 'created_at', t1_obj_t2_phone_numbers_t3.created_at, 'id', t1_obj_t2_phone_numbers_t3.id, 'is_primary', t1_obj_t2_phone_numbers_t1.is_primary, 'name', t1_obj_t2_phone_numbers_t3.name, 'target',", " 'first_name', t1_obj_t1.first_name,",
" (SELECT jsonb_build_object('archived', t1_obj_t2_phone_numbers_t3_target_t2.archived, 'created_at', t1_obj_t2_phone_numbers_t3_target_t2.created_at, 'id', t1_obj_t2_phone_numbers_t3_target_t2.id, 'name', t1_obj_t2_phone_numbers_t3_target_t2.name, 'number', t1_obj_t2_phone_numbers_t3_target_t1.number, 'type', t1_obj_t2_phone_numbers_t3_target_t2.type)", " 'id', t1_obj_t2.id,",
" 'last_name', t1_obj_t1.last_name,",
" 'name', t1_obj_t2.name,",
" 'phone_numbers',",
" (SELECT COALESCE(jsonb_agg(jsonb_build_object(",
" 'archived', t1_obj_t2_phone_numbers_t3.archived,",
" 'created_at', t1_obj_t2_phone_numbers_t3.created_at,",
" 'id', t1_obj_t2_phone_numbers_t3.id,",
" 'is_primary', t1_obj_t2_phone_numbers_t1.is_primary,",
" 'name', t1_obj_t2_phone_numbers_t3.name,",
" 'target',",
" (SELECT jsonb_build_object(",
" 'archived', t1_obj_t2_phone_numbers_t3_target_t2.archived,",
" 'created_at', t1_obj_t2_phone_numbers_t3_target_t2.created_at,",
" 'id', t1_obj_t2_phone_numbers_t3_target_t2.id,",
" 'name', t1_obj_t2_phone_numbers_t3_target_t2.name,",
" 'number', t1_obj_t2_phone_numbers_t3_target_t1.number,",
" 'type', t1_obj_t2_phone_numbers_t3_target_t2.type",
" )",
" FROM agreego.phone_number t1_obj_t2_phone_numbers_t3_target_t1", " FROM agreego.phone_number t1_obj_t2_phone_numbers_t3_target_t1",
" JOIN agreego.entity t1_obj_t2_phone_numbers_t3_target_t2 ON t1_obj_t2_phone_numbers_t3_target_t2.id = t1_obj_t2_phone_numbers_t3_target_t1.id", " JOIN agreego.entity t1_obj_t2_phone_numbers_t3_target_t2 ON t1_obj_t2_phone_numbers_t3_target_t2.id = t1_obj_t2_phone_numbers_t3_target_t1.id",
" WHERE NOT t1_obj_t2_phone_numbers_t3_target_t1.archived", " WHERE NOT t1_obj_t2_phone_numbers_t3_target_t1.archived",
" AND t1_obj_t2_phone_numbers_t3_target_t1.parent_id = t1_obj_t2_phone_numbers_t3.id), 'type', t1_obj_t2_phone_numbers_t3.type)), '[]'::JSONB)", " AND t1_obj_t2_phone_numbers_t3_target_t1.parent_id = t1_obj_t2_phone_numbers_t3.id",
" ),",
" 'type', t1_obj_t2_phone_numbers_t3.type",
" )), '[]'::jsonb)",
" FROM agreego.contact t1_obj_t2_phone_numbers_t1", " FROM agreego.contact t1_obj_t2_phone_numbers_t1",
" JOIN agreego.relationship t1_obj_t2_phone_numbers_t2 ON t1_obj_t2_phone_numbers_t2.id = t1_obj_t2_phone_numbers_t1.id", " JOIN agreego.relationship t1_obj_t2_phone_numbers_t2 ON t1_obj_t2_phone_numbers_t2.id = t1_obj_t2_phone_numbers_t1.id",
" JOIN agreego.entity t1_obj_t2_phone_numbers_t3 ON t1_obj_t2_phone_numbers_t3.id = t1_obj_t2_phone_numbers_t2.id", " JOIN agreego.entity t1_obj_t2_phone_numbers_t3 ON t1_obj_t2_phone_numbers_t3.id = t1_obj_t2_phone_numbers_t2.id",
" WHERE NOT t1_obj_t2_phone_numbers_t1.archived", " WHERE NOT t1_obj_t2_phone_numbers_t1.archived",
" AND t1_obj_t2_phone_numbers_t1.parent_id = t1_obj_t2.id), 'type', t1_obj_t2.type)", " AND t1_obj_t2_phone_numbers_t1.parent_id = t1_obj_t2.id),",
" FROM agreego.person t1_obj_t1", " 'type', t1_obj_t2.type",
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", ")",
" WHERE NOT t1_obj_t1.archived", "FROM agreego.person t1_obj_t1",
"JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
"WHERE",
" NOT t1_obj_t1.archived",
" AND t1_obj_t2.archived = ($1#>>'{}')::boolean", " AND t1_obj_t2.archived = ($1#>>'{}')::boolean",
" AND t1_obj_t1.first_name ILIKE $2#>>'{}'", " AND t1_obj_t1.first_name ILIKE $2#>>'{}'",
" AND t1_obj_t1.last_name ILIKE $3#>>'{}')" " AND t1_obj_t1.last_name ILIKE $3#>>'{}')"
@ -680,11 +849,17 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t3.archived, 'created_at', t1_obj_t3.created_at, 'id', t1_obj_t3.id, 'is_primary', t1_obj_t1.is_primary, 'name', t1_obj_t3.name, 'type', t1_obj_t3.type)", "(SELECT jsonb_build_object(",
" FROM agreego.contact t1_obj_t1", " 'archived', t1_obj_t3.archived,",
" JOIN agreego.relationship t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", " 'created_at', t1_obj_t3.created_at,",
" JOIN agreego.entity t1_obj_t3 ON t1_obj_t3.id = t1_obj_t2.id", " 'id', t1_obj_t3.id,",
" WHERE NOT t1_obj_t1.archived)" " 'is_primary', t1_obj_t1.is_primary,",
" 'name', t1_obj_t3.name,",
" 'type', t1_obj_t3.type)",
"FROM agreego.contact t1_obj_t1",
"JOIN agreego.relationship t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
"JOIN agreego.entity t1_obj_t3 ON t1_obj_t3.id = t1_obj_t2.id",
"WHERE NOT t1_obj_t1.archived)"
] ]
] ]
} }
@ -698,10 +873,16 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('archived', t1_obj_t2.archived, 'created_at', t1_obj_t2.created_at, 'id', t1_obj_t2.id, 'name', t1_obj_t2.name, 'number', t1_obj_t1.number, 'type', t1_obj_t2.type)", "(SELECT jsonb_build_object(",
" FROM agreego.phone_number t1_obj_t1", " 'archived', t1_obj_t2.archived,",
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", " 'created_at', t1_obj_t2.created_at,",
" WHERE NOT t1_obj_t1.archived)" " 'id', t1_obj_t2.id,",
" 'name', t1_obj_t2.name,",
" 'number', t1_obj_t1.number,",
" 'type', t1_obj_t2.type)",
"FROM agreego.phone_number t1_obj_t1",
"JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
"WHERE NOT t1_obj_t1.archived)"
] ]
] ]
} }
@ -715,10 +896,16 @@
"success": true, "success": true,
"sql": [ "sql": [
[ [
" (SELECT jsonb_build_object('address', t1_obj_t1.address, 'archived', t1_obj_t2.archived, 'created_at', t1_obj_t2.created_at, 'id', t1_obj_t2.id, 'name', t1_obj_t2.name, 'type', t1_obj_t2.type)", "(SELECT jsonb_build_object(",
" FROM agreego.email_address t1_obj_t1", " 'address', t1_obj_t1.address,",
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id", " 'archived', t1_obj_t2.archived,",
" WHERE NOT t1_obj_t1.archived)" " 'created_at', t1_obj_t2.created_at,",
" 'id', t1_obj_t2.id,",
" 'name', t1_obj_t2.name,",
" 'type', t1_obj_t2.type)",
"FROM agreego.email_address t1_obj_t1",
"JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
"WHERE NOT t1_obj_t1.archived)"
] ]
] ]
} }

20
test_clean.rs Normal file
View File

@ -0,0 +1,20 @@
use regex::Regex;
fn main() {
let ws_re = Regex::new(r"\s+").unwrap();
let clean_str = |s: &str| -> String {
let mut s = ws_re.replace_all(s, " ").into_owned();
loop {
let last = s.clone();
for token in ["(", ")", ",", "{", "}", "\"", "=", "'"] {
s = s.replace(&format!(" {}", token), token);
s = s.replace(&format!("{} ", token), token);
}
if s == last { break; }
}
s.trim().to_string()
};
let input = "INSERT INTO agreego.\"entity\" ( \"created_at\"";
println!("Expected: {}", clean_str(input));
}