diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-09-29 18:21:41 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-09-29 18:21:41 +0000 |
| commit | 3a94e789f5c9537d804210be3cb26f7fb08e3b9e (patch) | |
| tree | f1eac12405e3c0ded881d7dd7e59cec35b30c335 /src/include/rewrite | |
| parent | 6f64c2e54a0b14154a335249f4dca91a39c61c50 (diff) | |
| download | postgresql-3a94e789f5c9537d804210be3cb26f7fb08e3b9e.tar.gz | |
Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias.
(Don't forget that an alias is required.) Views reimplemented as expanding
to subselect-in-FROM. Grouping, aggregates, DISTINCT in views actually
work now (he says optimistically). No UNION support in subselects/views
yet, but I have some ideas about that. Rule-related permissions checking
moved out of rewriter and into executor.
INITDB REQUIRED!
Diffstat (limited to 'src/include/rewrite')
| -rw-r--r-- | src/include/rewrite/locks.h | 24 | ||||
| -rw-r--r-- | src/include/rewrite/rewriteManip.h | 9 | ||||
| -rw-r--r-- | src/include/rewrite/rewriteSupport.h | 5 |
3 files changed, 6 insertions, 32 deletions
diff --git a/src/include/rewrite/locks.h b/src/include/rewrite/locks.h deleted file mode 100644 index bcc8863c44..0000000000 --- a/src/include/rewrite/locks.h +++ /dev/null @@ -1,24 +0,0 @@ -/*------------------------------------------------------------------------- - * - * locks.h - * - * - * - * Portions Copyright (c) 1996-2000, PostgreSQL, Inc - * Portions Copyright (c) 1994, Regents of the University of California - * - * $Id: locks.h,v 1.13 2000/01/26 05:58:30 momjian Exp $ - * - *------------------------------------------------------------------------- - */ -#ifndef LOCKS_H -#define LOCKS_H - -#include "nodes/parsenodes.h" -#include "rewrite/prs2lock.h" - -extern List *matchLocks(CmdType event, RuleLock *rulelocks, int varno, - Query *parsetree); -extern void checkLockPerms(List *locks, Query *parsetree, int rt_index); - -#endif /* LOCKS_H */ diff --git a/src/include/rewrite/rewriteManip.h b/src/include/rewrite/rewriteManip.h index c41519acb8..2cfbf0e061 100644 --- a/src/include/rewrite/rewriteManip.h +++ b/src/include/rewrite/rewriteManip.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: rewriteManip.h,v 1.22 2000/09/12 21:07:15 tgl Exp $ + * $Id: rewriteManip.h,v 1.23 2000/09/29 18:21:24 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -31,15 +31,12 @@ extern bool attribute_used(Node *node, int rt_index, int attno, extern void AddQual(Query *parsetree, Node *qual); extern void AddHavingQual(Query *parsetree, Node *havingQual); extern void AddNotQual(Query *parsetree, Node *qual); -extern void AddGroupClause(Query *parsetree, List *group_by, List *tlist); extern bool checkExprHasAggs(Node *node); extern bool checkExprHasSubLink(Node *node); +extern Node *ResolveNew(Node *node, int target_varno, int sublevels_up, + List *targetlist, int event, int update_varno); extern void FixNew(RewriteInfo *info, Query *parsetree); -extern void HandleRIRAttributeRule(Query *parsetree, List *rtable, - List *targetlist, int rt_index, - int attr_num, int *modified, int *badsql); - #endif /* REWRITEMANIP_H */ diff --git a/src/include/rewrite/rewriteSupport.h b/src/include/rewrite/rewriteSupport.h index 589f4245f7..39605df47a 100644 --- a/src/include/rewrite/rewriteSupport.h +++ b/src/include/rewrite/rewriteSupport.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: rewriteSupport.h,v 1.12 2000/06/30 07:04:04 tgl Exp $ + * $Id: rewriteSupport.h,v 1.13 2000/09/29 18:21:24 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -16,6 +16,7 @@ extern int IsDefinedRewriteRule(char *ruleName); -extern void setRelhasrulesInRelation(Oid relationId, bool relhasrules); +extern void SetRelationRuleStatus(Oid relationId, bool relHasRules, + bool relIsBecomingView); #endif /* REWRITESUPPORT_H */ |
