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/            p...@phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to