Re: Is this typical psqlodbc behavior? - Mailing list pgsql-odbc
From | Inoue, Hiroshi |
---|---|
Subject | Re: Is this typical psqlodbc behavior? |
Date | |
Msg-id | 52A65ADA.7090008@tpf.co.jp Whole thread Raw |
In response to | Is this typical psqlodbc behavior? ("Mike Landl" <mlandl@4glsol.com>) |
Responses |
Re: Is this typical psqlodbc behavior?
|
List | pgsql-odbc |
(2013/12/10 0:07), Mike Landl wrote: > Hi there, > > I am trying to figure out if the behavior below is something that > psqlodbc is doing automatically of if there is something else at play. > > The programming language I am using to access PostgreSQL is a high level > 4^th generation language called ProIV and I believe it is doing strange > and/or unnecessary things behind the scenes. When I run a simple query > (SELECT CUSTOMER_BILL_TO,CUSMS_BILL_NAME FROM CUS_MST WHERE > CUSTOMER_BILL_TO='00000675';) against PostgreSQL the following shows up > in the PostgreSQL log file: > > LOG: statement: SAVEPOINT _EXEC_SVP_0x1b42080 > > LOG: duration: 0.017 ms > > LOG: statement: select n.nspname, c.relname, a.attname, a.atttypid, > t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull, c.relhasrules, > c.relkind, c.oid, pg_get_expr(d.adbin, d.adrelid), case t.typtype when > 'd' then t.typbasetype else 0 end, t.typtypmod, c.relhasoids from > (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = > c.relnamespace and c.oid = 481563) inner join pg_catalog.pg_attribute a > on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner > join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join > pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = > a.attnum order by n.nspname, c.relname, attnum > > LOG: duration: 2.487 ms > > LOG: statement: RELEASE _EXEC_SVP_0x1b42080 > > LOG: duration: 0.034 ms > > LOG: statement: PREPARE "_KEYSET_0x1af2180"(tid,tid) as SELECT > CUSTOMER_BILL_TO,CUSMS_BILL_NAME , "ctid" FROM CUS_MST where ctid in > ($1,$2) > > LOG: duration: 0.089 ms > > LOG: statement: SAVEPOINT _per_query_svp_;DEALLOCATE > "_KEYSET_0x1af2180";RELEASE _per_query_svp_ > > LOG: duration: 0.027 ms > > LOG: statement: SAVEPOINT _per_query_svp_;select relhasoids, c.oid from > pg_class c, pg_namespace n where relname = 'cus_mst' and nspname = > 'public' and c.relnamespace = n.oid;RELEASE _per_query_svp_ > > LOG: duration: 0.180 ms > > LOG: statement: SAVEPOINT _per_query_svp_;select a.attname, a.atttypid > from pg_index i, pg_attribute a where indrelid=481563 and indnatts=1 and > indisunique and indexprs is null and indpred is null and i.indrelid = > a.attrelid and a.attnum=i.indkey[0] and attnotnull and atttypid in (23, > 26);RELEASE _per_query_svp_ > > LOG: duration: 0.246 ms > > LOG: statement: SELECT CUSTOMER_BILL_TO,CUSMS_BILL_NAME , "ctid" FROM > CUS_MST WHERE CUSTOMER_BILL_TO='00000675' > > LOG: duration: 0.100 ms > > LOG: statement: SAVEPOINT _EXEC_SVP_0x1af2180 > > LOG: duration: 0.018 ms > > LOG: statement: select n.nspname, c.relname, a.attname, a.atttypid, > t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull, c.relhasrules, > c.relkind, c.oid, pg_get_expr(d.adbin, d.adrelid), case t.typtype when > 'd' then t.typbasetype else 0 end, t.typtypmod, c.relhasoids from > (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = > c.relnamespace and c.oid = 481563) inner join pg_catalog.pg_attribute a > on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner > join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join > pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = > a.attnum order by n.nspname, c.relname, attnum > > LOG: duration: 2.412 ms > > LOG: statement: RELEASE _EXEC_SVP_0x1af2180 > > LOG: duration: 0.020 ms > > What I am wondering are 2 things: > > 1.Are the savepoints something that the odbc driver is automatically > creating or could it be the programming language be adding additional > things to my query? Psqlodbc driver does it. You can avoid the behavior using the driver option setting or connection string. > 2.Is the odbc driver automatically reading pg_class, pg_catalog, etc. or > again, could it be the programming language adding additional queries > behind the scenes? Psqlodbc driver does it. regards, Hiroshi Inoue -- I am using the free version of SPAMfighter. SPAMfighter has removed 1065 of my spam emails to date. Get the free SPAMfighter here: http://www.spamfighter.com/len Do you have a slow PC? Try a Free scan http://www.spamfighter.com/SLOW-PCfighter?cid=sigen
pgsql-odbc by date: