| Lists: | pgsql-committers |
|---|
| From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org |
| Subject: | pgsql: Allow to omit boundaries in array subscript |
| Date: | 2015-12-18 12:21:27 |
| Message-ID: | E1a9u2J-00054Q-Qk@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-committers |
Allow to omit boundaries in array subscript
Allow to omiy lower or upper or both boundaries in array subscript
for selecting slice of array.
Author: YUriy Zhuravlev
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/9246af6799819847faa33baf441251003acbb8fe
Modified Files
--------------
doc/src/sgml/array.sgml | 20 ++++++++++++++
src/backend/executor/execQual.c | 44 +++++++++++++++++++++++-------
src/backend/nodes/copyfuncs.c | 2 ++
src/backend/nodes/equalfuncs.c | 2 ++
src/backend/nodes/outfuncs.c | 2 ++
src/backend/parser/gram.y | 31 +++++++++++++++++++++
src/backend/parser/parse_node.c | 49 ++++++++++++++++++++++------------
src/backend/parser/parse_target.c | 2 +-
src/include/nodes/parsenodes.h | 2 ++
src/test/regress/expected/arrays.out | 40 +++++++++++++++++++++++++++
src/test/regress/output/misc.source | 3 ++-
src/test/regress/sql/arrays.sql | 15 +++++++++++
12 files changed, 184 insertions(+), 28 deletions(-)
| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
| Cc: | pgsql-committers(at)postgresql(dot)org |
| Subject: | Re: pgsql: Allow to omit boundaries in array subscript |
| Date: | 2015-12-18 16:54:53 |
| Message-ID: | 19144.1450457693@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-committers |
Teodor Sigaev <teodor(at)sigaev(dot)ru> writes:
> Allow to omit boundaries in array subscript
For the record, this patch wasn't nearly ready to commit.
* User-facing documentation is very poor; at the least it needs
copy-editing by someone with better command of English.
* Comments are next to nonexistent. I note for example that the
description of struct A_Indices wasn't updated, much less that of
ArrayRef.
* Some error messages aren't meeting the style guidelines.
* I'm dubious that the parsetree representation is well-chosen.
Probably a single is_slice flag would have been better.
* Dumps core on fixed-length arrays, eg
regression=# select f1[1:] from point_tbl;
server closed the connection unexpectedly
I think it should be reverted and sent back for another round of
review. If not, I'll probably spend tomorrow cleaning it up,
but I really have other things I should be doing.
regards, tom lane
| From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-committers(at)postgresql(dot)org |
| Subject: | Re: pgsql: Allow to omit boundaries in array subscript |
| Date: | 2015-12-18 18:28:10 |
| Message-ID: | 5674503A.1050301@sigaev.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-committers |
I will work on it.
Tom Lane wrote:
> Teodor Sigaev <teodor(at)sigaev(dot)ru> writes:
>> Allow to omit boundaries in array subscript
>
> For the record, this patch wasn't nearly ready to commit.
>
> * User-facing documentation is very poor; at the least it needs
> copy-editing by someone with better command of English.
>
> * Comments are next to nonexistent. I note for example that the
> description of struct A_Indices wasn't updated, much less that of
> ArrayRef.
>
> * Some error messages aren't meeting the style guidelines.
>
> * I'm dubious that the parsetree representation is well-chosen.
> Probably a single is_slice flag would have been better.
>
> * Dumps core on fixed-length arrays, eg
>
> regression=# select f1[1:] from point_tbl;
> server closed the connection unexpectedly
>
> I think it should be reverted and sent back for another round of
> review. If not, I'll probably spend tomorrow cleaning it up,
> but I really have other things I should be doing.
>
> regards, tom lane
>
>
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/