diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-08-24 03:29:15 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-08-24 03:29:15 +0000 |
| commit | 782c16c6a154e760bf1608d633488538cd52da93 (patch) | |
| tree | 902da787593da21a979bd2f74b0b44acf9c427b0 /src/backend/optimizer | |
| parent | 87523ab8db34859ae3fb980a3fab9f29dfc4c97a (diff) | |
| download | postgresql-782c16c6a154e760bf1608d633488538cd52da93.tar.gz | |
SQL-language functions are now callable in ordinary fmgr contexts ...
for example, an SQL function can be used in a functional index. (I make
no promises about speed, but it'll work ;-).) Clean up and simplify
handling of functions returning sets.
Diffstat (limited to 'src/backend/optimizer')
| -rw-r--r-- | src/backend/optimizer/path/indxpath.c | 5 | ||||
| -rw-r--r-- | src/backend/optimizer/util/clauses.c | 6 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 27ae4056d9..05f32d2597 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.93 2000/08/13 02:50:04 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.94 2000/08/24 03:29:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1380,9 +1380,8 @@ clause_pred_clause_test(Expr *predicate, Node *clause) copyObject(clause_const), copyObject(pred_const)); -#ifndef OMIT_PARTIAL_INDEX test_result = ExecEvalExpr((Node *) test_expr, NULL, &isNull, NULL); -#endif /* OMIT_PARTIAL_INDEX */ + if (isNull) { elog(DEBUG, "clause_pred_clause_test: null test result"); diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index 22d93b26e7..cf0b6dd703 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.72 2000/08/21 17:22:34 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.73 2000/08/24 03:29:05 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -1447,7 +1447,6 @@ simplify_op_or_func(Expr *expr, List *args) bool has_nonconst_input = false; bool has_null_input = false; bool const_is_null; - bool isDone; /* * Check for constant inputs and especially constant-NULL inputs. @@ -1566,8 +1565,7 @@ simplify_op_or_func(Expr *expr, List *args) econtext = MakeExprContext(NULL, CurrentMemoryContext); const_val = ExecEvalExprSwitchContext((Node *) newexpr, econtext, - &const_is_null, &isDone); - Assert(isDone); /* if this isn't set, we blew it... */ + &const_is_null, NULL); /* Must copy result out of sub-context used by expression eval */ const_val = datumCopy(const_val, resultTypByVal, resultTypLen); |
