On Tue, Mar 10, 2026 at 12:19 PM Nico Williams <[email protected]>
wrote:

> On Tue, Mar 10, 2026 at 09:23:50AM -0400, Robert Haas wrote:
> >                        [...]. The example that started this thread is
> > essentially unpreventable, because we need CREATE FUNCTION to be
> > possible and we need the superuser to tell us what the C code is
> > expecting, but the number of people who go tinkering with catalog
> > contents manually without fully understanding the consequences seems
> > to be much larger than I would have thought, even if the tinkering is
> > usually less dramatic than this example.
>
> If DWARF is available you could always get the C function's
> prototype from that, and sanity-check it.  But DWARF really bloats
> shared objects, and it's not universal, so it's not a good solution.
>
> C is just a crappy language.  You play with fire, you best know what
> you're doing -- that's a reasonable policy.  And since PG is written in
> C, and users do have C-coded extensions here and there, playing with
> fire has to be supported.
>

I'm really tired of "C" bashing. The C programming language is a tool.
Effective and powerful tools can be dangerous, but the productivity is
worth it. The problem isn't the "C" language, it is with people who try to
program in C but do not know C.

>
> It'd be clever if there was at least a standard for a subset of DWARF
> that provides just the types information (but not, e.g., stack
> unwinding) so that we could have some sort of standard reflection
> support in C.  That would be for the C standards committee.
>

Why do we need that?



> Nico
> --
>
>
>

Reply via email to