Re: Cleaning up array_in()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>,
Nikhil Benesch <nikhil.benesch@gmail.com>,
Nathan Bossart <nathandbossart@gmail.com>,
pgsql-hackers@lists.postgresql.org,
jian he <jian.universality@gmail.com>
Date: 2023-11-08T15:56:57Z
Lists: pgsql-hackers
Alexander Lakhin <exclusion@gmail.com> writes:
> Thank you for the update! I haven't looked into the code, just did manual
> testing and rechecked commands given in the arrays documentation ([1]).
> Everything works correctly, except for one minor difference:
> INSERT INTO sal_emp
> VALUES ('Bill',
> '{10000, 10000, 10000, 10000}',
> '{{"meeting", "lunch"}, {"meeting"}}');
> currently gives:
> ERROR: malformed array literal: "{{"meeting", "lunch"}, {"meeting"}}"
> LINE 4: '{{"meeting", "lunch"}, {"meeting"}}');
> ^
> DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
> not
> ERROR: multidimensional arrays must have array expressions with matching dimensions
Oh! I had not realized we had actual documentation examples covering
this area. Yeah, that doc needs to be updated to show the current
wording of the error. Thanks for catching that.
regards, tom lane
Commits
-
Don't specify number of dimensions in cases where we don't know it.
- 8d5573b92e66 17.0 landed
-
Improve readability and error detection of array_in().
- 83472de606db 17.0 landed
-
Add trailing commas to enum definitions
- 611806cd726f 17.0 cited