#72: Support arrays with start index != 1
-------------------------+-----------------
 Reporter:  cito         |      Owner:
     Type:  enhancement  |     Status:  new
 Priority:  major        |  Milestone:  5.1
Component:  DB API 2     |    Version:  5.0
 Keywords:  array cast   |
-------------------------+-----------------
 The current implementation of the `cast_array` function in the C module
 ignores the start index of PostgreSQL arrays. They are assumed to always
 be 1. As discussed on the mailing list in September 2016, this should be
 improved:

 The idea is that the `cast_array` function should take an additonal,
 optional `cls` parameter which will then be used as the base class for the
 array. If that parameter is `None` or `list`, then the method works as
 before, returning a list or a list of lists for multidimensional arrays.
 If it is any other class, then this will be considered as a subclass of
 list that will be used instead of the builtin list for building the return
 values. In addition, the instances of this list subclass will have a
 `lower` attribute set to the start index of the corresponding PostgreSQL
 (sub)arrays by the `cast_array` function.

 It should then be possible to change the default value for `cls` passed
 into the `cast_array` function to a custom list subclass. That subclass
 could consider the start index when getting items, and return `None` it
 the index points to outside the array. This would emulate the behavior of
 PostgreSQL arrays more closely.

--
Ticket URL: <http://trac.pygresql.org:8000/pgtracker/ticket/72>
PyGreSQL <http://www.pygresql.org/>
PyGreSQL Tracker
_______________________________________________
PyGreSQL mailing list
PyGreSQL@vex.net
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to