postgresql/src/backend/commands
Robert Haas 8e18d04d4d Refine our definition of what constitutes a system relation.
Although user-defined relations can't be directly created in
pg_catalog, it's possible for them to end up there, because you can
create them in some other schema and then use ALTER TABLE .. SET SCHEMA
to move them there.  Previously, such relations couldn't afterwards
be manipulated, because IsSystemRelation()/IsSystemClass() rejected
all attempts to modify objects in the pg_catalog schema, regardless
of their origin.  With this patch, they now reject only those
objects in pg_catalog which were created at initdb-time, allowing
most operations on user-created tables in pg_catalog to proceed
normally.

This patch also adds new functions IsCatalogRelation() and
IsCatalogClass(), which is similar to IsSystemRelation() and
IsSystemClass() but with a slightly narrower definition: only TOAST
tables of system catalogs are included, rather than *all* TOAST tables.
This is currently used only for making decisions about when
invalidation messages need to be sent, but upcoming logical decoding
patches will find other uses for this information.

Andres Freund, with some modifications by me.
2013-11-28 20:57:20 -05:00
..
Makefile Add a materialized view relations. 2013-03-03 18:23:31 -06:00
aggregatecmds.c Allow aggregates to provide estimates of their transition state data size. 2013-11-16 16:03:40 -05:00
alter.c Don't pass oidvector by value. 2013-06-12 19:50:37 -04:00
analyze.c Adjust HeapTupleSatisfies* routines to take a HeapTuple. 2013-07-22 13:38:44 -04:00
async.c Allow discovery of whether a dynamic background worker is running. 2013-08-28 14:08:13 -04:00
cluster.c Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
collationcmds.c Refactor ALTER some-obj RENAME implementation 2013-01-21 12:06:41 -03:00
comment.c Update messages, comments and documentation for materialized views. 2013-07-05 15:37:51 -04:00
constraint.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
conversioncmds.c Refactor ALTER some-obj RENAME implementation 2013-01-21 12:06:41 -03:00
copy.c Fix subtly-wrong volatility checking in BeginCopyFrom(). 2013-11-08 08:59:39 -05:00
createas.c Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
dbcommands.c Rename various "freeze multixact" variables 2013-09-16 15:47:31 -03:00
define.c Allow aggregates to provide estimates of their transition state data size. 2013-11-16 16:03:40 -05:00
discard.c Add DISCARD SEQUENCES command. 2013-10-03 16:23:31 -04:00
dropcmds.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
event_trigger.c Don't use ordinary NULL-terminated strings as Name datums. 2013-06-12 19:49:50 -04:00
explain.c Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
extension.c Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
foreigncmds.c Improve documentation about usage of FDW validator functions. 2013-10-28 10:28:35 -04:00
functioncmds.c Allow aggregate functions to be VARIADIC. 2013-09-03 17:08:46 -04:00
indexcmds.c Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
lockcmds.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
matview.c Keep heap open until new heap generated in RMV. 2013-11-06 12:27:52 -06:00
opclasscmds.c Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
operatorcmds.c pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
portalcmds.c Only install a portal's ResourceOwner if it actually has one. 2013-06-13 13:12:49 -04:00
prepare.c Clean up the mess around EXPLAIN and materialized views. 2013-04-12 19:25:31 -04:00
proclang.c Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
schemacmds.c Editorialize a bit on new ProcessUtility() API. 2013-04-28 00:18:45 -04:00
seclabel.c Update messages, comments and documentation for materialized views. 2013-07-05 15:37:51 -04:00
sequence.c Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
tablecmds.c Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
tablespace.c Add use of asprintf() 2013-10-13 00:09:18 -04:00
trigger.c Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
tsearchcmds.c Use appendStringInfoString instead of appendStringInfo where possible. 2013-10-31 10:55:59 -04:00
typecmds.c Update messages, comments and documentation for materialized views. 2013-07-05 15:37:51 -04:00
user.c Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
vacuum.c Rename various "freeze multixact" variables 2013-09-16 15:47:31 -03:00
vacuumlazy.c Don't update relfrozenxid if any pages were skipped. 2013-11-27 13:43:27 +02:00
variable.c Remove CTimeZone/HasCTZSet, root and branch. 2013-11-01 13:57:31 -04:00
view.c Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00