Обсуждение: pgsql: Allow to omit boundaries in array subscript
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(-)
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
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/