pg-redis-fdw / redis_fdw

A PostgreSQL foreign data wrapper for Redis
494 stars 68 forks source link

GCC 10.2.1 + PostgreSQL 13 warnings #36

Open mkgrgis opened 1 year ago

mkgrgis commented 1 year ago

1.

redis_fdw.c: In function ‘redis_fdw_handler’:
redis_fdw.c:294:38: warning: assignment to ‘AddForeignUpdateTargets_function’ {aka ‘void (*)(Query *, RangeTblEntry *, struct RelationData *)’} from incompatible pointer type ‘void (*)(PlannerInfo *, Index,  RangeTblEntry *, struct RelationData *)’ {aka ‘void (*)(PlannerInfo *, unsigned int,  RangeTblEntry *, struct RelationData *)’} [-Wincompatible-pointer-types]
  294 |  fdwroutine->AddForeignUpdateTargets = redisAddForeignUpdateTargets; /* U D */
      |                                      ^
redis_fdw.c: In function ‘redisPlanForeignModify’:
redis_fdw.c:1801:24: warning: implicit declaration of function ‘get_rel_all_updated_cols’ [-Wimplicit-function-declaration]
 1801 |   Bitmapset  *tmpset = get_rel_all_updated_cols(root, rrel);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
redis_fdw.c:1801:24: warning: initialization of ‘Bitmapset *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]

2.

redis_fdw.c:294:38: warning: incompatible function pointer types assigning to 'AddForeignUpdateTargets_function' (aka 'void (*)(struct Query *, struct RangeTblEntry *, struct RelationData *)') from 'void (PlannerInfo *, Index, RangeTblEntry *, Relation)' (aka 'void (struct PlannerInfo *, unsigned int, struct RangeTblEntry *, struct RelationData *)') [-Wincompatible-function-pointer-types]
        fdwroutine->AddForeignUpdateTargets = redisAddForeignUpdateTargets; /* U D */
                                            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
redis_fdw.c:1801:24: warning: implicit declaration of function 'get_rel_all_updated_cols' is invalid in C99 [-Wimplicit-function-declaration]
                Bitmapset  *tmpset = get_rel_all_updated_cols(root, rrel);
                                     ^
redis_fdw.c:1801:15: warning: incompatible integer to pointer conversion initializing 'Bitmapset *' (aka 'struct Bitmapset *') with an expression of type 'int' [-Wint-conversion]
                Bitmapset  *tmpset = get_rel_all_updated_cols(root, rrel);
                            ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.

In https://doxygen.postgresql.org/inherit_8h_source.html we have extern Bitmapset get_rel_all_updated_cols(PlannerInfo root, RelOptInfo *rel);