From: Oleg B. <ph...@ph...> - 2009-02-02 22:38:03
|
On Tue, Jan 27, 2009 at 01:24:18AM -0800, Daniel Fetchinson wrote: > >> By the way, are there plans for a 1.0 release? What are your > >> requirements for this? > > > > There are many plans. I have a rather big TODO for 1.0, 1.1 and even > > 1.2 That's it: In dbconnection.py in ConsoleWriter do not save self.logfile in __init__ in case sys.stdout will be replaced later. Choose SQLite driver: sqlite://...?backend=(sqlite|sqlite3|pysqlite2) alternateMethodName for all unique fields, not only alternateID. tableParamSQL: class MyTable(SQLObject): class sqlmeta: tableParamSQL = 'ENGINE InnoDB' tableParamSQL = {'mysql': 'ENGINE InnoDB'} delColumn('foreignKey'), delColumn('foreignKeyID') TimestampCol() - make default=None. Proper %-encoded URI. SET client_encoding for PostgreSQL. IntervalCol. All signal handlers must receive 'self' as the first argument. __version__.py Always use .lazyIter(). Test 'dirty' and other attributes for collisions. Release 1.0. Invert tests 'isinstance(obj, (tuple, list))' to 'not isinstance(obj, basestr)' to allow any iterable. More decorators especially @classmethod. Generators instead of loops (fetchall => fetchone). List databases in the connection. List tables in the DB. The query in MySQL is 'SHOW TABLES' in SQLite it is "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name" and in Postgres it is something like "SELECT c.relname FROM pg_class c, pg_type t WHERE c.reltype = t.oid AND t.typname = 'table'" Release 1.1. Stop supporting Python 2.4: use 'with lock'. Release 1.2. ---------- RelatedJoin.hasOther(otherObject[.id]) .select(), .selectBy() and .by*() must pass the value(s) through .from_python(); then the hack with UnicodeCol could be removed. Calculated columns - in SELECT but not in INSERT/UPDATE. Something like this: class MyClass(SQLObject): function1 = CalculatedCol(func.my_function(MyClass.q.col1)) function2 = CalculatedCol('my_function') All-unicode - one encoding per DB/connection. Optimize Iteration.next() - use cursor.fetchmany(). More documentation. Wiki. Trac. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |