PostgreSQL and Zope (was Re: [Zope] Summary of DB Discussion)
On Tue, Nov 09, 1999 at 06:31:19PM -0600, Karl Fast wrote: <snip>
- There are DA's for MySQL and PostgreSQL, the two open source databases (yeah, yeah, MySQL isn't truly open source--although one of the older version is). They work, although both are still in development (is this active?) and some people have had troubles getting them to compile. This seems especially true of the MySQL DA judging from pleas for help sent to the zope list, although this may be more of a reflection of MySQL's popularity over PostgreSQL.
Since there have been a number of posts recently in the "works for me" catagory, I like to think it reflects fewer problems. ;-)
- DC is looking for someone in the zope community to take ownership of the MySQL DA (what's the status of the PostgreSQL DA?)
<snip>
Other have addressed some of these points. Since the PostgreSQL DA is on my Zope member page, I thought I should comment on the current state of development. I recently took some vacation: just before I left, the original author of the ZPyGreSQLDA resurfaced in email. Since I've been back, I haven't caught up at paying work, so progress on the DA has suffered. The biggest problem has been that my project at work has gone completely ColdFusion (Zope wasn't there early enough), although we do use PostgreSQL. So I haven't been able to justify much daytime work on it. The biggest problem is probably that I've written many more lines of Tcl than Python, so I'm climbing more than one learing curve at a time. (What I could really use is some good open source time and project management software. Anyone have any recommendations? And what happened to the ZopeCalendar <-> PalmPilot conduit project? ) My experience with the PostgreSQL developers and mailing lists are very similar to the Zope lists: lots of clueful, helpful people (some of them are the same people ;-) Bugs exist (what software is perfect?), but get diagnosed and fixed very rapidly. Features are added (and limitations removed) on a weekly basis. I get the feeling that the pgsql project has turned a corner in the last year or two: the code base has been cleaned up, making it easier to understand, and contribute code. New developers are being attracted, and quickly becoming contributers. It feels like it's reaching critical mass. The pgsql-hackers list reminds me of the linux-kernel list from about '92 or so, in that respect. If you haven't looked at PostgreSQL since it's Postgres95 days, it's definitely time to look again. To get this back on topic for the Zope lists, in particular, I think DC should take a serious look at it: the licenses are compatible (pgsql is Berkeley software, after all) and the corporate attitudes are compatible. (The core developers recently formed PostgreSQL, Inc. and are learning how to be a business, as well as a project: could probably use some pointers from you folks ;-) As another poster mentioned, pgsql is an EORDBMS: Extensible Object Relational DBMS, and not only because you get the source. Building a ZStore for the ZODB on top of PostgreSQLs object features should be easier that relying totally on relational calculus, and might reveal some interesting synergies. If I could unleash the crystal ball (rose tinted), I can see future where Zope and PostgreSQL are the defacto next generation tools for web applications, taking over from perl and MySQL as more critical, core business functions move to the web. Boy, now that I've expressed all that in words, I better get cracking on that DA, shouldn't I? Now that 2.0 seems to have settled down a little, (and 2.1 is in beta) any one want to take a crack at helping? Patches always welcome! Ross -- Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu> NSBRI Research Scientist/Programmer Computer and Information Technology Institute Rice University, 6100 S. Main St., Houston, TX 77005
"Ross J. Reedstrom" wrote:
If you haven't looked at PostgreSQL since it's Postgres95 days, it's definitely time to look again. To get this back on topic for the Zope lists, in particular, I think DC should take a serious look at it: the licenses are compatible (pgsql is Berkeley software, after all) and the corporate attitudes are compatible. (The core developers recently formed PostgreSQL, Inc. and are learning how to be a business, as well as a project: could probably use some pointers from you folks ;-) As another poster mentioned, pgsql is an EORDBMS: Extensible Object Relational DBMS, and not only because you get the source. Building a ZStore for the ZODB on top of PostgreSQLs object features should be easier that relying totally on relational calculus, and might reveal some interesting synergies.
Apart from being EORDBMS, it has another nice feature that could (or even should ?) be used in DA and possibly even in ZODB-over-PostgreSQL, namely the LISTEN/NOTIFY that could be used (combined with triggers) both for determining cache'ing times for queries and synchronizing shared ZODB for multiple Zope frontends. And one more thing that maybe is no different from MySQL, but still important for some - PostgreSQL is used in projects storing tens or even hundreds of Gigabytes.
If I could unleash the crystal ball (rose tinted), I can see future where Zope and PostgreSQL are the defacto next generation tools for web applications, taking over from perl and MySQL as more critical, core business functions move to the web.
Yess! PostgreSQL 7.0 + Zope 2.2 = PostgreSQL 8i :)
Boy, now that I've expressed all that in words, I better get cracking on that DA, shouldn't I? Now that 2.0 seems to have settled down a little, (and 2.1 is in beta) any one want to take a crack at helping?
I've sent one additional method for query_result object to D'Arcy that returns more detailed info about types and sizes/precisions of returned data. If it does not appear in _pgmodule but you need it in improving the DA I may send it directly to you. There was also another patch (not by me)that returned NULL's as None's (instead of '' or 0).
Patches always welcome!
My current biggest gripes are some missing types in Zope (Time and BigDecimal, pure DATE (without the 12.00 time part) would also be nice), that can't be remedied by just improving the DA. And the _pgmodule still lacks some functionality of libpq (like decoupling sending query and receiving the result), so I guess that better database (PostgreSQL) integration requires patches to all three - Zope, ZPgSQLDA,and PyGreSQL. ----------- Here I also take the opportunity to once again ask the Zope-dev list : What do people think, If I need both Date, Time and DateTime types, could I just make a product that uses mxDATE to have it or should I patch/replace the builtin Date.py ? If i make a product can I also make the formats work for my new types ? ------------ Hannu
participants (2)
-
Hannu Krosing -
Ross J. Reedstrom