>
>
>
>
>     /*
>      * For indexes, we follow what do_analyze_rel() does so as to avoid any
>      * deadlocks with analyze/vacuum, which is to take out a
>      * ShareUpdateExclusive on table/matview first and only after that take
>      * a a AccessShareLock on the index itself.
>      */
> there are two "a a".
>
>
>  #include "access/relation.h"
> +#include "c.h"
> +#include "catalog/pg_class_d.h"
>  #include "catalog/pg_database.h"
> +#include "catalog/index.h"
> +#include "storage/lockdefs.h"
> +#include "storage/lmgr.h"
>  #include "utils/acl.h"
> +#include "utils/lsyscache.h"
>  #include "utils/rel.h"
> +#include "utils/syscache.h"
>
> +#include "c.h", no need. since we have "postgres.h"
> +#include "storage/lockdefs.h" no need. because #include
> "storage/lmgr.h" already have it.
> +#include "utils/syscache.h" no need. because get_rel_relkind is in
> ``#include "utils/lsyscache.h"``
>
>
> in pg_class.h we have
> #include "catalog/pg_class_d.h" /* IWYU pragma: export */
> if i read
>
> https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-export
> correctly.
> here
> +#include "catalog/pg_class_d.h"
> should be
> +#include "catalog/pg_class.h"
>

Sorry about that, my nvim config is auto-including stuff and it's annoying.

Reply via email to