Thread: enabling join_collapse_limit for a single query only

enabling join_collapse_limit for a single query only

From
groovefillet@gmail.com
Date:
Hi there,

Is it possible to set the runtime parameter 'join_collapse_limit' for
a single query only without setting/unsetting it before/after?

Thanks,
matt

Re: enabling join_collapse_limit for a single query only

From
"Albe Laurenz"
Date:
groovefillet wrote:
> Is it possible to set the runtime parameter 'join_collapse_limit' for
> a single query only without setting/unsetting it before/after?

Yes:

START TRANSACTION;

SET LOCAL join_collapse_limit = 42;

SELECT .....

COMMIT;

Yours,
Laurenz Albe

Re: enabling join_collapse_limit for a single query only

From
Matt Harrison
Date:
Hi, and thanks for the reply.

We're issuing queries from within our application where transactions
span a whole unit of work, so wrapping a single query in a transaction
just to set the param isn't really feasible except on a separate
connection, which i am loathe to do.

I was really hoping to be able to set join_collapse_limit=1 *just* on
the single query, as a kind of query hint, eg:

/* !hint:join_collapse_limit=1  */ SELECT ...

I take it this is this not possible in postgres?

cheers,
Matt h

On 23/07/2009, at 09:50, Albe Laurenz wrote:

> groovefillet wrote:
>> Is it possible to set the runtime parameter 'join_collapse_limit' for
>> a single query only without setting/unsetting it before/after?
>
> Yes:
>
> START TRANSACTION;
>
> SET LOCAL join_collapse_limit = 42;
>
> SELECT .....
>
> COMMIT;
>
> Yours,
> Laurenz Albe