Re: How to keep format of views source code as entered?

Поиск
Список
Период
Сортировка
От Tim.Colles@ed.ac.uk
Тема Re: How to keep format of views source code as entered?
Дата
Msg-id alpine.DEB.2.22.394.2101080936160.195497@corona
обсуждение исходный текст
Ответ на Re: How to keep format of views source code as entered?  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
Список pgsql-general
On Fri, 8 Jan 2021, Karsten Hilbert wrote:

> Am Fri, Jan 08, 2021 at 08:38:29AM +0000 schrieb Markhof, Ingolf:
>
>> I am really surprised that PostgreSQL is unable to keep the
>> source text of a view. Honestly, for me the looks like an
>> implementation gap. Consider software development. You are
>> writing code in C++ maybe on a UNIX host. And whenever you
>> feed you source code into the compiler, it will delete it,
>> keeping the resulting executable, only.
>
> You expect the compiler to keep your source code for you ?
>
> Most certainly, PostgreSQL does not delete your view source
> code, just as the compiler does.
>
> I am not so sure that analogy holds up.
>

The SQL-92 standard requires the source text of a view to be held in
order to provide the "information_schema" "view definition" column which
"contains a representation of the view descriptors” - to me though it is
open to interpretation what that actually means. MariaDB, like
PostgreSQL, does not not store an exact copy of the view source either.

The SQL-92 standard is completely explicit about column expansion: “NOTE
13: Any implicit column references that were contained in the <query
expression> associated with the <view definition> are replaced by
explicit column references in VIEW_DEFINITION.” - so any view definition
that is stored, solely for the purposes of standard compliance, will at
a minimum have to differ from the original source if the source had any
implicit column references (and by association table references as well
I assume).

Arguably if PostgreSQL held an exact copy of the view definition (except
for alterations under Note 13 above) then it should also store exact
copies of other pre-parsed objects, such as DEFAULT on table columns and
WITH on trigger clauses, in order to be useful under the OP's context.

See also:

http://www.postgresql-archive.org/idea-storing-view-source-in-system-catalogs-td1987401.html
http://www.postgresql-archive.org/Preserving-the-source-code-of-views-td5775163.html
-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.




В списке pgsql-general по дате отправления:

Предыдущее
От: Thomas Kellerer
Дата:
Сообщение: Suggestion: provide a "TRUNCATE PARTITION" command
Следующее
От: M Tarkeshwar Rao
Дата:
Сообщение: RE: Autovacuum not functioning for large tables but it is working for few other small tables.