blob: 3220ef7bfa6cef1bd310b0ae1803d75ebe1df99f [file] [log] [blame]
-- This file contains global patterns of messages that should be ignored or
-- masked out, when comparing test results with the expected output.
-- Individual tests can contain additional patterns specific to the test.
-- start_matchignore
# Some tests use the gp_inject_fault extension, and create it at the beginning
# of the test. Ignore the NOTICE if it exists already.
m/^NOTICE: extension "gp_inject_fault" already exists, skipping/
# Some tests use the gp_debug_numsegments extension, and create it at the beginning
# of the test. Ignore the NOTICE if it exists already.
m/NOTICE: extension "gp_debug_numsegments" already exists, skipping/
# Some tests use the postgres_fdw extension, and create it at the beginning
# of the test. Ignore the NOTICE if it exists already.
m/NOTICE: extension "postgres_fdw" already exists, skipping/
m/^ Optimizer status:.*/
m/^ Optimizer: Pivotal Optimizer \(GPORCA\).*/
m/^ Optimizer: Postgres query optimizer/
m/^ Optimizer: GPORCA/
m/^ Optimizer: Postgres-based planner/
m/^ Settings:.*/
# There are a number of NOTICE and HINT messages around table distribution,
# for example to inform the user that the database will pick a particular
# column in order to distribute the data. Merging tests from postgres will
# cause the tests to output these messages and we would need to manually
# modify the corresponding expected output. Hence we want to ignore these.
# Some of the messages include:
#
# NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named '<colname>' as the Apache Cloudberry data distribution key for this table.
# NOTICE: Table doesn't have 'DISTRIBUTED BY' clause, defaulting to distribution columns from LIKE table
# HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
#
# The following regex is intended to cover all permutations of the above set
# of messages.
m/^(?:HINT|NOTICE):\s+.+\'DISTRIBUTED BY\' clause.*/
# The following NOTICE is generated when a partitioned table is created. For
# each child partition that gets created, it will generate a NOTICE saying that
# it is creating that particular partition. Certain tests add anonymous
# partitions and the names of these anonymous partitions will change across test
# runs.
# E.g CREATE TABLE will create partition "hhh_1_prt_r1987544232" for table "hhh"
# CREATE TABLE will create partition "hhh_1_prt_r1987553186" for table "hhh"
m/^NOTICE:.*CREATE TABLE will create partition ".*" for table ".*"/
# The following NOTICE is generated when creating a role. It is to inform the
# user that the database will assign the default resource queue to the role if
# the user has not explicitly specified one. Merging tests from postgres will
# cause the tests to output these messages and we would need to manually modify
# the corresponding expected output. Hence we want to ignore these.
m/^NOTICE:.*resource queue required -- using default resource queue ".*"/
# The following NOTICE is generated when a user creates an index on the parent
# partition table. For each child partition, it informs the user that the
# database will create an index for that partition. The messages might appear in
# different order for the child partitions.
m/^NOTICE:.*building index for child partition ".*"/
# The following NOTICE is generated when a user tries to split a partition or
# exchange a partition with the default partition.
# In case of split partitions we end up creating temp tables to exchange the partitions
# E.g exchanged partition "p1" of relation "parttest_t" with relation "pg_temp_4062621"
m/^NOTICE:.*exchanged partition ".*" with relation ".*"/
m/^NOTICE:.*plan parallel aware node count: .*/
m/^WARNING: could not close temporary file .*: No such file or directory/
# Messages when resource group is enabled:
# WARNING: resource queue is disabled
# HINT: To enable set gp_resource_manager=queue
# NOTICE: resource group required -- using default resource group "default_group"
m/^WARNING: resource queue is disabled$/
m/^HINT: To enable set gp_resource_manager=queue$/
m/^NOTICE: resource group required -- using .* resource group ".*"$/
# The following WARNING is generated by ANALYZE when some sample tuples are
# from segments outside the [0, numsegments-1] range, however this does not
# indicate the data distribution is wrong. Take inherited tables for example,
# when inherited tables has greater numsegments than parent this WARNING will
# be raised, and it is expected. This could happen normally on the
# random_numsegments pipeline job, so ignore this WARNING.
m/^WARNING: table ".*" contains rows in segment .*, which is outside the # of segments for the table's policy \(\d+ segments\)$/
# The following output is generated by \d on foreign tables, so ignore it.
m/Distributed by: \(.*\)/
m/Distributed randomly/
# directory_table test output is sensitive to the user running the tests
m/^NOTICE:.*storage user mapping for .* does not exist for storage server/
m/^DETAIL:.*storage server of storage user mapping for .* on storage server/
m/^(?:ERROR|NOTICE):.*storage user mapping for .* already exists for storage server/
# Ignore "terminating connection due to administrator command" as the output is
# not always echoed to the client.
m/FATAL: terminating connection due to administrator command/
-- end_matchignore
-- start_matchsubs
# entry db matches
m/\s+\(entry db(.*)+\spid=\d+\)/
s/\s+\(entry db(.*)+\spid=\d+\)//
# Mask out some numbers (parts of partition names) that vary from run to run.
m/overlaps existing partition "r\d+"/
s/overlaps existing partition "r\d+"/partition "r##########"/
# Mask out some numbers (part of temp table schema) that vary from run to run.
m/Table "pg_temp_\d+.temp/
s/\s*Table "pg_temp_\d+.temp\s*/Table "pg_temp_#####/
# Mask out some numbers (part of temp table schema) that vary from run to run.
m/Hash Cond: \(pg_temp_\d+/
s/Hash Cond: \(pg_temp_\d+/Hash Cond: \(pg_temp_#####/
# Mask out oid in error concurrent drop message
m/\d+ was concurrently dropped/
s/\d+ was concurrently dropped/##### was concurrently dropped/
# Mask out linenumber of the erroring file
m/ERROR: ANALYZE cannot merge since not all non-empty leaf partitions have consistent hyperloglog statistics for merge.*/
s/ERROR: ANALYZE cannot merge since not all non-empty leaf partitions have consistent hyperloglog statistics for merge.*/ERROR: ANALYZE cannot merge since not all non-empty leaf partitions have consistent hyperloglog statistics for merge (analyze.c:XXX)/
m/ERROR: Cannot run ANALYZE MERGE since not all non-empty leaf partitions have available statistics for the merge.*/
s/ERROR: Cannot run ANALYZE MERGE since not all non-empty leaf partitions have available statistics for the merge.*/ERROR: Cannot run ANALYZE MERGE since not all non-empty leaf partitions have available statistics for the merge (analyze.c:XXX)/
m/ERROR: invalid partition constraint on "[^"]+".*/
s/ERROR: invalid partition constraint on "[^"]+".*/ERROR: invalid partition constraint on "[^"]+".*(cdbpartition.c:XXX)/
m/ERROR: FIPS enabled OpenSSL is required for strict FIPS mode .*/
s/ERROR: FIPS enabled OpenSSL is required for strict FIPS mode .*/ERROR: FIPS enabled OpenSSL is required for strict FIPS mode (openssl.c:XXX)/
# Mask out OpenSSL behavior change in different version
m/ERROR: Cannot use "md5": No such hash algorithm/
s/ERROR: Cannot use "md5": No such hash algorithm/ERROR: Cannot use "md5": /
m/ERROR: Cannot use "md5": Some PX error \(not specified\)/
s/ERROR: Cannot use "md5": Some PX error \(not specified\)/ERROR: Cannot use "md5": /
# Mask out FIPS error line numbers
m/ERROR: requested functionality not allowed in FIPS mode \(pgcrypto.c:\d+\)/
s/ERROR: requested functionality not allowed in FIPS mode \(pgcrypto.c:\d+\)/ERROR: requested functionality not allowed in FIPS mode (pgcrypto.c:XXX)/
m/ERROR: requested functionality not allowed in FIPS mode \(openssl.c:\d+\)/
s/ERROR: requested functionality not allowed in FIPS mode \(openssl.c:\d+\)/ERROR: requested functionality not allowed in FIPS mode (openssl.c:XXX)/
# Mask out gp_execution_segment()
m/One-Time Filter: \(gp_execution_segment\(\) = \d+/
s/One-Time Filter: \(gp_execution_segment\(\) = \d+/One-Time Filter: \(gp_execution_segment\(\) = ###/
m/ERROR: infinite recursion detected.*/
s/ERROR: infinite recursion detected.*/ERROR: infinite recursion detected/
m/ERROR: could not find hash function for hash operator.*/
s/ERROR: could not find hash function for hash operator.*/ERROR: could not find hash function for hash operator/
m/ERROR: could not devise a plan.*/
s/ERROR: could not devise a plan.*/ERROR: could not devise a plan (cdbpath.c:XXX)/
m/ERROR: cannot swap toast files by links for system catalogs.*/
s/ERROR: cannot swap toast files by links for system catalogs.*/ERROR: cannot swap toast files by links for system catalogs (cluster.c:XXX)/
m/nodename nor servname provided, or not known/
s/nodename nor servname provided, or not known/Name or service not known/
m/Temporary failure in name resolution/
s/Temporary failure in name resolution/Name or service not known/
m/ERROR: could not devise a query plan for the given query \(.*\)/
s/ERROR: could not devise a query plan for the given query \(.*\)/ERROR: could not devise a query plan for the given query/
m/^DETAIL:.*gid=.*/
s/gid=\d+/gid DUMMY/
m/NOTICE: One or more columns in the following table\(s\) do not have statistics: /
s/.//gs
m/HINT: For non-partitioned tables, run analyze .+\. For partitioned tables, run analyze rootpartition .+\. See log for columns missing statistics\./
s/.//gs
m/connection to server at "localhost" (.*), port .* failed: /
s/.//gs
m/ERROR: can't split update for inherit table: .*/
s/ERROR: can't split update for inherit table: .*/ERROR: can't split update for inherit table:/
m/set enable_parallel = off;/
s/.//gs
m/reset enable_parallel;/
s/.//gs
# ignore establish time and segindex num
m/ The shortest establish conn time: \d+\.\d+ ms, segindex: \d+,/
s/ The shortest establish conn time: \d+\.\d+ ms, segindex: \d+,/ The shortest establish conn time: xx\.xx ms, segindex: xx,/
m/ The longest establish conn time: \d+\.\d+ ms, segindex: \d+/
s/ The longest establish conn time: \d+\.\d+ ms, segindex: \d+/ The longest establish conn time: xx\.xx ms, segindex: xx/
m/\(dbsize\.c\:\d+\)/
s/\(dbsize\.c:\d+\)/\(dbsize\.c:XXX\)/
# ignore resource queue ids
m/resource queue id: \d+/
s/resource queue id: \d+/resource queue id: XXXX/
-- end_matchsubs