Thread: what gives: SELECT INVALID SELECT STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE

what gives: SELECT INVALID SELECT STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE

From
"Richard Broersma"
Date:
Server logs below.  Notice how an error raised in a connection to the
proj02u20411 database forces the transaction in the instrumentation
database to rollback.
Can anyone explain why connections that as far as PG should conserned
are unrelated are actually interferring with one another?
--------------------------------------------------------------------------------

2008-06-10 15:04:51instrumentation LOG:  statement:
                  BEGIN;
                  INSERT INTO Dev.Tagables( devicecode )
                         VALUES ( E'PROCESS SWITCH' )
                    RETURNING tagableid;
2008-06-10 15:04:52instrumentation LOG:  statement:
                  INSERT INTO Dev.Instrumentassemblies( partnbr,
                                             equipmentnbr, tagableid,
                                             devicecode, manufacture,
                                             fundedby, purchasedby )
                        VALUES( E'1140-181-201-D', E'RW-0184-402.02',
                                       1, E'PROCESS SWITCH',
                                       E'HAMON RESEARCH COTTRELL',
                                       E'02U20410', NULL );
2008-06-10 15:04:52instrumentation LOG:  statement:
                  INSERT INTO Dev.SignalingDevices( tagableid, devicecode )
                        VALUES( 1, E'PROCESS SWITCH' );
2008-06-10 15:04:52instrumentation LOG:  statement:
                  INSERT INTO Dev.Switches( tagableid, devicecode )
                        VALUES( 1, E'PROCESS SWITCH' );
2008-06-10 15:04:52instrumentation LOG:  statement:
                  INSERT INTO Dev.Loopcontainment( endprojectnbr, area,
                                             pcode, loopnbr, loopsuf,
                                             tagableid, instrumentcode,
                                             instrumentsuff, startprojectnbr )
                  VALUES( E'AS-BUILT', 84, E'L', 3117, E'', 1, E'LSL',
                                 E'', E'02U20410' );
2008-06-10 15:04:52instrumentation LOG:  statement:
                  INSERT INTO Dev.Tags( instrumentcode, instrumentsuff,
                                                      area, loopnbr, hasbackup,
                                                      endprojectnbr,
"p&idsection" )
                  VALUES( E'LSL', E'', 84, 3117, '0', E'AS-BUILT', 14 );
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                  SELECT "rid" ,"mid" ,"pid"
                     FROM "dev"."rtl_tagnr_mat_purch"
                  WHERE ("rid" = NULL)
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                  SELECT "itid" ,"itcode"
                    FROM "dev"."insttype"
                 WHERE ("itid" = 58)
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                  SELECT "vid" ,"name"
                     FROM "dev"."vendor"
                  WHERE ("vid" = NULL)
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                  SELECT "cid" ,"designation"
                     FROM "equ"."component" "CA"
                  WHERE ("cid" = NULL)
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                  SELECT "sid" ,"sectno"
                     FROM "docs"."section"
                  WHERE ("sid" = 40)
2008-06-10 15:04:52proj02u20411 LOG:  statement:
                 SELECT "cid" ,"designation"
                    FROM "equ"."component" "CB"
                 WHERE ("cid" = NULL)
2008-06-10 15:04:52instrumentation ERROR:  syntax error at or near
"SELECT" at character 16
2008-06-10 15:04:52instrumentation STATEMENT:  SELECT INVALID SELECT
STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE
2008-06-10 15:04:52instrumentation LOG:  statement: ROLLBACK

--
Regards,
Richard Broersma Jr.

Visit the Los Angles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug

Richard Broersma wrote:
> Server logs below.  Notice how an error raised in a connection to the
> proj02u20411 database forces the transaction in the instrumentation
> database to rollback.
> Can anyone explain why connections that as far as PG should conserned
> are unrelated are actually interferring with one another?

I don't see any errors on proj...

> --------------------------------------------------------------------------------
[snip]
> 2008-06-10 15:04:52instrumentation ERROR:  syntax error at or near
> "SELECT" at character 16
> 2008-06-10 15:04:52instrumentation STATEMENT:  SELECT INVALID SELECT
> STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE
> 2008-06-10 15:04:52instrumentation LOG:  statement: ROLLBACK

That appears to be a deliberate bad query issued by something (above the
odbc layer?). I think you've got something sending "SELECT INVALID
SELECT STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE" as a query to
force a rollback. Why it's not just sending "ROLLBACK" I don't know.

--
   Richard Huxton
   Archonet Ltd

On Wed, Jun 11, 2008 at 12:07 AM, Richard Huxton <dev@archonet.com> wrote:

>> 2008-06-10 15:04:52instrumentation ERROR:  syntax error at or near
>> "SELECT" at character 16
>> 2008-06-10 15:04:52instrumentation STATEMENT:  SELECT INVALID SELECT
>> STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE
>> 2008-06-10 15:04:52instrumentation LOG:  statement: ROLLBACK
>
> That appears to be a deliberate bad query issued by something (above the
> odbc layer?). I think you've got something sending "SELECT INVALID SELECT
> STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE" as a query to force a
> rollback. Why it's not just sending "ROLLBACK" I don't know.

I see that makes sense.  At least knowing this will help me to trouble
shoot where to go from here.


--
Regards,
Richard Broersma Jr.

Visit the Los Angles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug