1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-06 07:49:08 +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:
Peter Eisentraut
2021-02-01 13:54:59 +01:00
parent bb513b364b
commit 3696a600e2
28 changed files with 2301 additions and 33 deletions

View File

@@ -0,0 +1,21 @@
/*-------------------------------------------------------------------------
*
* rewriteSearchCycle.h
* Support for rewriting SEARCH and CYCLE clauses.
*
*
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/rewrite/rewriteSearchCycle.h
*
*-------------------------------------------------------------------------
*/
#ifndef REWRITESEARCHCYCLE_H
#define REWRITESEARCHCYCLE_H
#include "nodes/parsenodes.h"
extern CommonTableExpr *rewriteSearchAndCycle(CommonTableExpr *cte);
#endif /* REWRITESEARCHCYCLE_H */