[INTERFACES] MSAccess problem deleting rows

Поиск
Список
Период
Сортировка
От leif@danmos.dk
Тема [INTERFACES] MSAccess problem deleting rows
Дата
Msg-id 199907230200.EAA05624@crysberg.dk
обсуждение исходный текст
Список pgsql-interfaces
Hi all,


   I am having trouble using M$Access on a PostgreSQL database using PostODBC.

My setup:

  Linux kernel: 2.0.36
  Linux dist:   RedHat 5.0
  PostgreSQL:   6.4.2
  PostODBC:     -> 06.40.0006
  M$Access:     97

   My main problem is to make M$Access use the primary (unique) key of my table
when I am deleting a single row from M$Access. This is what I do:

   1) Link the table 'ut32loen' into a new and freshly opened M$Access database.
   2) Open the table in "raw" Access (simply clicking on the Open button in the
      database window of Access).
   3) Selecting the first row of the table (by clicking in the left-most column,
      the one not being a table column, selecting the hole row).
   4) Pressing the 'delete' key on the keyboard.

This results in two different responses from Access:

   1) Access claims that somebody else has changed the data, that I am trying
      to delete, though *noone* else is on the database.

   2) I get an error from the backend.

Re 1: In this case I have *not* checked 'Row versioning' in the ODBC Manager
      setup of the data set name that I am using. For some reason it looks
      like Access cannot figure out to use the unique index that exists on
      the table, and which it accepted when I linked the table. (It didn't
      ask for a unique key, as it does if none exists.) In stead Acccess
      generates this awfull where clause using *all* columns for qualifying
      the row. I suspect, it is because of rounding errors that it can't find
      the row resulting in this stupid message from Access telling me
      somebody else has modified the data !!??
      The main problem is, however, that M$Access does not use *only* the
      unique key column in the where clause.
      This situation is logged in the file psqlodbc_42941.... below.

Re 2: Here I have checked the 'Row versioning' option. The where clause looks
      a lot better, but I get this error from the backend:
      errmsg='ERROR:  There is more than one possible operator '='
      for types 'xid' and 'int4'
        You will have to retype this query using an explicit cast'
      I am afraid that I can't cast anything since this was generated by the
      M$ JetEngine.
      This situation is logged in the file psqlodbc_42942.... below.

   I have included the output from a small psql session showing the table
ut32loen and its contents, the .sql that I used for generating the table,
and the two log-files that I refered to above.

   I have tried the same thing without having the 'serial' (sequencer) on
the 'id' column, without any luck.

   Plese forgive me for not compressing and attaching these files, this
old mailer is not capable of doing attachments :-(.


    Please help,

___________________________________________________________________________
                                             /
       _/                            _/_/   /  Leif Jensen (leif@danmos.dk)
      _/                _/         _/      /
     _/        _/_/             _/_/_/    /
    _/       _/   _/   _/        _/      / Linux 2.0.36, gcc 2.7.2, wxWin 1.68c
   _/       _/ _/_/   _/        _/      /
  _/       _/        _/   _/   _/      /
 _/_/_/_/   _/_/      _/_/    _/      /         (and Windows 95 :-(
___________________________________________________________________________



---- psql.out: -------------------------------------------------------------------------------

>\d ut32loen

Table    = ut32loen
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| id                               | int4 not null default nextval('u |     4 |
| beregnnr                         | int4                             |     4 |
| stempling                        | int4                             |     4 |
| stemplingstype                   | int4                             |     4 |
| beregndato                       | date                             |     4 |
| startdato                        | date                             |     4 |
| enddato                          | date                             |     4 |
| medarbejder                      | varchar()                        |    50 |
| periodeskema                     | varchar()                        |    50 |
| kommettid                        | varchar()                        |    50 |
| gaaettid                         | varchar()                        |    50 |
| normtimer                        | float8                           |     8 |
| pausetimer                       | float8                           |     8 |
| tillaegtimer                     | float8                           |     8 |
| flextimer                        | float8                           |     8 |
| akkordtimer                      | float8                           |     8 |
| fravaertimer                     | float8                           |     8 |
| varseltimer                      | float8                           |     8 |
| bonustimer                       | float8                           |     8 |
| beskrivelse                      | varchar()                        |    50 |
| loensats                         | varchar()                        |    50 |
| flexkrpar                        | float8                           |     8 |
| flextimerpar                     | float8                           |     8 |
| funktionaerloen                  | float8                           |     8 |
+----------------------------------+----------------------------------+-------+
Index:    ut32loen_pkey

>select * from ut32loen;
id|beregnnr|stempling|stemplingstype|beregndato| startdato|   enddato|medarbejder|periodeskema|kommettid|gaaettid|
normtimer|pausetimer|tillaegtimer|
flextimer|akkordtimer|fravaertimer|varseltimer|bonustimer|beskrivelse|loensats|flexkrpar|flextimerpar|funktionaerloen

--+--------+---------+--------------+----------+----------+----------+-----------+------------+---------+--------+----------------+----------+------------+------------------+-----------+------------+-----------+----------+-----------+--------+---------+------------+---------------
27|      19|        0|             0|05-07-1999|04-12-1999|04-12-1999|         87|No          |00:00:00 |00:00:00|
        0|         0|           0|-0.550000000046566|          0|           0|          0|         0|Flex       |No
|        0|           0|              0 
28|      19|     3413|             1|05-07-1999|04-12-1999|04-12-1999|         87|No          |09:07:11
|16:36:36|6.94999999995343|        0|           0|                 0|          0|           0|          0|
0|Normtimer |Løn1    |        0|           0|              0 
(2 rows)

>\q
----------------------------------------------------------------------------------------------


---- ut32loen.sql: ---------------------------------------------------------------------------

CREATE TABLE "ut32loen" (
    "id" int4 DEFAULT nextval('ut32loen_id_seq') NOT NULL,
    "beregnnr" int4,
    "stempling" int4,
    "stemplingstype" int4,
    "beregndato" date,
    "startdato" date,
    "enddato" date,
    "medarbejder" character varying(50),
    "periodeskema" character varying(50),
    "kommettid" character varying(50),
    "gaaettid" character varying(50),
    "normtimer" float8,
    "pausetimer" float8,
    "tillaegtimer" float8,
    "flextimer" float8,
    "akkordtimer" float8,
    "fravaertimer" float8,
    "varseltimer" float8,
    "bonustimer" float8,
    "beskrivelse" character varying(50),
    "loensats" character varying(50),
    "flexkrpar" float8,
    "flextimerpar" float8,
    "funktionaerloen" float8);
COPY "ut32loen" FROM stdin;
27    19    0    0    05-07-1999    04-12-1999    04-12-1999    87    No    00:00:00    00:00:00    0    0    0
-0.550000000046566   0    0    0    0    Flex    No    0    0    0 
28    19    3413    1    05-07-1999    04-12-1999    04-12-1999    87    No    09:07:11    16:36:36    6.94999999995343
  0    0    0    0    0    0    0    Normtimer    Løn1    0    0    0 
\.
CREATE UNIQUE INDEX "ut32loen_pkey" on "ut32loen" using btree ( "id" "int4_ops" );
----------------------------------------------------------------------------------------------

---- psqlodbc_42941....:  ----------------------------------------------------------

conn=80021628, SQLDriverConnect( in)='DSN=ut32_be_p;', fDriverCompletion=1
DSN info: DSN='ut32_be_p',server='ljserv',port='5432',dbase='ut32_be_i',user='cdsinfo',passwd='******'
          readonly='0',protocol='6.4',showoid='1',fakeoidindex='0',showsystable='1'
          conn_settings=''
          translation_dll='',translation_option=''
Global Options: Version='06.40.0006', fetch=100, socket=4096, unknown_sizes=0, max_varchar_size=254,
max_longvarchar_size=8190
                disable_optimizer=1, ksqo=1, unique_index=1, use_declarefetch=1
                text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1
                extra_systable_prefixes='dd_;', conn_settings=''
conn=80021628, query=' '
conn=80021628, query='set DateStyle to 'ISO''
conn=80021628, query='set geqo to 'OFF''
conn=80021628, query='set ksqo to 'ON''
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for select oid from pg_type where typname='lo''
conn=80021628, query='fetch 100 in SQL_CUR04C5413C'
    [ fetched 0 rows ]
conn=80021628, query='close SQL_CUR04C5413C'
conn=80021628, query='END'
conn=80021628,
SQLDriverConnect(out)='DSN=ut32_be_p;DATABASE=ut32_be_i;SERVER=ljserv;PORT=5432;UID=cdsinfo;PWD=******;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=1;ROWVERSIONING=0;SHOWSYSTEMTABLES=1;CONNSETTINGS='
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for SELECT Config, nValue FROM MSysConf'
ERROR from backend during send_query: 'ERROR:  msysconf: Table does not exist.'
conn=80021628, query='ABORT'
STATEMENT ERROR: func=SC_execute, desc='', errnum=1, errmsg='Error while executing the query'
                 ------------------------------------------------------------
                 hdbc=80021628, stmt=80036156, result=0
                 manual_result=0, prepare=0, internal=0
                 bindings=0, bindings_allocated=0
                 parameters=0, parameters_allocated=0
                 statement_type=0, statement='SELECT Config, nValue FROM MSysConf'
                 stmt_with_params='declare SQL_CUR04C5413C cursor for SELECT Config, nValue FROM MSysConf'
                 data_at_exec=-1, current_exec_param=-1, put_data=0
                 currTuple=-1, current_col=-1, lobj_fd=-1
                 maxRows=0, rowset_size=1, keyset_size=0, cursor_type=0, scroll_concurrency=1
                 cursor_name='SQL_CUR04C5413C'
                 ----------------QResult Info -------------------------------
CONN ERROR: func=SC_execute, desc='', errnum=110, errmsg='ERROR:  msysconf: Table does not exist.'
            ------------------------------------------------------------
            henv=81068164, conn=80021628, status=1, num_stmts=16
            sock=81068180, stmts=81068220, lobj_type=-999
            ---------------- Socket Info -------------------------------
            socket=61, reverse=0, errornumber=0, errormsg='(null)'
            buffer_in=80027956, buffer_out=80032056
            buffer_filled_in=3, buffer_filled_out=0, buffer_read_in=2
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select relname, usename, relhasrules from pg_class, pg_user
whererelkind = 'r' and relname !~ '^xinv[0-9]+' and int4out(usesysid) = int4out(relowner)order by relname' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 100 rows ]
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 21 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname,
a.attnum,a.attlen, a.atttypmod, a.attnotnull from pg_user u, pg_class c, pg_attribute a, pg_type t where
int4out(u.usesysid)= int4out(c.relowner) and c.oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname
like'ut32loen' order by attnum' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 24 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A444 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname,
a.attnum,a.attlen, a.atttypmod, a.attnotnull from pg_user u, pg_class c, pg_attribute a, pg_type t where
int4out(u.usesysid)= int4out(c.relowner) and c.oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname
like'ut32loen' order by attnum' 
conn=80021628, query='fetch 100 in SQL_CUR04C7A444'
    [ fetched 24 rows ]
conn=80021628, query='close SQL_CUR04C7A444'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select c.relname, i.indkey, i.indisunique, i.indisclustered
frompg_index i, pg_class c, pg_class d where c.oid = i.indexrelid and d.relname = 'ut32loen' and d.oid = i.indrelid' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 1 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A444 cursor for SELECT "ut32loen"."id" FROM "ut32loen" '
conn=80021628, query='fetch 100 in SQL_CUR04C7A444'
    [ fetched 2 rows ]
conn=80021628, query='close SQL_CUR04C7A444'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A444 cursor for SELECT
"oid","id","beregnnr","stempling","stemplingstype","beregndato","startdato","enddato","medarbejder","periodeskema","kommettid","gaaettid","normtimer","pausetimer","tillaegtimer","flextimer","akkordtimer","fravaertimer","varseltimer","bonustimer","beskrivelse","loensats","flexkrpar","flextimerpar","funktionaerloen"
FROM "ut32loen"  WHERE "id" = 27 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id"
=28 OR "id" = 28 OR "id" = 28' 
conn=80021628, query='fetch 100 in SQL_CUR04C7A444'
    [ fetched 2 rows ]
conn=80021628, query='close SQL_CUR04C7A444'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for SELECT
"oid","id","beregnnr","stempling","stemplingstype","beregndato","startdato","enddato","medarbejder","periodeskema","kommettid","gaaettid","normtimer","pausetimer","tillaegtimer","flextimer","akkordtimer","fravaertimer","varseltimer","bonustimer","beskrivelse","loensats","flexkrpar","flextimerpar","funktionaerloen"
FROM "ut32loen"  WHERE "id" = 27' 
conn=80021628, query='fetch 100 in SQL_CUR04C5413C'
    [ fetched 1 rows ]
conn=80021628, query='close SQL_CUR04C5413C'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='DELETE FROM "ut32loen" WHERE "id" = 27 AND "oid" = 199520 AND "beregnnr" = 19 AND "stempling" = 0
AND"stemplingstype" = 0 AND "beregndato" = '1999-05-07' AND "startdato" = '1999-04-12' AND "enddato" = '1999-04-12' AND
"medarbejder"= '87' AND "periodeskema" = 'No' AND "kommettid" = '00:00:00' AND "gaaettid" = '00:00:00' AND "normtimer"
=0.000000 AND "pausetimer" = 0.000000 AND "tillaegtimer" = 0.000000 AND "flextimer" = -0.550000 AND "akkordtimer" =
0.000000AND "fravaertimer" = 0.000000 AND "varseltimer" = 0.000000 AND "bonustimer" = 0.000000 AND "beskrivelse" =
'Flex'AND "loensats" = 'No' AND "flexkrpar" = 0.000000 AND "flextimerpar" = 0.000000 AND "funktionaerloen" = 0.000000' 
conn=80021628, query='COMMIT'
conn=80021628, SQLDisconnect
----------------------------------------------------------------------------------------------


---- psqlodbc_42942.....: --------------------------------------------------------------------

conn=80021628, SQLDriverConnect( in)='DSN=ut32_be_p;', fDriverCompletion=1
DSN info: DSN='ut32_be_p',server='ljserv',port='5432',dbase='ut32_be_i',user='cdsinfo',passwd='******'
          readonly='0',protocol='6.4',showoid='1',fakeoidindex='0',showsystable='1'
          conn_settings=''
          translation_dll='',translation_option=''
Global Options: Version='06.40.0006', fetch=100, socket=4096, unknown_sizes=0, max_varchar_size=254,
max_longvarchar_size=8190
                disable_optimizer=1, ksqo=1, unique_index=1, use_declarefetch=1
                text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1
                extra_systable_prefixes='dd_;', conn_settings=''
conn=80021628, query=' '
conn=80021628, query='set DateStyle to 'ISO''
conn=80021628, query='set geqo to 'OFF''
conn=80021628, query='set ksqo to 'ON''
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for select oid from pg_type where typname='lo''
conn=80021628, query='fetch 100 in SQL_CUR04C5413C'
    [ fetched 0 rows ]
conn=80021628, query='close SQL_CUR04C5413C'
conn=80021628, query='END'
conn=80021628,
SQLDriverConnect(out)='DSN=ut32_be_p;DATABASE=ut32_be_i;SERVER=ljserv;PORT=5432;UID=cdsinfo;PWD=******;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=1;ROWVERSIONING=1;SHOWSYSTEMTABLES=1;CONNSETTINGS='
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for SELECT Config, nValue FROM MSysConf'
ERROR from backend during send_query: 'ERROR:  msysconf: Table does not exist.'
conn=80021628, query='ABORT'
STATEMENT ERROR: func=SC_execute, desc='', errnum=1, errmsg='Error while executing the query'
                 ------------------------------------------------------------
                 hdbc=80021628, stmt=80036156, result=0
                 manual_result=0, prepare=0, internal=0
                 bindings=0, bindings_allocated=0
                 parameters=0, parameters_allocated=0
                 statement_type=0, statement='SELECT Config, nValue FROM MSysConf'
                 stmt_with_params='declare SQL_CUR04C5413C cursor for SELECT Config, nValue FROM MSysConf'
                 data_at_exec=-1, current_exec_param=-1, put_data=0
                 currTuple=-1, current_col=-1, lobj_fd=-1
                 maxRows=0, rowset_size=1, keyset_size=0, cursor_type=0, scroll_concurrency=1
                 cursor_name='SQL_CUR04C5413C'
                 ----------------QResult Info -------------------------------
CONN ERROR: func=SC_execute, desc='', errnum=110, errmsg='ERROR:  msysconf: Table does not exist.'
            ------------------------------------------------------------
            henv=81068164, conn=80021628, status=1, num_stmts=16
            sock=81068180, stmts=81068220, lobj_type=-999
            ---------------- Socket Info -------------------------------
            socket=61, reverse=0, errornumber=0, errormsg='(null)'
            buffer_in=80027956, buffer_out=80032056
            buffer_filled_in=3, buffer_filled_out=0, buffer_read_in=2
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select relname, usename, relhasrules from pg_class, pg_user
whererelkind = 'r' and relname !~ '^xinv[0-9]+' and int4out(usesysid) = int4out(relowner)order by relname' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 100 rows ]
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 21 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname,
a.attnum,a.attlen, a.atttypmod, a.attnotnull from pg_user u, pg_class c, pg_attribute a, pg_type t where
int4out(u.usesysid)= int4out(c.relowner) and c.oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname
like'ut32loen' order by attnum' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 24 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A5A0 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname,
a.attnum,a.attlen, a.atttypmod, a.attnotnull from pg_user u, pg_class c, pg_attribute a, pg_type t where
int4out(u.usesysid)= int4out(c.relowner) and c.oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname
like'ut32loen' order by attnum' 
conn=80021628, query='fetch 100 in SQL_CUR04C7A5A0'
    [ fetched 24 rows ]
conn=80021628, query='close SQL_CUR04C7A5A0'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C64208 cursor for select c.relname, i.indkey, i.indisunique, i.indisclustered
frompg_index i, pg_class c, pg_class d where c.oid = i.indexrelid and d.relname = 'ut32loen' and d.oid = i.indrelid' 
conn=80021628, query='fetch 100 in SQL_CUR04C64208'
    [ fetched 1 rows ]
conn=80021628, query='close SQL_CUR04C64208'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A5A0 cursor for SELECT "ut32loen"."id" FROM "ut32loen" '
conn=80021628, query='fetch 100 in SQL_CUR04C7A5A0'
    [ fetched 2 rows ]
conn=80021628, query='close SQL_CUR04C7A5A0'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C7A5A0 cursor for SELECT
"oid","id","beregnnr","stempling","stemplingstype","beregndato","startdato","enddato","medarbejder","periodeskema","kommettid","gaaettid","normtimer","pausetimer","tillaegtimer","flextimer","akkordtimer","fravaertimer","varseltimer","bonustimer","beskrivelse","loensats","flexkrpar","flextimerpar","funktionaerloen","xmin"
FROM "ut32loen"  WHERE "id" = 27 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id" = 28 OR "id"
=28 OR "id" = 28 OR "id" = 28' 
conn=80021628, query='fetch 100 in SQL_CUR04C7A5A0'
    [ fetched 2 rows ]
conn=80021628, query='close SQL_CUR04C7A5A0'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='declare SQL_CUR04C5413C cursor for SELECT
"oid","id","beregnnr","stempling","stemplingstype","beregndato","startdato","enddato","medarbejder","periodeskema","kommettid","gaaettid","normtimer","pausetimer","tillaegtimer","flextimer","akkordtimer","fravaertimer","varseltimer","bonustimer","beskrivelse","loensats","flexkrpar","flextimerpar","funktionaerloen","xmin"
FROM "ut32loen"  WHERE "id" = 27' 
conn=80021628, query='fetch 100 in SQL_CUR04C5413C'
    [ fetched 1 rows ]
conn=80021628, query='close SQL_CUR04C5413C'
conn=80021628, query='END'
conn=80021628, query='BEGIN'
conn=80021628, query='DELETE FROM "ut32loen" WHERE "id" = 27 AND "xmin" = 115514'
ERROR from backend during send_query: 'ERROR:  There is more than one possible operator '=' for types 'xid' and 'int4'
    You will have to retype this query using an explicit cast'
conn=80021628, query='ABORT'
STATEMENT ERROR: func=SC_execute, desc='', errnum=1, errmsg='Error while executing the query'
                 ------------------------------------------------------------
                 hdbc=80021628, stmt=80259088, result=0
                 manual_result=0, prepare=0, internal=0
                 bindings=0, bindings_allocated=0
                 parameters=80168644, parameters_allocated=2
                 statement_type=3, statement='DELETE FROM "ut32loen" WHERE "id" = ? AND "xmin" = ?'
                 stmt_with_params='DELETE FROM "ut32loen" WHERE "id" = 27 AND "xmin" = 115514'
                 data_at_exec=-1, current_exec_param=-1, put_data=0
                 currTuple=-1, current_col=-1, lobj_fd=-1
                 maxRows=0, rowset_size=1, keyset_size=0, cursor_type=0, scroll_concurrency=1
                 cursor_name='SQL_CUR04C8A810'
                 ----------------QResult Info -------------------------------
CONN ERROR: func=SC_execute, desc='', errnum=110, errmsg='ERROR:  There is more than one possible operator '=' for
types'xid' and 'int4' 
    You will have to retype this query using an explicit cast'
            ------------------------------------------------------------
            henv=81068164, conn=80021628, status=1, num_stmts=16
            sock=81068180, stmts=81068220, lobj_type=-999
            ---------------- Socket Info -------------------------------
            socket=61, reverse=0, errornumber=0, errormsg='(null)'
            buffer_in=80027956, buffer_out=80032056
            buffer_filled_in=3, buffer_filled_out=0, buffer_read_in=2
conn=80021628, SQLDisconnect
----------------------------------------------------------------------------------------------

В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [INTERFACES] SPI_exec vs. CREATE/DROP RULE
Следующее
От: Colin McCormack
Дата:
Сообщение: New asynchronous tcl postgresql interface