Subject: [HACKERS] Small patch to pgtclCmds.c
Hi I have made the following small change to the extensions I made to
pgtclCmds.c quite a while ago.
At the moment there is a -assignbyidx option to pg_result assigning the
returned tuples to an array by using the 1st field of the select statement
as the key to the array.
eg "select name,age from vitalstatistics" will result in an array with
myarray(peter) = 32
myarray(paul) = 45
Often I need to have a pseudo-multi dimentional
array eg. "select name,age from vitalstatistics where occupation='plummer'
I would like to be able to generate an array
newarray(peter,overpaid) = 32
So to add a arbitrary string to the key value I have extended
pg_result $res -assignbyidx $arrayname
to have an optional argument
pg_result $res -assignbyidx $arrayname $appendstr
So that that string is appended to the key value.
these routines try to use the old pointer casting stuff to get
the connection id, second the notification hash table should
be part of the cliendData. Otherwise, one interpreter might
eat up the notifies for another one.
Please apply the patch below to the current 6.0 tree.
Submitted by: wieck@sapserv.debis.de
Adds:
-lAttributes
Returns another format of the results attribute list. Per
attribute a sublist of {{attname} atttype attlen} is
returned and an empty string if no attributes where
received.
-numAttrs
Returns the number of attributes in the result.
function so I am going to assume that it is such a good idea that no
one sees any point in discussing it. :-) I have made two changes -
I have merged this into pgtclCmds.c and I have taken out any code for
updating tuples after the loop body runs. See comments for discussion
of this.
I have also fixed up the error checking stuff so that break, continue
and syntax errors have the expected result.
Submitted by: D'Arcy Cain
attributes as tcl arrays. The previous code had problems with some chars
used as delimiter by Tcl. The new code should be more robust.
By: Massimo Dal Zotto <dz@cs.unitn.it>