Re: Violation of principle that plan trees are read-only
От | Nico Williams |
---|---|
Тема | Re: Violation of principle that plan trees are read-only |
Дата | |
Msg-id | aCzpi+c+tUNM4z4q@ubby обсуждение исходный текст |
Ответ на | Violation of principle that plan trees are read-only (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Violation of principle that plan trees are read-only
|
Список | pgsql-hackers |
On Mon, May 19, 2025 at 08:41:06AM -0400, Isaac Morland wrote: > I assume this question has an obvious negative answer, but why can't we > attach const declarations to the various structures that make up the plan > tree (at all levels, all the way down)? I know const doesn't actually > prevent a value from changing, but at least the compiler would complain if > code accidentally tried. What you want is for C to have a type attribute that denotes immutability all the way down. `const` doesn't do that. One thing that could be done is to write a utility that creates const-all-the-way-down clones of given types, but such a tool can't be written as C pre-processor macros -- it would have to be a tool that parses the actual type definitions, or uses DWARF or similar to from the compilation of a file (I've done this latter before, but this weds you to compilers that output DWARF, which MSVC doesn't, for example). Really, the C committee ought to add this at some point, darn it. It would be the opposite of Rust's &mut. Nico --
В списке pgsql-hackers по дате отправления: