Very true - implicit variables are enemies of the state... However, it did not solve the problem at hand...
Best regards, Bernino -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Klem Sent: Wednesday, June 25, 2003 4:47 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: [jadmin] RE: [JDEV] Complex DTD=2 SQL Hi Bernino, I think the SELECT data fields should be stated explicitly. The bindvar may be failing on the "SELECT *". Specifically: <querydef name="score-get" dtd="2" type="get" namespace="lind:score"> <text>SELECT sid, username, gameid, score, date FROM score WHERE gameid = '$$gameid$$' AND username = '$$user$$'</text> Plus this way, if changes are ever made to the DB table structure, you won't break this. Regards, Tim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Bernino Lind Sent: Wednesday, June 25, 2003 10:29 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: [JDEV] Complex DTD=2 SQL Dear all, I need a bit of adwise. I have a working simple dtd="2" sql set/get pair with my own namespace. I need to make these more sql queries more complex by adding more variables in my select statements. I can do this no problem with my update/insert with bindvar tag=... but with select I hit problems, which I cant resolve...: My select in xdb_sql.xml / queredef: <querydef name="score-get" dtd="2" type="get" namespace="lind:score"> <text>SELECT * FROM score WHERE gameid = '$$gameid$$' AND username = '$$user$$'</text> <user>$$user$$</user> <bindvar tag="gameid">$$gameid$$</bindvar> <top-result> <x xmlns='lind:score'/> </top-result> <tuple-node><item/></tuple-node> <bindcol tag="sid" offset="0"/> <bindcol tag="username" offset="1"/> <bindcol tag="gameid" offset="2"/> <bindcol tag="score" offset="3"/> <bindcol tag="date" offset="4"/> </querydef> </queries> What happens when I fire off my xml is that the type="set" works just fine, but firing off a gives a warning: WARNING: pg_atoi: zero-length string Which I guess means that gameid is null, even though my iq packet is good: <iq type="get"> <query xmlns='lind:score'> <gameid>123</gameid> </query> </iq> And theres something in it: jdb=# SELECT * FROM score WHERE gameid = '123' AND username = '[EMAIL PROTECTED]'; sid | username | gameid | score | date -----+-------------------+--------+--------+---------------------------- 10 | [EMAIL PROTECTED] | 123 | 234234 | 2003-06-17 15:42:41.611469 12 | [EMAIL PROTECTED] | 123 | 234234 | 2003-06-17 16:12:12.182216 13 | [EMAIL PROTECTED] | 123 | 234234 | 2003-06-25 15:31:02.446713 14 | [EMAIL PROTECTED] | 123 | 234234 | 2003-06-25 15:31:11.871944 15 | [EMAIL PROTECTED] | 123 | 234234 | 2003-06-25 16:02:51.309132 (5 rows) When I change the querydef to have just say username - no problem, it selects and outputs the way I want it... Help, Best Regards Bernino Lind _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev _______________________________________________ jadmin mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jadmin _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev
