[Zope] Z SQL Bug wasted nearly my whole morning

Ren Bing bing.ren@eastip.com
Tue, 26 Mar 2002 14:41:10 +0800


Dear all:

A bug in Z SQL method wasted my whole precious morning! Write the body of a
Z SQL method as below, with only Arguments as 'client'

insert into test values(client)

now goto 'test', input something or not, everytime you get "Error,
exceptions.TypeError: __call__() got multiple values for keyword argument
'client' "

since the actual case I am debugging is more complex than this, I didn't
reach the point at first. I tried my whole precious morning, trying this and
that, examine here and there, feeling like jump our of window or smash my
computer :-) (not so bad, in face :-) just because that I never expect that
the problem exist at the NAME!!!!!

at last, nearly tried every thing I can guess (am I too stupid? maybe), I
replaced argument name "client" to "clientname" , then everything is fine.

Woo, but WHY???? what's inside this? I didn't read this at anywhere. Is
there still more like this ahead?

May I be so bold to add some comment: when using Zope at first, I am shocked
by how easy it is to use, just a few code can do great thing that you need
to write several times of codes otherwise, like Java. But more and more, I
found that I used several times debugging effort than Java. Perhaps because
that I am just new to Zope. But I think the "Zope Book" is not explicit
enough, for example, no where mentioned that when you call a DTML method
from a python method, you need to pass its container folder or something as
parameter, or your DTML method can never find the standard-header...... I
spend several hour to find out.... I don't know whether it is my own problem
or Zope's problem. But this time, the "client" and "clientname" killed me.

I am considering seriously whether or not shall I turn back to Java in next
project.

Thanks very much. I am not mean to say bad word to Zope.

Ren Bing