pgtcl has no coresponding function to PQcmdTuples
От | Artur Trzewik |
---|---|
Тема | pgtcl has no coresponding function to PQcmdTuples |
Дата | |
Msg-id | 200211231642.58326.artur2@xdobry.de обсуждение исходный текст |
Ответы |
Re: pgtcl has no coresponding function to PQcmdTuples
Re: pgtcl has no coresponding function to PQcmdTuples |
Список | pgsql-interfaces |
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
В списке pgsql-interfaces по дате отправления: