test cleanups passing
This commit is contained in:
@ -606,6 +606,7 @@
|
||||
" \"last_name\":\"Doe\",",
|
||||
" \"type\":\"person\" ",
|
||||
" }',",
|
||||
" '{{uuid:person_1}}',",
|
||||
" '{{uuid}}',",
|
||||
" 'create',",
|
||||
" '{{timestamp}}',",
|
||||
@ -1063,7 +1064,7 @@
|
||||
" \"modified_at\":\"{{timestamp}}\",",
|
||||
" \"modified_by\":\"00000000-0000-0000-0000-000000000000\",",
|
||||
" \"order_id\":\"abc\",",
|
||||
" \"price\":99.0,\",",
|
||||
" \"price\":99.0,",
|
||||
" \"product\":\"Widget\",",
|
||||
" \"type\":\"order_line\"",
|
||||
" }",
|
||||
|
||||
@ -468,7 +468,12 @@
|
||||
"success": true,
|
||||
"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",
|
||||
" WHERE NOT t1_obj_t1.archived)"
|
||||
]
|
||||
@ -484,7 +489,12 @@
|
||||
"success": true,
|
||||
"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",
|
||||
" WHERE NOT t1_obj_t1.archived)"
|
||||
]
|
||||
@ -503,9 +513,15 @@
|
||||
"success": true,
|
||||
"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",
|
||||
" WHERE NOT t1_obj_t1.archived",
|
||||
" WHERE",
|
||||
" NOT t1_obj_t1.archived",
|
||||
" AND t1_obj_t1.archived = ($1#>>'{}')::boolean",
|
||||
" AND t1_obj_t1.name ILIKE $2#>>'{}')"
|
||||
]
|
||||
@ -526,12 +542,18 @@
|
||||
"success": true,
|
||||
"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",
|
||||
" WHERE NOT t1_obj_t1.archived",
|
||||
" WHERE",
|
||||
" NOT t1_obj_t1.archived",
|
||||
" AND t1_obj_t1.archived = ($1#>>'{}')::boolean",
|
||||
" 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#>>'{}')"
|
||||
]
|
||||
]
|
||||
@ -545,7 +567,15 @@
|
||||
"success": true,
|
||||
"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",
|
||||
" JOIN agreego.entity t1_obj_t2 ON t1_obj_t2.id = t1_obj_t1.id",
|
||||
" WHERE NOT t1_obj_t1.archived)"
|
||||
@ -561,46 +591,115 @@
|
||||
"success": true,
|
||||
"sql": [
|
||||
[
|
||||
" (SELECT jsonb_build_object('addresses',",
|
||||
" (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)",
|
||||
"(SELECT jsonb_build_object(",
|
||||
" 'addresses',",
|
||||
" (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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id),",
|
||||
" '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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id),",
|
||||
" 'created_at', t1_obj_t2.created_at,",
|
||||
" '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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" 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',",
|
||||
" (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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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),",
|
||||
" 'type', t1_obj_t2.type",
|
||||
")",
|
||||
"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,
|
||||
"sql": [
|
||||
[
|
||||
" (SELECT jsonb_build_object('addresses',",
|
||||
" (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)",
|
||||
"(SELECT jsonb_build_object(",
|
||||
" 'addresses',",
|
||||
" (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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" AND t1_obj_t2_addresses_t1.parent_id = t1_obj_t2.id),",
|
||||
" '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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" AND t1_obj_t2_contacts_t1.parent_id = t1_obj_t2.id),",
|
||||
" 'created_at', t1_obj_t2.created_at,",
|
||||
" '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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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',",
|
||||
" (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)",
|
||||
" 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',",
|
||||
" (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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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",
|
||||
" 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),",
|
||||
" 'type', t1_obj_t2.type",
|
||||
")",
|
||||
"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",
|
||||
"WHERE",
|
||||
" NOT t1_obj_t1.archived",
|
||||
" AND t1_obj_t2.archived = ($1#>>'{}')::boolean",
|
||||
" AND t1_obj_t1.first_name ILIKE $2#>>'{}'",
|
||||
" AND t1_obj_t1.last_name ILIKE $3#>>'{}')"
|
||||
@ -680,7 +849,13 @@
|
||||
"success": true,
|
||||
"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(",
|
||||
" '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)",
|
||||
"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",
|
||||
@ -698,7 +873,13 @@
|
||||
"success": true,
|
||||
"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(",
|
||||
" '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)",
|
||||
"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,7 +896,13 @@
|
||||
"success": true,
|
||||
"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(",
|
||||
" '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)",
|
||||
"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
20
test_clean.rs
Normal 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));
|
||||
}
|
||||
Reference in New Issue
Block a user