DICTDB could be implemented as dicts(tables) of dicts(ids) of dicts
(attrs), so these simple databases would be pickle-able, therefore you
could theoretically store little tables inside of regular database
tables, and access them all with the same DAL syntax.  I am not sure
why anyone would want to do this, but it would work.

Robin

On Jan 23, 2:53 pm, Robin B <[email protected]> wrote:
> I was trying to show that Sessions does not actually use the query
> interface (db(table.id==record_id).select()) in really only uses
> get,set,del.
>
> > > del db.sessions[0] -> clear table
>
> > not explicit so dangerous, imagine del db.sessions[id] and id==0 by
> > mistake? do you really want to clear the table?
>
> Very true, this should not be exposed to the user.  But if you think
> about it the other way,
> the lower level driver could implement:
> del db.sessions[0]
> the high level dal api would call this:
> db.sessions.clear() -> del db.sessions[0]
>
> > > del db.sessions[id] -> drop row
>
> > works, in trunk
>
> > > db.sessions[0] = db.sessions(**attrs) -> insert
>
> the high level dal api would call this:
> db.sessions.insert(**attrs)
> the lower level driver could implement:
> ->rec = db.sessions[0] = db.sessions(**attrs)
> ->if rec and getattr(rec,'id',None):
> -> return 1
> ->return 0
>
> the low level table drivers (the plumbing) could expose the set:
> __call__,__getitem__,__setitem__,__delitem__
>
> the high level dal api (the porcelain) could expose the set:
> insert(),clear(),...
>
> This way you can add to the high level api without touching every
> driver, since the high level api could call the low level driver the
> implement the command.
>
> Also, one could create DICTDB which is sufficient to handle sessions
> and simple CRUD for tables (insert,fetch,update,delete,all), web2py
> could work (sessions and CRUD) out of the box w/o having to install
> sqlite, so new users do not need to install sqlite to try a sample
> welcome application scaffolding.  ;)
>
> Robin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to