[Zope] Re: ooops... ZMYSQL tests fail in the ZMI on batching dynamic queries

Tres Seaver tseaver at palladion.com
Sat Oct 8 21:13:37 EDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dennis Allison wrote:
> Sorry for the long message, but there's a lot of context.  I've tried
> to factor the problem out and then provide supporting stuff for the
> interested.  Zope 2.7.6, Python 2.4.1 (Python 2.3.5 behaves in the same 
> fashion).
> 
> In summary, the problem is that a query run as a test from the ZMI of
> the form
> 
> 	select * from <dtml-var udb>.tablename
> 
> fails on the second batch whereas 
> 
> 	select * from foo.tablename
> 
> works fine for all batches.
> 
> 
> The relevant Zope code distributed with Zope 2.7.6-final had a bug in
> it which was discussed earlier on the list.  The distributed code did
> not terminate batching properly.  The problematic code was in
> 
> /home/allison/Zope-2.7.6-final/lib/python/Shared/DC/ZRDB/dtml
> 
> and the fix was to patch the two link expressions to have a missing
> element, that is,
> 
> <a href="&dtml-URL;?query_start=&dtml-next-sequence-start-number;  \
>       &query=<dtml-var query url_quote missing="">">
> 
> which seemed to resolve the problem.
> 
> BUT, there is now a second problem.  When the query is dynamic,  the
> second batch fails on a key error -- for the example above, it would
> fail with a
> 
> 
>>Z SQL Method at  /testfolder/batchcheck   External Editor
>>	
>>Help!
>>Error, exceptions.KeyError: 'udb' SQL used:
>>
>>Could not render the query template!
> 
> 
> message in the ZMI.  However, REQUEST has the proper value for the key
> according to the Error Log:
> 
> form
> query	"''"
> query_start	'21'
> 
> other 
> n_	5
> a_	0
> 
> 
> It's pretty clear that the query is being passed as an empty string due
> to the key error.  Presumably the query should be rendered and saved in
> a persistent manner throughout the batching process.  It is not clear
> to me where this should be done.  Any help in localizing and fixing the
> problem would be appreciated.

Note that the missing key in your case is 'udb', while in the older case
it was 'query'.  I don't know where the first page was getting its value
for 'udb';  there is no key for it in the error log entry you cite.

>>Error Type: KeyError
>>Error Value: 'query'


Tres.
- --
===================================================================
Tres Seaver          +1 202-558-7113          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDSG7B+gerLs4ltQ4RAjNlAJ0YaJL4WYWWplyAm3j+godYePWDeACgtcmH
bTmMvGeXUpg9sFZTVd2Vrb4=
=QSIr
-----END PGP SIGNATURE-----



More information about the Zope mailing list