ID:               41837
 Updated by:       [EMAIL PROTECTED]
 Reported By:      zolv at t-k dot pl
-Status:           Open
+Status:           Feedback
 Bug Type:         PDO related
 Operating System: Linux Gentoo x86_64
 PHP Version:      5.2.3
 New Comment:

Doesn't work? Exception? Could you please be more specific? 
Don't forget to paste all error messages you see.


Previous Comments:
------------------------------------------------------------------------

[2007-06-28 09:16:32] zolv at t-k dot pl

Description:
------------
when i use PDO with Postgresql and  use  transactions with
'SET CONSTRAINTS ALL DEFERRED' PDO throws exception on inserts that
works perfectly when i dont use PDO, but pg_connect and pg_query

Reproduce code:
---------------
example sql:

create table  obiekt_c4 (
    id serial NOT NULL,
    name varchar(255),
    PRIMARY KEY (id)
);


create table  obiekt_a4 (
    id serial NOT NULL,
    name varchar(255),
    obiekt_c4_id integer REFERENCES obiekt_c4( id ) DEFERRABLE,
    PRIMARY KEY (id)
);

----------------------
bellow code showing what i try do do:


$DB = new PDO('pgsql:host=localhost;dbname=atoncd_test', 'atoncd',
'atoncd');
$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$DB->beginTransaction();
$DB->exec( 'SET CONSTRAINTS ALL DEFERRED' );

$fields = 
        'id, '.
        'name, '.
        'obiekt_c4_id';

$inspoints = 
        ':id, '.
        ':name, '.
        ':obiekt_c4_id';

$q = sprintf( 'INSERT INTO "%s" ( %s ) VALUES ( %s )',
self::TABLE_NAME_OBIEKT_A4, $fields, $inspoints );

$stmt = $DB->prepare($q);
$stmt -> bindValue( ':id',            1, PDO::PARAM_INT );
$stmt -> bindValue( ':name',          'my id is 1',  PDO::PARAM_STR );
$stmt -> bindValue( ':obiekt_c4_id',  999,    PDO::PARAM_INT );
$stmt -> execute();

$DB->commit();


Expected result:
----------------
Exception should be thrown on  '$DB->commit()'

Actual result:
--------------
Exception is thrown on '$stmt -> execute()', so '$DB->exec( 'SET
CONSTRAINTS ALL DEFERRED' );' doesnt work :(


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=41837&edit=1

Reply via email to