pgsql: Allow to omit boundaries in array subscript

Started by Teodor Sigaevover 10 years ago3 messagescomitters
Jump to latest
#1Teodor Sigaev
teodor@sigaev.ru

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(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Teodor Sigaev (#1)
Re: pgsql: Allow to omit boundaries in array subscript

Teodor Sigaev <teodor@sigaev.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

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#3Teodor Sigaev
teodor@sigaev.ru
In reply to: Tom Lane (#2)
Re: pgsql: Allow to omit boundaries in array subscript

I will work on it.

Tom Lane wrote:

Teodor Sigaev <teodor@sigaev.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@sigaev.ru
WWW: http://www.sigaev.ru/

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers