mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
Create real array comparison functions (that use the element datatype's
comparison functions), replacing the highly bogus bitwise array_eq. Create a btree index opclass for ANYARRAY --- it is now possible to create indexes on array columns. Arrange to cache the results of catalog lookups across multiple array operations, instead of repeating the lookups on every call. Add string_to_array and array_to_string functions. Remove singleton_array, array_accum, array_assign, and array_subscript functions, since these were for proof-of-concept and not intended to become supported functions. Minor adjustments to behavior in some corner cases with empty or zero-dimensional arrays. Joe Conway (with some editorializing by Tom Lane).
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.132 2003/06/25 21:30:28 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.133 2003/06/27 00:33:25 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1528,17 +1528,17 @@ ExecEvalArray(ArrayExprState *astate, ExprContext *econtext,
|
||||
{
|
||||
/* Check other sub-arrays are compatible */
|
||||
if (elem_ndims != ARR_NDIM(array))
|
||||
elog(ERROR, "Multiple dimension arrays must have array "
|
||||
elog(ERROR, "Multidimensional arrays must have array "
|
||||
"expressions with matching number of dimensions");
|
||||
|
||||
if (memcmp(elem_dims, ARR_DIMS(array),
|
||||
elem_ndims * sizeof(int)) != 0)
|
||||
elog(ERROR, "Multiple dimension arrays must have array "
|
||||
elog(ERROR, "Multidimensional arrays must have array "
|
||||
"expressions with matching dimensions");
|
||||
|
||||
if (memcmp(elem_lbs, ARR_LBOUND(array),
|
||||
elem_ndims * sizeof(int)) != 0)
|
||||
elog(ERROR, "Multiple dimension arrays must have array "
|
||||
elog(ERROR, "Multidimensional arrays must have array "
|
||||
"expressions with matching dimensions");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user