[Python-Dev] Re: Un-stalling Berkeley DB support

Gregory P . Smith greg@mad-scientist.com
Wed, 9 Aug 2000 14:16:39 -0700


On Wed, Aug 09, 2000 at 02:03:21PM -0400, Eric S. Raymond wrote:
> 
> When we last discussed this subject, there was general support for the
> functionality, but a couple of people went "bletch!" about SWIG-generated
> code (there was unhappiness about pointers being treated as strings).
> 
> Somebody said something about having SWIG patches to address this.  Is this
> the only real issue with SWIG-generated code?  If so, we can pursue two paths:
> (1) Hand Greg a patched SWIG so he can release a 2.1.2 version of the DB
> extension that meets our cleanliness criteria, and (2) press the SWIG guy 
> to incorporate these patches in his next release.

Out of curiosity, I just made a version of py-bsddb3 that uses SWIG
v1.3alpha3 instead of SWIG v1.1-883.  It looks like 1.3a3 is still
using strings for pointerish things.  One thing to note that may calm
some peoples sense of "eww gross, pointer strings" is that programmers
should never see them.  They are "hidden" behind the python shadow class.
The pointer strings are only contained within the shadow objects "this"
member.

example:

  >>> from bsddb3.db import *
  >>> e = DbEnv()
  >>> e
  <C DbEnv instance at _807eea8_MyDB_ENV_p>
  >>> e.this
  '_807eea8_MyDB_ENV_p'

Anyways, the update if anyone is curious about a version using the more
recent swig is on the py-bsddb3 web site:

http://electricrain.com/greg/python/bsddb3/


Greg