* Grzegorz JaÅkiewicz: > 2010/11/24 Florian Weimer <fweimer@xxxxxx>: >> * Grzegorz JaÅkiewicz: >> >>> just never use SELECT *, but always call columns by names. You'll >>> avoid having to depend on the order of columns, which is never >>> guaranteed, even if the table on disk is one order, the return columns >>> could be in some other. >> >> This can't be true because several SQL features rely on deterministic >> column order. ÂHere's an example: >> >> SELECT 1 AS a, 2 AS b UNION SELECT 3 AS b, 4 AS a; >> >> Âa | b >> ---+--- >> Â1 | 2 >> Â3 | 4 >> (2 rows) > Yes, most DBs do a good job to keep it consistent, but they don't have > to. So unless you specify column names explicitly (like you did in the > example above), there's no guarantees. If the database looked at the column names, the result would be (1, 2), (4, 3), not (1, 2), (3, 4). -- Florian Weimer <fweimer@xxxxxx> BFK edv-consulting GmbH http://www.bfk.de/ KriegsstraÃe 100 tel: +49-721-96201-1 D-76133 Karlsruhe fax: +49-721-96201-99 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general