From: Artur Trzewik <mail@xdobry.de>
To: pgsql-interfaces@postgresql.org
Subject: pgtcl has no coresponding function to PQcmdTuples
Date: Sat, 23 Nov 2002 16:44:59 +0100
Message-ID: <200211231642.58326.artur2@xdobry.de> (raw)
Hi!
I have noticed that
pg_result $handle -numTuples
result always 0 after DELETE and UPDATE command
I have taken a look in the source code of pgtcl
and I see
# file pgtclCmds.c
else if (strcmp(opt, "-numTuples") == 0)
{
sprintf(interp->result, "%d", PQntuples(result));
return TCL_OK;
}
it works only for SELECT commands.
There are no coresponding c-function call to PQcmdTuples
that return what I need in this moment.
I suggest to add new subcommand to pg_result -cmdTuples with
new code
else if (strcmp(opt, "-cmdTuples") == 0)
{
sprintf(interp->result, "%d", PQcmdTuples(result));
return TCL_OK;
}
(better were to use Tcl_GetIndexFromObj an not strcmp,
sprintf(interp->result,...) is also unsafe and very historical
It should be Tcl_SetObjResult(interp, Tcl_NewIntObj(PQcmdTuples(result)));
It do not look good
By the way.
pgtcl uses very old tcl interface (up to version 7)
using new interface would increase speed about 30-40%.
It also do not carry about UTF in new Tcl (new means about 2 years).
It hurts me to see that old tcl interfaces slow up tcl (and another say it is
slow).
I can upgrade it (I have done it for mysqltcl) if there are need for it.
I need conntact to pgtcl maintainer/autor.
best regards,
Artur Trzewik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: mail@xdobry.de
Subject: Re: pgtcl has no coresponding function to PQcmdTuples
In-Reply-To: <200211231642.58326.artur2@xdobry.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox