Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Vitalii Tymchyshyn
There is switch-like sql case: 39.6.2.4. Simple CASE CASE search-expression WHEN expression [, expression [ ... ]] THEN statements [ WHEN expression [, expression [ ... ]] THEN statements ... ] [ ELSE statements ] END CASE; It should work like C switch statement. Al

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Vitalii Tymchyshyn
BTW: If "select count(*) from new" is fast, you can even choose the strategy in trigger depending on insert size. 2012/12/28 Vitalii Tymchyshyn > There is switch-like sql case: > 39.6.2.4. Simple CASE > > CASE search-expression > WHEN expression [, expression [ ... ]] THEN > statement

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Stephen Frost
Vitalii, * Vitalii Tymchyshyn (tiv...@gmail.com) wrote: > There is switch-like sql case: [...] > It should work like C switch statement. It does and it doesn't. It behaves generally like a C switch statement, but is much more flexible and therefore can't be optimized like a C switch statement ca

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Pavel Stehule
Hello > > Also, for bulk insert, have you tried "for each statement" triggers instead > of "for each row"? > This would look like a lot of inserts and would not be fast in > single-row-insert case, but can give you benefit for huge inserts. > It should look like > insert into quotes_2012_09_10 sel

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Vitalii Tymchyshyn
Why so? Basic form "case lvalue when rvalue then out ... end" is much like switch. The "case when condition then out ... end" is different, more complex beast, but first one is essentially a switch. If it is now trnasformed into "case when lvalue = rvalue1 then out1 when lvalue=rvalue2 then out2 ..

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Vitalii Tymchyshyn
It's a pity. Why does not it listed in "Compatibility" section of create trigger documentation? I think, this makes "for each statement" triggers not compatible with SQL99. 2012/12/28 Pavel Stehule > Hello > > > > > Also, for bulk insert, have you tried "for each statement" triggers > instead >

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Pavel Stehule
2012/12/28 Vitalii Tymchyshyn : > Why so? Basic form "case lvalue when rvalue then out ... end" is much like > switch. > The "case when condition then out ... end" is different, more complex beast, > but first one is essentially a switch. If it is now trnasformed into > "case when lvalue = rvalue1

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Jeff Janes
On Friday, December 28, 2012, Vitalii Tymchyshyn wrote: > There is switch-like sql case: > 39.6.2.4. Simple CASE > > CASE search-expression > WHEN expression [, expression [ ... ]] THEN > statements > [ WHEN expression [, expression [ ... ]] THEN > statements > ... ] > [ EL

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Stephen Frost
2012/12/28 Vitalii Tymchyshyn : > Why so? Basic form "case lvalue when rvalue then out ... end" is much like > switch. Sorry, to be honest, I missed that distinction and didn't expect that to work as-is, yet apparently it does. Does it currently perform the same as an if/elsif tree or is it imple

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Stephen Frost
* Jeff Janes (jeff.ja...@gmail.com) wrote: > I had thought that too, but the catch is that the target expressions do not > need to be constants when the function is created. Indeed, they can even > be volatile. Right, any optimization in this regard would only work in certain instances- eg: when

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Pavel Stehule
2012/12/28 Stephen Frost : > 2012/12/28 Vitalii Tymchyshyn : >> Why so? Basic form "case lvalue when rvalue then out ... end" is much like >> switch. > > Sorry, to be honest, I missed that distinction and didn't expect that to > work as-is, yet apparently it does. Does it currently perform the sam

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Jeff Janes
On Thursday, December 20, 2012, Scott Marlowe wrote: > > 3: Someone above mentioned rules being faster than triggers. In my > experience they're WAY slower than triggers but maybe that was just on > the older pg versions (8.3 and lower) we were doing this on. I'd be > interested in seeing some b

RES: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Luciano Ernesto da Silva
UNSUBSCRIBE De: pgsql-performance-ow...@postgresql.org [mailto:pgsql-performance-ow...@postgresql.org] Em nome de Jeff Janes Enviada em: sexta-feira, 28 de dezembro de 2012 14:31 Para: Scott Marlowe Cc: Tom Lane; Charles Gomes; Ondrej Ivanič; pgsql-performance@postgresql.org Assunto: Re: [PERF

Re: [PERFORM] Performance on Bulk Insert to Partitioned Table

2012-12-28 Thread Pavel Stehule
Hello 2012/12/28 Luciano Ernesto da Silva : > UNSUBSCRIBE > > > > De: pgsql-performance-ow...@postgresql.org > [mailto:pgsql-performance-ow...@postgresql.org] Em nome de Jeff Janes > Enviada em: sexta-feira, 28 de dezembro de 2012 14:31 > Para: Scott Marlowe > Cc: Tom Lane; Charles Gomes; Ondrej I