mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +03:00
Add CINE option for CREATE TABLE AS and CREATE MATERIALIZED VIEW
Fabrízio de Royes Mello reviewed by Rushabh Lathia.
This commit is contained in:
@ -3401,11 +3401,25 @@ CreateAsStmt:
|
||||
ctas->into = $4;
|
||||
ctas->relkind = OBJECT_TABLE;
|
||||
ctas->is_select_into = false;
|
||||
ctas->if_not_exists = false;
|
||||
/* cram additional flags into the IntoClause */
|
||||
$4->rel->relpersistence = $2;
|
||||
$4->skipData = !($7);
|
||||
$$ = (Node *) ctas;
|
||||
}
|
||||
| CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data
|
||||
{
|
||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||
ctas->query = $9;
|
||||
ctas->into = $7;
|
||||
ctas->relkind = OBJECT_TABLE;
|
||||
ctas->is_select_into = false;
|
||||
ctas->if_not_exists = true;
|
||||
/* cram additional flags into the IntoClause */
|
||||
$7->rel->relpersistence = $2;
|
||||
$7->skipData = !($10);
|
||||
$$ = (Node *) ctas;
|
||||
}
|
||||
;
|
||||
|
||||
create_as_target:
|
||||
@ -3444,11 +3458,25 @@ CreateMatViewStmt:
|
||||
ctas->into = $5;
|
||||
ctas->relkind = OBJECT_MATVIEW;
|
||||
ctas->is_select_into = false;
|
||||
ctas->if_not_exists = false;
|
||||
/* cram additional flags into the IntoClause */
|
||||
$5->rel->relpersistence = $2;
|
||||
$5->skipData = !($8);
|
||||
$$ = (Node *) ctas;
|
||||
}
|
||||
| CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data
|
||||
{
|
||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||
ctas->query = $10;
|
||||
ctas->into = $8;
|
||||
ctas->relkind = OBJECT_MATVIEW;
|
||||
ctas->is_select_into = false;
|
||||
ctas->if_not_exists = true;
|
||||
/* cram additional flags into the IntoClause */
|
||||
$8->rel->relpersistence = $2;
|
||||
$8->skipData = !($11);
|
||||
$$ = (Node *) ctas;
|
||||
}
|
||||
;
|
||||
|
||||
create_mv_target:
|
||||
|
Reference in New Issue
Block a user