Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tyAQj-003Iib-KJ for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Mar 2025 14:11:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tyAQi-00AsIU-AS for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Mar 2025 14:11:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tyAQh-00AsIM-Tw for pgsql-hackers@lists.postgresql.org; Fri, 28 Mar 2025 14:11:28 +0000 Received: from fout-b5-smtp.messagingengine.com ([202.12.124.148]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tyAQf-001dO2-2X for pgsql-hackers@lists.postgresql.org; Fri, 28 Mar 2025 14:11:27 +0000 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfout.stl.internal (Postfix) with ESMTP id 3A9A8114013C; Fri, 28 Mar 2025 10:11:25 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Fri, 28 Mar 2025 10:11:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1743171085; x=1743257485; bh=q G4HjKvYIM0LeF7VJEB4nJJAO/9uJ3KfgYCEgi51pkY=; b=vYdlC0E1Ptxok9EL/ io0JBstCB4CNlsz1jO6y21lxdAZXhFaYpRfXIyXUti1PbiRDnzKmfX/wqtpqg3f7 hJ2q6okonejLW+WmZC4u9XigE48QqYO0Ol5G5GeARHBnHmYKjjoz2zmRihm4KGi0 6Sr1pZo2r72jL5eIxHJfzhtpdGuXxpfzJSbhZFBzLdI6rvWUwz43DoZxDXfHbN4M 0rTdROWKzI0T0xSxLgIHcl8MkNKbubq9pONn7fHLIUgujVwuT/q5cJSjaMY4I6+I fJbLFLzVGAftVD467tIM+YqHqGD6No8kBbCxl7WQH5uqzeNLP7Iz2k8BJBMEAUG3 YtK1w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddujedugeelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkgggtugfgjgesmhekreertddt jeenucfhrhhomheptehlvhgrrhhoucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlh hvhhdrnhhoqdhiphdrohhrgheqnecuggftrfgrthhtvghrnhepudelkeekgfdttdettdek gfduvdeiffelteegjeeihfetheekveeftedtuddvhfeunecuffhomhgrihhnpegvnhhtvg hrphhrihhsvggusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep mhgrihhlfhhrohhmpegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgpdhnsg gprhgtphhtthhopeejpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehpvghtvghr segvihhsvghnthhrrghuthdrohhrghdprhgtphhtthhopegrshhhuhhtohhshhdrsggrph grthdrohhsshesghhmrghilhdrtghomhdprhgtphhtthhopehvihhgnhgvshhhvddusehg mhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtsh drphhoshhtghhrvghsqhhlrdhorhhgpdhrtghpthhtohepmhhitghhrggvlhesphgrqhhu ihgvrhdrgiihiidprhgtphhtthhopehtghhlsehsshhsrdhpghhhrdhprgdruhhspdhrtg hpthhtohepuggrnhhivghlseihvghsqhhlrdhsvg X-ME-Proxy: Feedback-ID: ia2694551:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 28 Mar 2025 10:11:23 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alvh.no-ip.org; s=schmee; t=1743171075; bh=RGtd92Odpu+G3ytc256LKguFyz1Wlr0WRDYbPWJmCdg=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=TtG600kvuk9ci/iub79ZdcafXvstVkPF5/uf4ywJOm+Ez2BocNChUoWXS9zd95HdA N7b6AY1gVVDYxFtY3AVTGl5XMDNUT2Ol0tfIHJEJzcbs0qW88CNguvt4vUO/yBGQ8L Gdv/uhO7BA5K5bwI7a5TBcYrTj2piDZtb8bXCdJFMfSKTIlzyzRpliRvc3VrAevrsO lz28o7YOGP3HE3kEq7+evlSYlhkjuqfou0E5pmK7+1ScC3n5ZKARVhWKH+n+L5sud+ 57NqAKJ2qMOEFVByf9ChYeU5XVy9hrtqILR+Fccf7D/UpaKcJ2tTLrU/nFXwBCGpEE KQe6XfWkxkzTw== Received: by schmee.alvh.no-ip.org (Postfix, from userid 1000) id EC86685; Fri, 28 Mar 2025 15:11:15 +0100 (CET) Date: Fri, 28 Mar 2025 15:11:15 +0100 From: Alvaro Herrera To: Ashutosh Bapat Cc: Michael Paquier , vignesh C , Daniel Gustafsson , Tom Lane , Peter Eisentraut , PostgreSQL Hackers Subject: Re: Test to dump and restore objects left behind by regression Message-ID: <202503281411.io3xbmyibj7t@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="wjppm3xveh3wdgqv" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --wjppm3xveh3wdgqv Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit On 2025-Mar-28, Ashutosh Bapat wrote: > However, it's a very painful process to come up with the schedule and > more painful and error prone to maintain it. It could take many days > to come up with the right schedule which can become inaccurate the > moment next SQL file is added OR an existing file is modified to > add/drop "interesting" objects. Hmm, I didn't mean that we'd maintain a separate schedule. I meant that we'd take the existing schedule, then apply some Perl magic to it that grep-outs the tests that we know to contribute nothing, and generate a new schedule file dynamically. We don't need to maintain a separate schedule file. You're right that if an existing uninteresting test is modified to create interesting objects, we'd lose coverage of those objects. That seems a much smaller problem to me. So it's just a matter of doing some Perl map/grep to generate a new schedule file using the attached exclusion file. (For what it's worth, what I did to try to determine which tests to include, rather than scan each file manually, is to run pg_regress with "test_setup thetest tablespace", then dump the regression database, and see if anything is there that's not in the dump when I just with just "test_setup tablespace". I didn't carry the experiment to completion though.) For the future, we could annotate each test as you said, either by adding a marker on the test file itself, or by adding something next to its name in the schedule file, so the schedule file could look like: test: plancache(dump_ignore) limit(stream_ignore) plpgsql copy2 temp(stream_ignore,dump_ignore) domain rangefuncs(stream_ignore) prepare conversion truncate alter_table sequence polymorphism rowtypes returning largeobject with xml ... and so on. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ --wjppm3xveh3wdgqv Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=dump_roundtrip_exclude # This file lists tests to skip on pg_upgrade/t/002_pg_upgrade.pl advisory_lock amutils async bitmapops char combocid comments copy copy2 copydml copyencoding copyselect database dbsize delete drop_if_exists drop_operator equivclass errors explain expressions functional_deps groupingsets guc hash_func horology incremental_sort infinite_recurse join_hash json_encoding jsonb_jsonpath jsonpath jsonpath_encoding lock md5 memoize merge misc_sanity mvcc oidjoins opr_sanity partition_aggregate partition_join partition_prune plancache portals portals_p2 predicate prepare prepared_xacts psql psql_crosstab psql_pipeline regex regproc returning sanity_check select select_distinct select_distinct_on select_having select_implicit select_parallel stats_import strings subselect sysviews tablesample temp text tid tidrangescan tidscan transactions truncate tsrf tstypes txid type_sanity unicode union update vacuum vacuum_parallel window xmlmap --wjppm3xveh3wdgqv--