On Tue, 12 Aug 2003, sla-net wrote:
> Hi everybody
>
> It's my first post here, so be indulgent ;)
>
> Just to confirm : if i do
>
> $sql1='insert into "Enfant" ("NomEnfant","PrenomEnfant") VALUES
> ('.$NomEnfant.','.$PrenomEnfant.')
>
> $sql2='insert into "IndividuEnfant" ("IdIndividu","IdEnfant") VALUES
> ('.$IdIndividu.',currval(\'"Enfant_Seq"\'));
>
> $sql=$sql1.$sql2;
>
> $Res=pg_query($sql);
>
> so 2 query concatenation a a only one, send to postgress database : is it
> EXACTLY the same thing than a classic transaction with a begin and a commit
> or rollback ?
>
> Tcks, it's just i dont want to write everything again in 6 months.....
It may act like it, but I'm not sure it's a gauranteed way of things
working in the future. It's better to just issue a begin and commit pair
around things if you want to be sure they're transactions. psql does not
wrap them together, so I'm betting this behaviour is specific to the way
PHP is currently implemented.
> PS : why limitation to 8 patrameters in stored procedures ??????
That's a fairly old limit (pre 7.2 I think). It can be changed at compile
time, but requires a pg_dump / initdb / pg_restore (i.e. if you do it with
your database in place, it will stop working.) I think the new default is
16 as of 7.2 or 7.3.