Add some ORDER BYs to queries fetching lists of tables/indexes
to be repacked, in order to ensure consistent installcheck results.
This commit is contained in:
		| @ -634,6 +634,8 @@ repack_one_database(const char *orderby, char *errbuf, size_t errsize) | ||||
| 	{ | ||||
| 		appendStringInfoString(&sql, "pkid IS NOT NULL"); | ||||
| 	} | ||||
| 	/* Ensure the regression tests get a consistent ordering of tables */ | ||||
| 	appendStringInfoString(&sql, " ORDER BY t.relname, t.schemaname"); | ||||
|  | ||||
| 	/* double check the parameters array is sane */ | ||||
| 	if (iparam != num_params) | ||||
| @ -1865,17 +1867,13 @@ repack_all_indexes(char *errbuf, size_t errsize) | ||||
| 	if (!preliminary_checks(errbuf, errsize)) | ||||
| 		goto cleanup; | ||||
|  | ||||
| 	/* XXX: tighten these ORDER BYs to avoid intermittent installcheck | ||||
| 	 * failures due to differently-ordered results for some of the | ||||
| 	 * --only-indexes tests. | ||||
| 	 */ | ||||
| 	if (r_index.head) | ||||
| 	{ | ||||
| 		appendStringInfoString(&sql,  | ||||
| 			"SELECT i.relname, idx.indexrelid, idx.indisvalid, idx.indrelid, idx.indrelid::regclass, n.nspname" | ||||
| 			" FROM pg_index idx JOIN pg_class i ON i.oid = idx.indexrelid" | ||||
| 			" JOIN pg_namespace n ON n.oid = i.relnamespace" | ||||
| 			" WHERE idx.indexrelid = $1::regclass ORDER BY indisvalid DESC"); | ||||
| 			" WHERE idx.indexrelid = $1::regclass ORDER BY indisvalid DESC, i.relname, n.nspname"); | ||||
|  | ||||
| 		cell = r_index.head; | ||||
| 	} | ||||
| @ -1885,7 +1883,7 @@ repack_all_indexes(char *errbuf, size_t errsize) | ||||
| 			"SELECT i.relname, idx.indexrelid, idx.indisvalid, idx.indrelid, $1::text, n.nspname" | ||||
| 			" FROM pg_index idx JOIN pg_class i ON i.oid = idx.indexrelid" | ||||
| 			" JOIN pg_namespace n ON n.oid = i.relnamespace" | ||||
| 			" WHERE idx.indrelid = $1::regclass ORDER BY indisvalid DESC"); | ||||
| 			" WHERE idx.indrelid = $1::regclass ORDER BY indisvalid DESC, i.relname, n.nspname"); | ||||
|  | ||||
| 		cell = table_list.head; | ||||
| 	} | ||||
|  | ||||
| @ -325,8 +325,8 @@ INFO: repacking table "tbl_pk_uk" | ||||
| -- => OK | ||||
| \! pg_repack --dbname=contrib_regression --table=tbl_pk_uk --only-indexes | ||||
| INFO: repacking indexes of "tbl_pk_uk" | ||||
| INFO: repacking index "public"."tbl_pk_uk_pkey" | ||||
| INFO: repacking index "public"."tbl_pk_uk_col2_col1_key" | ||||
| INFO: repacking index "public"."tbl_pk_uk_pkey" | ||||
| -- => OK | ||||
| \! pg_repack --dbname=contrib_regression --table=tbl_nn_puk | ||||
| WARNING: relation "tbl_nn_puk" must have a primary key or not-null unique keys | ||||
| @ -377,10 +377,10 @@ INFO: repacking table "test_schema1.tbl1" | ||||
| INFO: repacking table "test_schema1.tbl2" | ||||
| -- => OK | ||||
| \! pg_repack --dbname=contrib_regression --schema=test_schema1 --schema=test_schema2 | ||||
| INFO: repacking table "test_schema1.tbl1" | ||||
| INFO: repacking table "test_schema1.tbl2" | ||||
| INFO: repacking table "test_schema2.tbl1" | ||||
| INFO: repacking table "test_schema2.tbl2" | ||||
| INFO: repacking table "test_schema1.tbl2" | ||||
| INFO: repacking table "test_schema1.tbl1" | ||||
| -- => ERROR | ||||
| \! pg_repack --dbname=contrib_regression --schema=test_schema1 --table=tbl1 | ||||
| ERROR: cannot repack specific table(s) in schema, use schema.table notation instead | ||||
|  | ||||
| @ -135,8 +135,8 @@ INFO: repacking table "testts1" | ||||
| --move all indexes of the table to a tablespace | ||||
| \! pg_repack --dbname=contrib_regression --table=testts1 --only-indexes --tablespace=testts | ||||
| INFO: repacking indexes of "testts1" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_partial_idx" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_with_idx" | ||||
| SELECT relname, spcname | ||||
| FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace | ||||
| @ -152,8 +152,8 @@ ORDER BY relname; | ||||
| --all indexes of tablespace remain in same tablespace | ||||
| \! pg_repack --dbname=contrib_regression --table=testts1 --only-indexes | ||||
| INFO: repacking indexes of "testts1" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_partial_idx" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_with_idx" | ||||
| SELECT relname, spcname | ||||
| FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace | ||||
| @ -169,8 +169,8 @@ ORDER BY relname; | ||||
| --move all indexes of the table to pg_default | ||||
| \! pg_repack --dbname=contrib_regression --table=testts1 --only-indexes --tablespace=pg_default | ||||
| INFO: repacking indexes of "testts1" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_partial_idx" | ||||
| INFO: repacking index "public"."testts1_pkey" | ||||
| INFO: repacking index "public"."testts1_with_idx" | ||||
| SELECT relname, spcname | ||||
| FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace | ||||
|  | ||||
		Reference in New Issue
	
	Block a user