export declare const DB_INFO_QUERY = "\nWITH CONSTRAINTS_RES AS (\n SELECT\n ccu.column_name,\n tc.table_name,\n tc.constraint_type,\n tc.constraint_name,\n CASE\n -- WHEN tc.constraint_type = 'CHECK' THEN pg_get_constraintdef(c.oid) do it later\n WHEN tc.constraint_type = 'PRIMARY KEY' THEN ccu.constraint_name\n WHEN tc.constraint_type = 'FOREIGN KEY' THEN pg_get_constraintdef(c.oid)\n -- WHEN tc.constraint_type = 'NOT NULL' THEN 'NOT NULL' do it later\n ELSE null\n END AS constraint_values\nFROM\n information_schema.constraint_column_usage ccu\nJOIN\n information_schema.table_constraints tc\nON\n ccu.constraint_name = tc.constraint_name\n AND ccu.constraint_schema = tc.constraint_schema\nJOIN\n pg_catalog.pg_constraint c\nON\n ccu.constraint_name = c.conname\n AND tc.constraint_schema = c.connamespace::regnamespace::text\n),\n FOREIGN_KEY_RES AS (\n SELECT\n ccu.column_name,\n tc.table_name,\n tc.constraint_type,\n tc.constraint_name,\n pg_get_constraintdef(c.oid) AS constraint_values\nFROM\n information_schema.constraint_column_usage ccu\nJOIN\n information_schema.table_constraints tc ON ccu.constraint_name = tc.constraint_name\nJOIN\n pg_catalog.pg_constraint c ON ccu.constraint_name = c.conname\nWHERE\n tc.constraint_type = 'FOREIGN KEY'\n),\nUNIQUE_CONSTRAINTS_RES AS (\n SELECT tablename as table_name,indexname as index_name,indexdef as index_def\n FROM pg_indexes\n WHERE schemaname = '{{SCHEMA}}'\n AND indexdef LIKE '% UNIQUE%'\n AND indexname NOT IN (\n SELECT conname\n FROM pg_constraint\n WHERE contype = 'p' AND connamespace = (\n SELECT oid\n FROM pg_namespace\n WHERE nspname = '{{SCHEMA}}'\n )\n )\n) \n\nSELECT \nCOALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(enu)))\n FROM (\n SELECT pg_type.typname as name,\n COALESCE(\n (\n SELECT array_agg(pg_enum.enumlabel::text)\n FROM pg_enum \n WHERE pg_enum.enumtypid = pg_type.oid\n ),\n ARRAY[]::text[]\n ) AS values\nFROM pg_type\nWHERE EXISTS (\nSELECT 1\nFROM pg_enum\nWHERE pg_enum.enumtypid = pg_type.oid\n) order by pg_type.typname\n ) enu\n ),\n '[]'\n) AS enums,\n\nCOALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(p_key)))\n FROM (\n SELECT ist.table_name as name,\n COALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(p_key)))\n FROM (\n SELECT cor.constraint_name,cor.constraint_values, cor.column_name,cor.table_name\n from CONSTRAINTS_RES cor\n where cor.table_name=ist.table_name \n and cor.constraint_type= 'PRIMARY KEY'\n order by cor.constraint_name\n ) p_key\n ),\n '[]'\n ) AS p_keys,\n COALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(f_key)))\n FROM (\n SELECT cor.constraint_name,cor.constraint_values, cor.column_name,cor.table_name\n from FOREIGN_KEY_RES cor\n where cor.table_name=ist.table_name \n and cor.constraint_type= 'FOREIGN KEY'\n order by cor.constraint_name\n ) f_key\n ),\n '[]'\n ) AS f_keys,\n COALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(u_index)))\n FROM (\n SELECT ucr.table_name, ucr.index_name, ucr.index_def\n from UNIQUE_CONSTRAINTS_RES ucr\n where ucr.table_name=ist.table_name\n order by ucr.table_name\n ) u_index\n ),\n '[]'\n ) AS u_indexes,\n COALESCE(\n (\n SELECT array_to_json(array_agg(row_to_json(col)))\n FROM (\n SELECT \n isc.table_name,\n isc.table_schema,\n isc.column_name,\n isc.ordinal_position,\n isc.column_default,\n isc.is_nullable,\n isc.data_type,\n isc.character_maximum_length,\n isc.character_octet_length,\n isc.numeric_precision,\n isc.numeric_precision_radix,\n isc.numeric_scale,\n isc.datetime_precision,\n isc.interval_type,\n isc.interval_precision,\n isc.udt_catalog,\n isc.udt_schema,\n isc.udt_name,\n isc.maximum_cardinality,\n isc.is_self_referencing,\n isc.is_updatable,\n isc.is_identity\n FROM information_schema.columns isc\n WHERE isc.table_name = ist.table_name\n order by isc.column_name\n ) col\n ),\n '[]'\n ) AS \"cols\"\n FROM information_schema.tables ist\n WHERE table_type = 'BASE TABLE'\n AND table_schema = '{{SCHEMA}}'\n order by ist.table_name\n ) p_key\n ),\n '[]'\n) AS tables\n";