Gregory (Grisha) Trubetskoy wrote:

On Thu, 22 Sep 2005, Jim Gallacher wrote:

Gregory (Grisha) Trubetskoy wrote:


OK, my next question would be - is MySQL, PostgreSQL, Informix, Oracle, etc next,


Yes. ;)


And how did we arrive at this decision? :-)

Oh, there was no decision. It's just the nature of open source software to eventually grow to include MySQL and PostgreSQL support. And if you support those 2, well what do you have against Informix? Informix? bah! Everyone knows the one true database is Firebird. And so it goes. I'm pretty sure it's one of Newton's Laws, like the conservation of momemtum. :)

I'd be pretty strongly -1 on this, as it's got little to do with Apache/Python integration which is our core mission.

I think it might be interesting to see something like an ANSI SQL-92 compatible session with some suggestions on how it can be easily integrated with your database vendor of choice, but deifinitely not support specific database vendors, except for those whose support exists natively in the Python distribution (which is none at this point).

I like this idea. It's a keeper.

and is this the path we want to take, or is there something about sqlite that makes it unique?


...so nothing unique about sqlite? If so, I don't think it should be part of mod_python unless/until it is standard in Python, then we can discuss it.

I don't know if it is that path we *want* to take, but I think there is a certain inevitability that it's the path we *will* take.


We will take the path we want :-)

Yes, but feature bloat is just soooo tempting.

I'm personally thinking about a MySQL backend, not because I need it but because I'm curious to compare the performance with FileSession.


But does this mean it has to be included in mod_python?

The best approach might be to refactor Session.py to easily accommodate subclasses for other persistent stores.


That I can agree with. Not necessarily "Session.py" but rather the Session class (inside Session.py). I remember that a lot of time/thought went into it, so it's not like it's going to be a "no-brainer" though.

Any new session subclasses get their own file eg.

mod_python/sessions/sqlite.py


-1

mod_python/sessions/mysql.py


-1

Are you objecting to the idea of having session subclasses in their own modules under mod_python/sessions/ or just reiterating your objection to our providing support for specific database backends?

The current Session.py could stay as is, or we could split FileSession, DbmSession and MemorySession into their own files


I think at this point it'd be cleaner to move the FileSession class into the Session.py file rather than split into individual files. I'm not sure. Something to ponder upon, I guess.

and just have a stub in Session.py for backward compatability.


Not "backwards compatibility", but "default". Using Session should let you use the session mechanism that is most recommended if you do not want to think about it too much.


You may have misunderstood my point. I think we could reorganize the session code to make it easier to support future session subclasses, whether provided by ourselves or third parties. (And I'm not suggesting that there is a problem with Session.BaseSession - it's pretty easy to create subclasses from it). I just want to make it easy for a user to integrate their own session subclass and have it seamlessly available from Session.Session(). That's probably still not clear so at some point I'll cobble together some pseudo code which will better illustrate what I'm thinking.

Regards,
Jim

Reply via email to