diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-11-17 22:14:56 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-11-17 22:14:56 +0000 |
| commit | cecb6075594a407b7adcd9c9a0c243ca4b43c9a3 (patch) | |
| tree | d3febb775476b082255aa6122b0ba80a8ba79b37 /src/backend/optimizer/util/clauses.c | |
| parent | c859308aba7edef428994e6de90ff35f35a328c5 (diff) | |
| download | postgresql-cecb6075594a407b7adcd9c9a0c243ca4b43c9a3.tar.gz | |
Make SQL arrays support null elements. This commit fixes the core array
functionality, but I still need to make another pass looking at places
that incidentally use arrays (such as ACL manipulation) to make sure they
are null-safe. Contrib needs work too.
I have not changed the behaviors that are still under discussion about
array comparison and what to do with lower bounds.
Diffstat (limited to 'src/backend/optimizer/util/clauses.c')
| -rw-r--r-- | src/backend/optimizer/util/clauses.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index 5e2718dc63..088612cb4e 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.201 2005/10/15 02:49:21 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.202 2005/11/17 22:14:52 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -784,7 +784,7 @@ contain_nonstrict_functions_walker(Node *node, void *context) } if (IsA(node, ArrayRef)) { - /* array assignment is nonstrict */ + /* array assignment is nonstrict, but subscripting is strict */ if (((ArrayRef *) node)->refassgnexpr != NULL) return true; /* else fall through to check args */ @@ -842,7 +842,8 @@ contain_nonstrict_functions_walker(Node *node, void *context) return true; if (IsA(node, CaseWhen)) return true; - /* NB: ArrayExpr might someday be nonstrict */ + if (IsA(node, ArrayExpr)) + return true; if (IsA(node, RowExpr)) return true; if (IsA(node, CoalesceExpr)) |
