mirror of
https://github.com/postgres/postgres.git
synced 2026-01-13 12:22:55 +03:00
SEARCH and CYCLE clauses
This adds the SQL standard feature that adds the SEARCH and CYCLE clauses to recursive queries to be able to do produce breadth- or depth-first search orders and detect cycles. These clauses can be rewritten into queries using existing syntax, and that is what this patch does in the rewriter. Reviewed-by: Vik Fearing <vik@postgresfriends.org> Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/db80ceee-6f97-9b4a-8ee8-3ba0c58e5be2@2ndquadrant.com
This commit is contained in:
@@ -78,6 +78,7 @@ typedef enum ParseExprKind
|
||||
EXPR_KIND_CALL_ARGUMENT, /* procedure argument in CALL */
|
||||
EXPR_KIND_COPY_WHERE, /* WHERE condition in COPY FROM */
|
||||
EXPR_KIND_GENERATED_COLUMN, /* generation expression for a column */
|
||||
EXPR_KIND_CYCLE_MARK, /* cycle mark value */
|
||||
} ParseExprKind;
|
||||
|
||||
|
||||
@@ -294,6 +295,7 @@ struct ParseNamespaceColumn
|
||||
Oid p_varcollid; /* OID of collation, or InvalidOid */
|
||||
Index p_varnosyn; /* rangetable index of syntactic referent */
|
||||
AttrNumber p_varattnosyn; /* attribute number of syntactic referent */
|
||||
bool p_dontexpand; /* not included in star expansion */
|
||||
};
|
||||
|
||||
/* Support for parser_errposition_callback function */
|
||||
|
||||
Reference in New Issue
Block a user