Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
b59f024
Recalculate search_path after ALTER ROLE.
jeff-davis Aug 7, 2023
11ce0f3
Remove test from commit fa2e874946.
jeff-davis Aug 10, 2023
361942d
Cache by-reference missing values in a long lived context
adunstan Aug 22, 2023
3ad22a1
doc: Replace list of drivers and PLs with wiki link
danielgustafsson Aug 23, 2023
750d614
Avoid unnecessary plancache revalidation of utility statements.
tglsfdc Aug 24, 2023
6614507
Initialize ListenSocket array earlier.
hlinnaka Aug 29, 2023
6901312
Avoid possible overflow with ltsGetFreeBlock() in logtape.c
michaelpq Aug 29, 2023
371417f
postgres_fdw: Fix test for parameterized foreign scan.
Aug 30, 2023
fa31a05
Fix out-of-bound read in gtsvector_picksplit()
michaelpq Sep 4, 2023
a4e3f97
doc: mention libpq regression tests
bmomjian Sep 5, 2023
cb82456
doc: mention that to_char() values are rounded
bmomjian Sep 6, 2023
92ec683
pg_basebackup: Generate valid temporary slot names under PQbackendPID()
michaelpq Sep 7, 2023
858c7af
doc: remove mention of backslash doubling in strings
bmomjian Sep 8, 2023
40fefdd
Make recovery report error message when invalid page header is found.
MasaoFujii Oct 5, 2021
b40ab01
Fix uninitialized access to InitialRunningXacts during decoding after…
Sep 12, 2023
e536258
Fix incorrect logic in plan dependency recording
david-rowley Sep 13, 2023
2407dbe
Improve error message on snapshot import in snapmgr.c
michaelpq Sep 14, 2023
fe5a63f
Revert "Improve error message on snapshot import in snapmgr.c"
michaelpq Sep 14, 2023
1bf557a
Don't crash if cursor_to_xmlschema is used on a non-data-returning Po…
tglsfdc Sep 18, 2023
cfca60c
Fix GiST README's explanation of the NSN cross-check.
hlinnaka Sep 19, 2023
587533e
Fix COMMIT/ROLLBACK AND CHAIN in the presence of subtransactions.
tglsfdc Sep 22, 2023
990ff66
Doc: copy-edit the introductory para for the pg_class catalog.
tglsfdc Sep 22, 2023
adccaa7
pg_upgrade: check for types removed in pg12
alvherre Sep 25, 2023
1c1af6e
Limit to_tsvector_byid's initial array allocation to something sane.
tglsfdc Sep 25, 2023
29622d5
Collect dependency information for parsed CallStmts.
tglsfdc Sep 25, 2023
7b26ac9
pg_dump: tests: Correct test condition for invalid databases
anarazel Sep 25, 2023
7782402
doc: Tell about "vcregress taptest" for regression tests on Windows
michaelpq Sep 25, 2023
fbd00da
Fix another bug in parent page splitting during GiST index build.
hlinnaka Sep 26, 2023
a281987
doc: mention GROUP BY columns can reference target col numbers
bmomjian Sep 26, 2023
31b492e
doc: pg_upgrade, clarify standby servers must remain running
bmomjian Sep 26, 2023
747a487
doc: clarify the behavior of unopenable listen_addresses
bmomjian Sep 26, 2023
dd931e5
doc: clarify handling of time zones with "time with time zone"
bmomjian Sep 26, 2023
b16c2a6
doc: clarify the effect of concurrent work_mem allocations
bmomjian Sep 26, 2023
0a3d012
Stop using "-multiply_defined suppress" on macOS.
tglsfdc Sep 27, 2023
19587ab
unaccent: Tweak value of PYTHON when building without Python support
michaelpq Sep 27, 2023
5cf32f1
Fix typo in src/backend/access/transam/README.
Sep 28, 2023
c3f23ca
Add missing TidRangePath handling in print_path()
david-rowley Sep 28, 2023
8d55a58
Fix checking of index expressions in CompareIndexInfo().
tglsfdc Sep 28, 2023
b60cdf1
Fix btmarkpos/btrestrpos array key wraparound bug.
petergeoghegan Sep 28, 2023
a6e1a97
doc: Change statistics function xref to the right target
danielgustafsson Sep 29, 2023
7220c7f
Doc: improve description of dump/restore's --clean and --if-exists.
tglsfdc Sep 29, 2023
7c23310
Suppress macOS warnings about duplicate libraries in link commands.
tglsfdc Sep 29, 2023
fe2a7d6
Remove environment sensitivity in pl/tcl regression test.
tglsfdc Sep 30, 2023
eb13c22
Fix briefly showing old progress stats for ANALYZE on inherited tables.
hlinnaka Sep 30, 2023
cab9442
In COPY FROM, fail cleanly when unsupported encoding conversion is ne…
tglsfdc Oct 1, 2023
c3c268d
Fix datalen calculation in tsvectorrecv().
tglsfdc Oct 1, 2023
242de01
Flush WAL stats in bgwriter
hlinnaka Oct 2, 2023
937705c
Avoid memory size overflow when allocating backend activity buffer
michaelpq Oct 3, 2023
c149ceb
Fix memory leak in Memoize code
david-rowley Oct 5, 2023
2b19fe7
Remove extra parenthesis from comment.
Oct 6, 2023
3dba767
Doc: use CURRENT_USER not USER in plpgsql trigger examples.
tglsfdc Oct 9, 2023
bcfc7ea
Fix bug in GenericXLogFinish().
jeff-davis Oct 10, 2023
6fddb0a
doc: document the need to analyze partitioned tables
bmomjian Oct 10, 2023
f71fbb2
doc: add SSL configuration section reference
bmomjian Oct 10, 2023
3d4ef0d
doc: foreign servers with pushdown need matching collation
bmomjian Oct 10, 2023
f29fa10
doc: clarify that SSPI and GSSAPI are interchangeable
bmomjian Oct 10, 2023
d161779
Doc: fix grammatical errors for enable_partitionwise_aggregate
david-rowley Oct 12, 2023
bc391b3
Don't spuriously report FD_SETSIZE exhaustion on Windows.
nmisch Oct 14, 2023
b768662
Acquire ControlFileLock in relevant SQL functions.
macdice Oct 15, 2023
8317eaf
Try to handle torn reads of pg_control in frontend.
macdice Oct 16, 2023
9df98ec
Update the documentation on recovering from (M)XID exhaustion.
robertmhaas Oct 16, 2023
0a13a7d
Ensure we have a snapshot while dropping ON COMMIT DROP temp tables.
tglsfdc Oct 16, 2023
bb23da7
Avoid calling proc_exit() in processes forked by system().
nathan-bossart Oct 17, 2023
0e95924
Back-patch test cases for timetz_zone/timetz_izone.
tglsfdc Oct 17, 2023
dcb839e
windows: msvc: Define STDIN/OUT/ERR_FILENO.
nathan-bossart Oct 17, 2023
0a64fba
jit: Support opaque pointers in LLVM 16.
macdice Oct 18, 2023
95528a2
jit: Supply LLVMGlobalGetValueType() for LLVM < 8.
macdice Oct 18, 2023
e9c7c36
jit: Changes for LLVM 17.
macdice Oct 18, 2023
556ec26
Improve pglz_decompress's defenses against corrupt compressed data.
tglsfdc Oct 19, 2023
7a0c881
Doc: update CREATE OPERATOR's statement about => as an operator.
tglsfdc Oct 20, 2023
477dd03
Dodge a compiler bug affecting timetz_zone/timetz_izone.
tglsfdc Oct 20, 2023
2e9109e
Fix min_dynamic_shared_memory on Windows.
macdice Oct 21, 2023
be5b0e1
Log LLVM library version in configure output.
macdice Oct 22, 2023
27999c3
Doc: indexUnchanged is strictly a hint.
petergeoghegan Oct 24, 2023
39d097c
doc: Fix some typos and grammar
michaelpq Oct 25, 2023
b9f51e9
Doc: remove misleading info about ecpg's CONNECT/DISCONNECT DEFAULT.
tglsfdc Oct 25, 2023
790dc0e
Remove PHOT from our default timezone abbreviations list.
tglsfdc Oct 28, 2023
7fb2c23
Fix intra-query memory leak when a SRF returns zero rows.
tglsfdc Oct 28, 2023
5141f8b
btree_gin: Fix calculation of leftmost interval value.
deanrasheed Oct 29, 2023
196b2d9
Diagnose !indisvalid in more SQL functions.
nmisch Oct 30, 2023
3a942e1
Adjust the order of the prechecks in pgrowlocks()
david-rowley Oct 31, 2023
419e96f
doc: 1-byte varlena headers can be used for user PLAIN storage
bmomjian Oct 31, 2023
738a4ba
doc: add function argument and query parameter limits
bmomjian Oct 31, 2023
553df3d
doc: improve ALTER SYSTEM description of value list quoting
bmomjian Oct 31, 2023
de649d1
doc: Replace reference to ERRCODE_RAISE_EXCEPTION by "raise_exception"
michaelpq Nov 1, 2023
dbc5ac3
doc: ALTER DEFAULT PRIVILEGES does not affect inherited roles
bmomjian Nov 3, 2023
f66b22e
Doc: update CREATE RULE ref page's hoary discussion of views.
tglsfdc Nov 3, 2023
464e840
pg_upgrade: Add missing newline to message
petere Nov 3, 2023
c0555ba
doc: CREATE DATABASE doesn't copy db-level perms. from template
bmomjian Nov 3, 2023
a4e64fe
doc: \copy can get data values \. and end-of-input confused
bmomjian Nov 3, 2023
0c90126
Remove duplicate check_for_removed_data_type_usage in pg_upgrade/check.c
reshke Sep 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/llvm.m4
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ AC_DEFUN([PGAC_LLVM_SUPPORT],
if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 4 || ([$]1 == 3 && [$]2 >= 9)) exit 1; else exit 0;}';then
AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required])
fi
AC_MSG_NOTICE([using llvm $pgac_llvm_version])

# need clang to create some bitcode files
AC_ARG_VAR(CLANG, [path to clang compiler to generate bitcode])
Expand Down
2 changes: 2 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -5458,6 +5458,8 @@ fi
if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 4 || ($1 == 3 && $2 >= 9)) exit 1; else exit 0;}';then
as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: using llvm $pgac_llvm_version" >&5
$as_echo "$as_me: using llvm $pgac_llvm_version" >&6;}

# need clang to create some bitcode files

Expand Down
6 changes: 3 additions & 3 deletions contrib/btree_gin/btree_gin.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,9 +306,9 @@ leftmostvalue_interval(void)
{
Interval *v = palloc(sizeof(Interval));

v->time = DT_NOBEGIN;
v->day = 0;
v->month = 0;
v->time = PG_INT64_MIN;
v->day = PG_INT32_MIN;
v->month = PG_INT32_MIN;
return IntervalPGetDatum(v);
}

Expand Down
16 changes: 11 additions & 5 deletions contrib/btree_gin/expected/interval.out
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,34 @@ CREATE TABLE test_interval (
i interval
);
INSERT INTO test_interval VALUES
( '-178000000 years' ),
( '03:55:08' ),
( '04:55:08' ),
( '05:55:08' ),
( '08:55:08' ),
( '09:55:08' ),
( '10:55:08' )
( '10:55:08' ),
( '178000000 years' )
;
CREATE INDEX idx_interval ON test_interval USING gin (i);
SELECT * FROM test_interval WHERE i<'08:55:08'::interval ORDER BY i;
i
--------------------------
@ 178000000 years ago
@ 3 hours 55 mins 8 secs
@ 4 hours 55 mins 8 secs
@ 5 hours 55 mins 8 secs
(3 rows)
(4 rows)

SELECT * FROM test_interval WHERE i<='08:55:08'::interval ORDER BY i;
i
--------------------------
@ 178000000 years ago
@ 3 hours 55 mins 8 secs
@ 4 hours 55 mins 8 secs
@ 5 hours 55 mins 8 secs
@ 8 hours 55 mins 8 secs
(4 rows)
(5 rows)

SELECT * FROM test_interval WHERE i='08:55:08'::interval ORDER BY i;
i
Expand All @@ -40,12 +44,14 @@ SELECT * FROM test_interval WHERE i>='08:55:08'::interval ORDER BY i;
@ 8 hours 55 mins 8 secs
@ 9 hours 55 mins 8 secs
@ 10 hours 55 mins 8 secs
(3 rows)
@ 178000000 years
(4 rows)

SELECT * FROM test_interval WHERE i>'08:55:08'::interval ORDER BY i;
i
---------------------------
@ 9 hours 55 mins 8 secs
@ 10 hours 55 mins 8 secs
(2 rows)
@ 178000000 years
(3 rows)

4 changes: 3 additions & 1 deletion contrib/btree_gin/sql/interval.sql
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ CREATE TABLE test_interval (
);

INSERT INTO test_interval VALUES
( '-178000000 years' ),
( '03:55:08' ),
( '04:55:08' ),
( '05:55:08' ),
( '08:55:08' ),
( '09:55:08' ),
( '10:55:08' )
( '10:55:08' ),
( '178000000 years' )
;

CREATE INDEX idx_interval ON test_interval USING gin (i);
Expand Down
91 changes: 91 additions & 0 deletions contrib/intarray/expected/_int.out
Original file line number Diff line number Diff line change
Expand Up @@ -859,4 +859,95 @@ SELECT count(*) from test__int WHERE a @@ '!20 & !21';
6343
(1 row)

DROP INDEX text_idx;
-- Repeat the same queries with an extended data set. The data set is the
-- same that we used before, except that each element in the array is
-- repeated three times, offset by 1000 and 2000. For example, {1, 5}
-- becomes {1, 1001, 2001, 5, 1005, 2005}.
--
-- That has proven to be unreasonably effective at exercising codepaths in
-- core GiST code related to splitting parent pages, which is not covered by
-- other tests. This is a bit out-of-place as the point is to test core GiST
-- code rather than this extension, but there is no suitable GiST opclass in
-- core that would reach the same codepaths.
CREATE TABLE more__int AS SELECT
-- Leave alone NULLs, empty arrays and the one row that we use to test
-- equality
CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE
(select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x)
END AS a, a as b
FROM test__int;
CREATE INDEX ON more__int using gist (a gist__int_ops(numranges = 252));
SELECT count(*) from more__int WHERE a && '{23,50}';
count
-------
403
(1 row)

SELECT count(*) from more__int WHERE a @@ '23|50';
count
-------
403
(1 row)

SELECT count(*) from more__int WHERE a @> '{23,50}';
count
-------
12
(1 row)

SELECT count(*) from more__int WHERE a @@ '23&50';
count
-------
12
(1 row)

SELECT count(*) from more__int WHERE a @> '{20,23}';
count
-------
12
(1 row)

SELECT count(*) from more__int WHERE a <@ '{73,23,20}';
count
-------
10
(1 row)

SELECT count(*) from more__int WHERE a = '{73,23,20}';
count
-------
1
(1 row)

SELECT count(*) from more__int WHERE a @@ '50&68';
count
-------
9
(1 row)

SELECT count(*) from more__int WHERE a @> '{20,23}' or a @> '{50,68}';
count
-------
21
(1 row)

SELECT count(*) from more__int WHERE a @@ '(20&23)|(50&68)';
count
-------
21
(1 row)

SELECT count(*) from more__int WHERE a @@ '20 | !21';
count
-------
6566
(1 row)

SELECT count(*) from more__int WHERE a @@ '!20 & !21';
count
-------
6343
(1 row)

RESET enable_seqscan;
35 changes: 35 additions & 0 deletions contrib/intarray/sql/_int.sql
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,39 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
SELECT count(*) from test__int WHERE a @@ '!20 & !21';

DROP INDEX text_idx;

-- Repeat the same queries with an extended data set. The data set is the
-- same that we used before, except that each element in the array is
-- repeated three times, offset by 1000 and 2000. For example, {1, 5}
-- becomes {1, 1001, 2001, 5, 1005, 2005}.
--
-- That has proven to be unreasonably effective at exercising codepaths in
-- core GiST code related to splitting parent pages, which is not covered by
-- other tests. This is a bit out-of-place as the point is to test core GiST
-- code rather than this extension, but there is no suitable GiST opclass in
-- core that would reach the same codepaths.
CREATE TABLE more__int AS SELECT
-- Leave alone NULLs, empty arrays and the one row that we use to test
-- equality
CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE
(select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x)
END AS a, a as b
FROM test__int;
CREATE INDEX ON more__int using gist (a gist__int_ops(numranges = 252));

SELECT count(*) from more__int WHERE a && '{23,50}';
SELECT count(*) from more__int WHERE a @@ '23|50';
SELECT count(*) from more__int WHERE a @> '{23,50}';
SELECT count(*) from more__int WHERE a @@ '23&50';
SELECT count(*) from more__int WHERE a @> '{20,23}';
SELECT count(*) from more__int WHERE a <@ '{73,23,20}';
SELECT count(*) from more__int WHERE a = '{73,23,20}';
SELECT count(*) from more__int WHERE a @@ '50&68';
SELECT count(*) from more__int WHERE a @> '{20,23}' or a @> '{50,68}';
SELECT count(*) from more__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from more__int WHERE a @@ '20 | !21';
SELECT count(*) from more__int WHERE a @@ '!20 & !21';


RESET enable_seqscan;
8 changes: 4 additions & 4 deletions contrib/pgrowlocks/pgrowlocks.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,6 @@ pgrowlocks(PG_FUNCTION_ARGS)
relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname));
rel = relation_openrv(relrv, AccessShareLock);

if (rel->rd_rel->relam != HEAP_TABLE_AM_OID)
ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("only heap AM is supported")));

if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
Expand All @@ -122,6 +118,10 @@ pgrowlocks(PG_FUNCTION_ARGS)
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("\"%s\" is not a table",
RelationGetRelationName(rel))));
else if (rel->rd_rel->relam != HEAP_TABLE_AM_OID)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("only heap AM is supported")));

/*
* check permissions: must have SELECT on table or be in
Expand Down
26 changes: 26 additions & 0 deletions contrib/pgstattuple/pgstatindex.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,18 @@ pgstatindex_impl(Relation rel, FunctionCallInfo fcinfo)
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("cannot access temporary tables of other sessions")));

/*
* A !indisready index could lead to ERRCODE_DATA_CORRUPTED later, so exit
* early. We're capable of assessing an indisready&&!indisvalid index,
* but the results could be confusing. For example, the index's size
* could be too low for a valid index of the table.
*/
if (!rel->rd_index->indisvalid)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("index \"%s\" is not valid",
RelationGetRelationName(rel))));

/*
* Read metapage
*/
Expand Down Expand Up @@ -542,6 +554,13 @@ pgstatginindex_internal(Oid relid, FunctionCallInfo fcinfo)
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("cannot access temporary indexes of other sessions")));

/* see pgstatindex_impl */
if (!rel->rd_index->indisvalid)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("index \"%s\" is not valid",
RelationGetRelationName(rel))));

/*
* Read metapage
*/
Expand Down Expand Up @@ -619,6 +638,13 @@ pgstathashindex(PG_FUNCTION_ARGS)
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("cannot access temporary indexes of other sessions")));

/* see pgstatindex_impl */
if (!rel->rd_index->indisvalid)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("index \"%s\" is not valid",
RelationGetRelationName(rel))));

/* Get the information we need from the metapage. */
memset(&stats, 0, sizeof(stats));
metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ, LH_META_PAGE);
Expand Down
7 changes: 7 additions & 0 deletions contrib/pgstattuple/pgstattuple.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,13 @@ pgstat_relation(Relation rel, FunctionCallInfo fcinfo)
case RELKIND_DIRECTORY_TABLE:
return pgstat_heap(rel, fcinfo);
case RELKIND_INDEX:
/* see pgstatindex_impl */
if (!rel->rd_index->indisvalid)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("index \"%s\" is not valid",
RelationGetRelationName(rel))));

switch (rel->rd_rel->relam)
{
case BTREE_AM_OID:
Expand Down
8 changes: 4 additions & 4 deletions contrib/postgres_fdw/expected/postgres_fdw.out
Original file line number Diff line number Diff line change
Expand Up @@ -836,10 +836,10 @@ EXPLAIN (VERBOSE, COSTS OFF)
Optimizer: Postgres query optimizer
(18 rows)

SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2;
c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8
----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------+------------------------------+--------------------------+----+------------+-----
47 | 7 | 00047 | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7 | 7 | foo | 7 | 7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7 | 7 | foo
SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2;
C 1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8
-----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------+------------------------------+--------------------------+----+------------+-----
47 | 7 | 00047 | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7 | 7 | foo | 7 | 7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7 | 7 | foo
(1 row)

-- check both safe and unsafe join conditions
Expand Down
2 changes: 1 addition & 1 deletion contrib/postgres_fdw/sql/postgres_fdw.sql
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c8 = 'foo'; -- can't be
-- parameterized remote path for foreign table
EXPLAIN (VERBOSE, COSTS OFF)
SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2;
SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2;
SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2;

-- check both safe and unsafe join conditions
EXPLAIN (VERBOSE, COSTS OFF)
Expand Down
4 changes: 3 additions & 1 deletion contrib/unaccent/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ endif
update-unicode: unaccent.rules

# Allow running this even without --with-python
PYTHON ?= python
ifeq ($(PYTHON),)
PYTHON = python
endif

unaccent.rules: generate_unaccent_rules.py ../../src/common/unicode/UnicodeData.txt Latin-ASCII.xml
$(PYTHON) $< --unicode-data-file $(word 2,$^) --latin-ascii-file $(word 3,$^) >$@
Expand Down
8 changes: 4 additions & 4 deletions doc/src/sgml/catalogs.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -1852,17 +1852,17 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
</indexterm>

<para>
The catalog <structname>pg_class</structname> catalogs tables and most
everything else that has columns or is otherwise similar to a
The catalog <structname>pg_class</structname> describes tables and
other objects that have columns or are otherwise similar to a
table. This includes indexes (but see also <link
linkend="catalog-pg-index"><structname>pg_index</structname></link>),
sequences (but see also <link
linkend="catalog-pg-sequence"><structname>pg_sequence</structname></link>),
views, materialized views, composite types, and TOAST tables;
see <structfield>relkind</structfield>.
Below, when we mean all of these kinds of objects we speak of
<quote>relations</quote>. Not all columns are meaningful for all relation
types.
<quote>relations</quote>. Not all of <structname>pg_class</structname>'s
columns are meaningful for all relation kinds.
</para>

<table>
Expand Down
Loading
Loading