[Biopython-dev] [Bug 2734] db.load problem with postgresql and psycopg2
bugzilla-daemon at portal.open-bio.org
bugzilla-daemon at portal.open-bio.org
Mon Feb 16 08:00:53 EST 2009
http://bugzilla.open-bio.org/show_bug.cgi?id=2734
andrea at biodec.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |andrea at biodec.com
------- Comment #7 from andrea at biodec.com 2009-02-16 08:00 EST -------
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #3)
> > >
> > > What versions of biopython and the BioSQL schema are you using?
> > >
> > > Cymon
> >
> > According to the bug report, Stephen was using Biopython 1.49, so:
> >
> > Stephen:
> > Biopython 1.49
> > postgresql 8.2
> > BioSQL - schema version unspecified
> > psycopg2 - version unspecified
> > python - version unspecified
> > OS - Mac OS X
> >
> > What about you Cymon - you have postgresql with psycopg2 working, but what
> > versions of things?
> >
> > Peter
> >
>
> Peter,
>
> I'm using:
> Biopython: CVS
> Posgresql: 8.1.11
> BioSQL: 1.0.1
> Python: 2.5.2
> Psycopg: 2.0.8
> OS: Red Hat Enterprise 5.3
>
> C.
>
Hi,
the problem, according to me, is already solved.
It seems that Stephen has an old version of Loader.py.
I submitted a bug and patch that explain that for Postgres
is not possible to have double quotes in queries (").
Double quotes are reserved to Column names.
In the correct Loader.py version everything is corrected
and there aren't double quotes in any queries at all.
Stephen, please check if:
Loader.DatabaseLoader._get_seqfeature_dbxref
is equivalent to:
def _get_seqfeature_dbxref(self, seqfeature_id, dbxref_id, rank):
""" Check for a pre-existing seqfeature_dbxref entry with the passed
seqfeature_id and dbxref_id. If one does not exist, insert new
data
"""
# Check for an existing record
sql = r"SELECT seqfeature_id, dbxref_id FROM seqfeature_dbxref " \
r"WHERE seqfeature_id = '%s' AND dbxref_id = '%s'"
result = self.adaptor.execute_and_fetch_col0(sql, (seqfeature_id,
dbxref_id))
# If there was a record, return without executing anything, else create
# the record and return
if result:
return result
return self._add_seqfeature_dbxref(seqfeature_id, dbxref_id, rank)
maybe in your version, there are still double quotes ("%s") instead
of single quotes ('%s')
Andrea
--
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Biopython-dev
mailing list