OSDN Git Service

Hi!
[pg-rex/syncrep.git] / src / include / rewrite / rewriteHandler.h
1 /*-------------------------------------------------------------------------
2  *
3  * rewriteHandler.h--
4  *
5  *
6  *
7  * Copyright (c) 1994, Regents of the University of California
8  *
9  * $Id: rewriteHandler.h,v 1.7 1999/01/18 00:10:12 momjian Exp $
10  *
11  *-------------------------------------------------------------------------
12  */
13 #ifndef REWRITEHANDLER_H
14 #define REWRITEHANDLER_H
15
16 #include "nodes/nodes.h"
17 #include "nodes/parsenodes.h"
18
19 struct _rewrite_meta_knowledge
20 {
21         List       *rt;
22         int                     rt_index;
23         bool            instead_flag;
24         int                     event;
25         CmdType         action;
26         int                     current_varno;
27         int                     new_varno;
28         Query      *rule_action;
29         Node       *rule_qual;
30         bool            nothing;
31 };
32
33 typedef struct _rewrite_meta_knowledge RewriteInfo;
34
35
36 extern List *QueryRewrite(Query *parsetree);
37 /***S*I***/
38 extern Query *Except_Intersect_Rewrite(Query *parsetree);
39 extern void create_list(Node *ptr, List **intersect_list);
40 extern Node *intersect_tree_analyze(Node *tree, Node *first_select, Node *parsetree);
41 extern void check_targetlists_are_compatible(List *prev_target, List *current_target);
42 #endif   /* REWRITEHANDLER_H */