Ah, I see what you mean. You still have to wrap a CTE inside a transaction to 
specify the isolation level? By default, queries in a CTE run with the read 
committed isolation level?

> On Apr 1, 2021, at 11:10 PM, Dave Cramer <davecramer@postgres.rocks> wrote:
> 
> 
> 
> 
>> On Thu, 1 Apr 2021 at 11:09, Glen Huang <hey...@gmail.com> wrote:
>> No, but are they equivalent to serializable transactions?
> 
> No, they are not. 
> 
> 
> 
> Dave Cramer
> www.postgres.rocks
>> 
>>>> On Apr 1, 2021, at 11:04 PM, Dave Cramer <davecramer@postgres.rocks> wrote:
>>>> 
>>> 
>>> 
>>> 
>>> 
>>>> On Thu, 1 Apr 2021 at 10:50, Glen Huang <hey...@gmail.com> wrote:
>>>> Hi all,
>>>> 
>>>> From application’s standpoint, it seems using CTE saves a lot work. You no 
>>>> longer need to parse values out only to pass them back in, and only one 
>>>> round-trip to the db server.
>>>> 
>>>> If I’m not wrong, CTE is equivalent to serializable transactions? So I 
>>>> guess the downsize is that quarries can’t be run in parallel?
>>> 
>>> I do not think a CTE changes the isolation level. 
>>>> 
>>>> If I decide to replace all my transaction code with CTE, will I shoot 
>>>> myself in the foot down the road?
>>> 
>>> 
>>> Dave Cramer
>>> www.postgres.rocks 

Reply via email to