[elephant-devel] Re: Postmodern regression
Alex Mizrahi
killerstorm at newmail.ru
Wed Apr 30 11:04:02 UTC 2008
LPP> ...
LPP> 1: (DB-POSTMODERN::ENSURE-PREPARED-ON-CONNECTION
LPP> COMMON-LISP-USER::TREE10SELECT "TREE10SELECT"
LPP> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LPP> "select bob from tree10,blob where qi=$1 and bid = value")
LPP> 2: (CL-POSTGRES:CONNECTION-META
LPP> #<CL-POSTGRES:DATABASE-CONNECTION {C883481}>)
LPP> 2: CL-POSTGRES:CONNECTION-META returned
LPP> #<HASH-TABLE :TEST EQL :COUNT 20 {D2C1C91}>
LPP> Keep in mind that TREE10SELECT is interned in CL-USER here (for
LPP> whatever reason).
omg, interning stuff again.. i've already got some error like this in
unrelated places. we should inspect code for stuff like this, or something..
actually the reason is a broken function called make-local-name:
(defmethod make-local-name ((ex pm-executor) name)
(read-from-string (format nil "~a~a" (executor-prefix ex) name)))
that makes symbols used in queries:
(defmethod register-query ((ex pm-executor) query-identifier sql)
(let ((local-name (make-local-name ex query-identifier)))
(pushnew (cons query-identifier
(list (symbol-name local-name)
local-name
LPP> I have solved this right now by using keywords. Patch attached,
LPP> runs green for me.
can you please change your patch to fix offending make-local-name (i guess
it should intern name into keyword package rather than doing this
read-from-string thing)
rather than innocent users of that symbol?
??>> never seen postgres hanging. if txn is aborted, it just ignores all
??>> sebsequent statements. but is should not hang..
LPP> Could you do me a favor? Try running the Elephant backend test suite
LPP> (preferably with PM backend), say, 15 times in a row in 1.0.1x SBCL
LPP> and tell me whether it hangs for you at some point, too.
ok, i'll try this
More information about the elephant-devel
mailing list