On Tuesday, July 2, 2019, PG Bug reporting form <
noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 15882
Logged by: Vincenzo Campanella
Email address: v.campanella47@gmail.com
PostgreSQL version: 11.4
Operating system: windows 10 build 1903
Description:
cSelect = "select 1 as prog,sum(imp_asl) as Importo_Asl,Count(Arc_Ref.n_Rif)
as nRicette,sum(n_Pre) as nPrelievi " +
"from " + MyFunc.cSchema + "Arc_Ref " +
"where data >= '" + cAnno + "-01-01' and data <= '" + cAnno +
"-01-31' and T_MPR='M' " +
"union all " +
"select 2 as prog,sum(imp_asl) as Importo_Asl,Count(Arc_Ref.n_Rif)
as nRicette,sum(n_Pre) as nPrelievi " +
"from " + MyFunc.cSchema + "Arc_Ref " +
"where data >= '" + cAnno + "-02-01' and data <= '" + cAnno +
"-02-" + MyFunc.Ultimo_Giorno_Mese(2, Converti.ToInt32(cAnno)) + "' and
T_MPR='M' " +
[...]
This produces an unordered but random table.
unordered but random?
I put the prog field and then make the ascending order on this field.
In previous versions the order was in the typed sequence.
I too would expect the unioned rows to be produced in the order listed but this is not bug because the only way PostgreSQL is required to maintain record order in a query is if you specify an order by clause.
It occurs to me you are likely benefitting from the new parallel query infrastructure here.
David J.