Обсуждение: concatenation = = transaction ?????

Поиск
Список
Период
Сортировка

concatenation = = transaction ?????

От
"sla-net"
Дата:
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.....

S.L.

PS : why limitation to 8 patrameters in stored procedures ??????


Re: concatenation = = transaction ?????

От
"sla-net"
Дата:
> >PS : why limitation to 8 patrameters in stored procedures ??????
> >
> >
> What version of pgSQL are you running? I believe the newer versions
> support up to 32 parameters.

7.3.3

Stef

Re: concatenation = = transaction ?????

От
"scott.marlowe"
Дата:
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.




Re: concatenation = = transaction ?????

От
"scott.marlowe"
Дата:
On Tue, 12 Aug 2003, sla-net wrote:

> > >PS : why limitation to 8 patrameters in stored procedures ??????
> > >
> > >
> > What version of pgSQL are you running? I believe the newer versions
> > support up to 32 parameters.
>
> 7.3.3

P.s. I misquoted, I think 16 is the new standard.

32 is the new maximum number of columns in a multi-key index.