Thread: Move the "DR_intorel" struct to a more suitable position

Move the "DR_intorel" struct to a more suitable position

From
"zk.wang"
Date:
Generally, we should define struct in the header file(.h). But I found struct "DR_intorel" in createas.c and it doesn't seem to be properly defined. May be it should define in createas.h.
Besides, this is my first contribution. If there are any submitted questions, please let me know. Thank you~ :)
Attachment

Re: Move the "DR_intorel" struct to a more suitable position

From
Andres Freund
Date:
Hi,

On March 15, 2022 8:16:58 PM PDT, "zk.wang" <zackery.wang@qq.com> wrote:
>Generally, we should define struct in the header file(.h).

Why? It's perfectly sensible to define types in .c files when they're not used elsewhere.

Greetings,

Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: Move the "DR_intorel" struct to a more suitable position

From
Julien Rouhaud
Date:
Hi,

On Wed, Mar 16, 2022 at 11:16:58AM +0800, zk.wang wrote:
> Generally, we should define struct in the header file(.h). But I found struct
> "DR_intorel" in createas.c and it doesn't seem to be properly defined. May be
> it should define in createas.h.

We put struct declarations in header files when multiple other files needs to
know about it.  For DR_intorel it's a private struct that isn't needed outside
createas.c, so it's defined in the file.  You can find a lot of similar usage
in the source.

> Besides, this is my first
> contribution. If there are any submitted questions, please let me know.
> Thank you~ :)

Welcome!  For the record, it's usually better to provide a patch.  You can
refer to https://wiki.postgresql.org/wiki/Submitting_a_Patch for more
information.