[Coldstuff] genesis 1.1.11-pre1

Jeremy Weatherford coldstuff@cold.org
Sat, 25 May 2002 15:13:22 -0700 (PDT)


Okay, the tarball is at http://cold.xidus.net/genesis-mysql-mod.tgz.  
Includes mysql.(mod|c|h) and a README file with info on the changes to the
Makefile.  Anyone caring to try it needs to know how to install modules,
because I've forgotten the details -- hence the README isn't terribly
helpful on that point.

A reminder about this... it's very rudimentary, supporting only a single 
connection for the entire driver.  It's a start, though.

I don't think I'm up to implementing more sophisticated support, but 
you're right, Brad, that it should work by binding connections to objects, 
rather than using descriptors.  It's the Genesis/ColdC Way (TM).

Happy hacking...

Jeremy Weatherford
xidus@xidus.net
http://xidus.net


On Fri, 24 May 2002, Brad Roberts wrote:

> Could you provide some implementation details?  Would you like some
> pointers on how to generalize it more?  I hope so, since I'm going to give
> it anyway.
> 
> I suggest, for 1.1.x, another extra pointer off the Obj struct.  For 1.2.x
> (I know.. practically vaporware as far as most people are concerned, but
> trust me, some really incredible work has gone on that just needs to be
> cleaned up before anyone sees it (ie, I'd be a little embarassed for it to
> be looked at too closely by anyone right now)) I've overhauled that
> mechanism to make it less expensive (memory wise, slightly more expensive
> cpu wise) to add object specific pieces like the current connection and
> file pointers.
> 
> Try to isolate the sql engine specific pieces into a layer such that the
> coldc api can work for multiple sql engines (mysql, postgres, informix,
> sybase, oracle, mssql, etc).  Ie, there's bound to be some amount of code
> that is independant of the sql engine api's and some that's very very
> specific.  Try to make it easy to write different spcific pieces without
> having to touch the common piece.  Also, try to think about cursor
> support.  Mysql doesn't support cursors, not sure about postgres, but the
> rest do and could go a long way towards reducing the latency for sql
> results.
> 
> If there's enough demand for the sql support, I'd be tempted to back port
> the changes I mentioned above from 1.2 to 1.1.  With those changes, it'd
> be very easy to keep the sql code as a separate module that didn't have to
> touch any core code at all, I think.  As usual, thinking out loud without
> looking at the code could get me in trouble, but I'm fairly confident that
> it's easily doable.
> 
> Later,
> Brad
> 
> On Fri, 24 May 2002, Jeremy Weatherford wrote:
> 
> > Date: Fri, 24 May 2002 20:01:49 -0700 (PDT)
> > From: Jeremy Weatherford <xidus@xidus.net>
> > Reply-To: coldstuff@cold.org
> > To: coldstuff@cold.org
> > Subject: Re: [Coldstuff] genesis 1.1.11-pre1
> >
> > I added basic MySQL client support (single connect per driver and exec) to
> > Genesis about a year ago.  I don't know what the status of that code is
> > right now.  It wasn't a huge project, in any case.
> >
> > I'm starting on more comprehensive PostgreSQL support now.  I'm not
> > worried about performance with this implementation, because the support is
> > currently only for a single-user web-app with more need for persistence
> > than volume in data storage.  I will try to handle multiple connections in
> > a sane manner, though -- either with descriptors or by binding them to
> > objects.  Hmm... probably descriptors.
> >
> > If you're interested in the MySQL code, which I assume still works, let me
> > know.  It's a hackish 133-line module meant to be linked with
> > -lmysqlclient.  Last tested with 1.1.9-STABLE.
> >
> > Jeremy Weatherford
> > xidus@xidus.net
> > http://xidus.net
> >
> >
> > On Fri, 24 May 2002 elh@astroarch.com wrote:
> >
> > >
> > > Hi,
> > >
> > > Has anyone integrated Genesis into an SQL server? Or any thoughts on how
> > > hard that would be or where to start?
> > >
> > > Also, has anyone updated the MOO2COLD code?
> > >
> > > Thanks,
> > > Edward Haletky
> > >
> > > >
> > > > I've taken all the patches submitted to coldstuff to date and created a
> > > > pre-release tarball for any who want to test it.  I've done little more
> > > > than make sure it still passes the limited test suite.  There are no major
> > > > changes in here:
> > > >
> > > >   http://www.puremagic.com/~braddr/Genesis-1.1.11-pre1.tar.gz
> > > >   http://www.puremagic.com/~braddr/Genesis-1.1.11-pre1.tar.bz2
> > > >
> > > >   * fix BUFFER in BUFFER.  Use buffer_index which contained a fix
> > > >     not propagated to the previously duplicated code in op_in
> > > >     (Allen Noe)
> > > >   * Apply (with changes (Brad)) a bunch of MSVC patches (Robert Bradley)
> > > >   * Fix some missed regerror -> gen_regerror's (pvx at wmute.net)
> > > >   * Fix method access setting error handling (pvx at wmute.net)
> > > >
> > > > I haven't tested the win32 MSVC patches myself, and I didn't apply them
> > > > exactly as they were submitted so I'm interested in hearing if there are
> > > > problems.  I believe there's some set of files that Rob has that need to
> > > > be added on top of the tarball before it's actually functional.  Or
> > > > something like that.  I'm just supporting what I can without the ability
> > > > (or desire) to test.
> > > >
> > > > If anyone has additional bug fixes that should be rolled into this release
> > > > or even just bugs that you haven't reported or aren't included in this
> > > > list, please send them my way.
> > > >
> > > > Thanks,
> > > > Brad
> > > >
> > > > _______________________________________________
> > > > Cold-Coldstuff mailing list
> > > > Cold-Coldstuff@cold.org
> > > > http://web.cold.org/mailman/listinfo/cold-coldstuff
> > > >
> > >
> > > _______________________________________________
> > > Cold-Coldstuff mailing list
> > > Cold-Coldstuff@cold.org
> > > http://web.cold.org/mailman/listinfo/cold-coldstuff
> > >
> >
> > _______________________________________________
> > Cold-Coldstuff mailing list
> > Cold-Coldstuff@cold.org
> > http://web.cold.org/mailman/listinfo/cold-coldstuff
> >
> 
> _______________________________________________
> Cold-Coldstuff mailing list
> Cold-Coldstuff@cold.org
> http://web.cold.org/mailman/listinfo/cold-coldstuff
>