select_into_varlist
This commit is contained in:
@ -38,6 +38,7 @@
|
||||
* Backend version and inplace upgrade staffs
|
||||
*****************************************************************************/
|
||||
|
||||
extern const uint32 SELECT_INTO_VAR_VERSION_NUM;
|
||||
extern const uint32 LARGE_SEQUENCE_VERSION_NUM;
|
||||
extern const uint32 GRAND_VERSION_NUM;
|
||||
extern const uint32 DOLPHIN_ENABLE_DROP_NUM;
|
||||
|
||||
@ -394,6 +394,7 @@ typedef enum NodeTag {
|
||||
T_UpdateStmt,
|
||||
T_MergeStmt,
|
||||
T_SelectStmt,
|
||||
T_SelectIntoVarList,
|
||||
T_AlterTableStmt,
|
||||
T_AlterTableCmd,
|
||||
T_AlterDomainStmt,
|
||||
|
||||
@ -688,6 +688,12 @@ typedef struct SelectStmt {
|
||||
/* Eventually add fields for CORRESPONDING spec here */
|
||||
} SelectStmt;
|
||||
|
||||
typedef struct SelectIntoVarList {
|
||||
NodeTag type;
|
||||
SubLink *sublink;
|
||||
List *userVarList;
|
||||
} SelectIntoVarList;
|
||||
|
||||
/* ----------------------
|
||||
* CREATE TABLE AS Statement (a/k/a SELECT INTO)
|
||||
*
|
||||
|
||||
@ -116,7 +116,8 @@ typedef struct IntoClause {
|
||||
char* tableSpaceName; /* table space to use, or NULL */
|
||||
bool skipData; /* true for WITH NO DATA */
|
||||
bool ivm; /* true for WITH IVM */
|
||||
char relkind; /* RELKIND_RELATION or RELKIND_MATVIEW */
|
||||
char relkind; /* RELKIND_RELATION or RELKIND_MATVIEW */
|
||||
List* userVarList; /* user define variables list */
|
||||
#ifdef PGXC
|
||||
struct DistributeBy* distributeby; /* distribution to use, or NULL */
|
||||
struct PGXCSubCluster* subcluster; /* subcluster node members */
|
||||
|
||||
@ -106,6 +106,8 @@ extern Node* eval_const_expressions_params(PlannerInfo* root, Node* node, ParamL
|
||||
|
||||
extern Node *eval_const_expression_value(PlannerInfo* root, Node* node, ParamListInfo boundParams);
|
||||
|
||||
extern Node* simplify_subselect_expression(Node* node, ParamListInfo boundParams);
|
||||
|
||||
extern Node* estimate_expression_value(PlannerInfo* root, Node* node, EState* estate = NULL);
|
||||
|
||||
extern Query* inline_set_returning_function(PlannerInfo* root, RangeTblEntry* rte);
|
||||
|
||||
@ -31,5 +31,6 @@ extern List* QueryRewriteRefresh(Query *parsetree);
|
||||
#endif
|
||||
extern List* QueryRewritePrepareStmt(Query *parsetree);
|
||||
extern Node* QueryRewriteNonConstant(Node *node);
|
||||
extern List* QueryRewriteSelectIntoVarList(Node *node);
|
||||
|
||||
#endif /* REWRITEHANDLER_H */
|
||||
|
||||
@ -503,7 +503,8 @@ extern void init_set_params_htab(void);
|
||||
extern void init_set_user_params_htab(void);
|
||||
extern void make_set_message(void);
|
||||
extern int check_set_message_to_send(const VariableSetStmt* stmt, const char* queryString);
|
||||
extern int check_set_user_message(const UserSetElem *elem);
|
||||
extern void check_set_user_message(const UserSetElem *elem);
|
||||
extern void check_variable_value_info(const char* var_name, const Expr* var_expr);
|
||||
|
||||
#define TRANS_ENCRYPT_SAMPLE_RNDM "1234567890ABCDEF"
|
||||
#define TRANS_ENCRYPT_SAMPLE_STRING "TRANS_ENCRY_SAMPLE_STRING"
|
||||
|
||||
Reference in New Issue
Block a user