1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Remove Window objects from the corresponding Select.pWin list when they are deleted.

FossilOrigin-Name: d23f33168222dfa40a67dc7de58057418151989e81429e4af47617e86db04667
This commit is contained in:
dan
2019-07-22 16:20:03 +00:00
parent fd15e18d7f
commit 75b0821e99
8 changed files with 70 additions and 53 deletions

View File

@@ -3594,6 +3594,7 @@ struct Window {
u8 eExclude; /* TK_NO, TK_CURRENT, TK_TIES, TK_GROUP, or 0 */
Expr *pStart; /* Expression for "<expr> PRECEDING" */
Expr *pEnd; /* Expression for "<expr> FOLLOWING" */
Window **ppThis; /* Pointer to this object in Select.pWin list */
Window *pNextWin; /* Next window function belonging to this SELECT */
Expr *pFilter; /* The FILTER expression */
FuncDef *pFunc; /* The function */
@@ -3627,14 +3628,10 @@ Window *sqlite3WindowListDup(sqlite3 *db, Window *p);
void sqlite3WindowFunctions(void);
void sqlite3WindowChain(Parse*, Window*, Window*);
Window *sqlite3WindowAssemble(Parse*, Window*, ExprList*, ExprList*, Token*);
void sqlite3WindowRemoveExprFromSelect(Select*,Expr*);
void sqlite3WindowRemoveExprListFromSelect(Select*,ExprList*);
#else
# define sqlite3WindowDelete(a,b)
# define sqlite3WindowFunctions()
# define sqlite3WindowAttach(a,b,c)
# define sqlite3WindowRemoveExprFromSelect(Select*,Expr*);
# define sqlite3WindowRemoveExprListFromSelect(Select*,ExprList*);
#endif
/*