From: Gerhard H?r. <gha...@us...> - 2002-09-09 00:03:46
|
Update of /cvsroot/pypgsql/pypgsql In directory usw-pr-cvs1:/tmp/cvs-serv13799 Added Files: TODO Log Message: 09SEP2002 gh Initial addition of TODO list for further development. --- NEW FILE: TODO --- TODO list for pyPgSQL ===================== ident "@(#) $Id: TODO,v 1.1 2002/09/09 00:03:44 ghaering Exp $" DATA TYPES ========== * Unicode support - Add automatic encoding conversion to the last patch on Sourceforge. (gh) * transparent use of refcursors returned from execute/callproc. This will require the addition of a type that reflects PostgreSQL cursor objects (in contrast to Python DB-API cursor objects). This object will be very similar to Python DB-API cursor objects, but not have any execute or callproc methods * a PgArray type for PostgreSQL ARRAYs. lists and tuples are no longer converted to PostgreSQL ARRAYs, but are instead quoted for insertion into the SQL IN function * support for all standard PostgreSQL data types (point, line, box, etc.) [This could be placed into pyPgSQL 2.x later] * An easy to use method (api hook) for adding support for user defined types. * Investigate trimming down the TypeCache class - why does it need to be able to typecast PostgreSQL types? Isn't it enough to just convert from string to PostgreSQL data type? PERFORMANCE =========== * profiling, to find out which parts are worth optimizing in Python or rewriting in C * performance optimization of typecasts (archictecture changes) o long term way (v3): do all typecasting for the retrieved rows at once. Remember the order of typecasters to apply (see below) o short term way to improve performance: add a method getTypeCasters() to TypeCache. This gets cursor.description as an attribute and returns a list of typecasting callables. We'll have to do constructs similar to "casters.append(lambda x: x or None and PgInt8)" to do so. A simplistic benchmark shows that this can cut time a __fetchOneRow takes to 50 % * Investigate ways to improve the performance of PgResultSets (rewrite in C and/or possible adaptation of Python Database Row Module from http://opensource.theopalgroup.com/) SOURCE CODE =========== DOCUMENTATION ============= * user's guide, using Docbook/XML, adapting from Redhat Database Documentation (I've got the ok from its author) BUILDING ======== MISC ==== * Make all classes in pyPgSQL/libpq new style classes. * move certain settings from module-level to connection level (fetchReturnsList, noPostgresCursor) Developers who have claimed items are: -------------------------------------- * bga is Billy G. Allie <bil...@mu...> * gh is Gerhard Häring <ger...@gm...> |