@@ -840,6 +840,7 @@ int database_count_pk (cloudsync_context *data, const char *table_name, bool not
840840 const char * sql =
841841 "SELECT COUNT(*) FROM information_schema.table_constraints tc "
842842 "JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name "
843+ " AND tc.table_schema = kcu.table_schema "
843844 "WHERE tc.table_name = $1 AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
844845 "AND tc.constraint_type = 'PRIMARY KEY'" ;
845846
@@ -854,6 +855,7 @@ int database_count_nonpk (cloudsync_context *data, const char *table_name) {
854855 "AND c.column_name NOT IN ("
855856 " SELECT kcu.column_name FROM information_schema.table_constraints tc "
856857 " JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name "
858+ " AND tc.table_schema = kcu.table_schema "
857859 " WHERE tc.table_name = $1 AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
858860 " AND tc.constraint_type = 'PRIMARY KEY'"
859861 ")" ;
@@ -883,6 +885,7 @@ int database_count_notnull_without_default (cloudsync_context *data, const char
883885 "AND c.column_name NOT IN ("
884886 " SELECT kcu.column_name FROM information_schema.table_constraints tc "
885887 " JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name "
888+ " AND tc.table_schema = kcu.table_schema "
886889 " WHERE tc.table_name = $1 AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
887890 " AND tc.constraint_type = 'PRIMARY KEY'"
888891 ")" ;
@@ -966,6 +969,7 @@ int database_create_insert_trigger (cloudsync_context *data, const char *table_n
966969 "FROM information_schema.table_constraints tc "
967970 "JOIN information_schema.key_column_usage kcu "
968971 " ON tc.constraint_name = kcu.constraint_name "
972+ " AND tc.table_schema = kcu.table_schema "
969973 "WHERE tc.table_name = '%s' AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
970974 "AND tc.constraint_type = 'PRIMARY KEY';" ,
971975 table_name );
@@ -1068,6 +1072,7 @@ int database_create_update_trigger (cloudsync_context *data, const char *table_n
10681072 "FROM information_schema.table_constraints tc "
10691073 "JOIN information_schema.key_column_usage kcu "
10701074 " ON tc.constraint_name = kcu.constraint_name "
1075+ " AND tc.table_schema = kcu.table_schema "
10711076 "WHERE tc.table_name = '%s' AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
10721077 "AND tc.constraint_type = 'PRIMARY KEY';" ,
10731078 table_name , table_name );
@@ -1093,6 +1098,7 @@ int database_create_update_trigger (cloudsync_context *data, const char *table_n
10931098 " SELECT 1 FROM information_schema.table_constraints tc "
10941099 " JOIN information_schema.key_column_usage kcu "
10951100 " ON tc.constraint_name = kcu.constraint_name "
1101+ " AND tc.table_schema = kcu.table_schema "
10961102 " WHERE tc.table_name = c.table_name "
10971103 " AND tc.table_schema = c.table_schema "
10981104 " AND tc.constraint_type = 'PRIMARY KEY' "
@@ -1205,6 +1211,7 @@ int database_create_delete_trigger (cloudsync_context *data, const char *table_n
12051211 "FROM information_schema.table_constraints tc "
12061212 "JOIN information_schema.key_column_usage kcu "
12071213 " ON tc.constraint_name = kcu.constraint_name "
1214+ " AND tc.table_schema = kcu.table_schema "
12081215 "WHERE tc.table_name = '%s' AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
12091216 "AND tc.constraint_type = 'PRIMARY KEY';" ,
12101217 table_name );
@@ -1413,6 +1420,7 @@ int database_pk_names (cloudsync_context *data, const char *table_name, char ***
14131420 const char * sql =
14141421 "SELECT kcu.column_name FROM information_schema.table_constraints tc "
14151422 "JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name "
1423+ " AND tc.table_schema = kcu.table_schema "
14161424 "WHERE tc.table_name = $1 AND tc.table_schema = COALESCE(cloudsync_schema(), current_schema()) "
14171425 "AND tc.constraint_type = 'PRIMARY KEY' "
14181426 "ORDER BY kcu.ordinal_position" ;
0 commit comments