Re: pgsql: Centralize json and jsonb handling of datetime types

From: Erik Rijkers <er(at)xs4all(dot)nl>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-committers(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: pgsql: Centralize json and jsonb handling of datetime types
Date: 2018-01-17 06:23:48
Message-ID: f109af7bc22f934980a60b3c49dd3207@xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 2018-01-17 01:29, Andrew Dunstan wrote:
> Centralize json and jsonb handling of datetime types
[...]
> https://git.postgresql.org/pg/commitdiff/cc4feded0a31d2b732d4ea68613115cb720e624e
>
> Modified Files
> --------------
> src/backend/utils/adt/date.c | 6 +--
> src/backend/utils/adt/json.c | 122
> ++++++++++++++++++++++++++++++++----------
> src/backend/utils/adt/jsonb.c | 70 ++++--------------------
> src/include/utils/date.h | 4 +-
> src/include/utils/jsonapi.h | 2 +
> 5 files changed, 109 insertions(+), 95 deletions(-)

Latest gcc 7.2.0 compile shows these warnings (I suppose these come from
this commit):

Compiling core:

In file included from gram.y:63:0:
../../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’
declared inside parameter list will not be visible outside of this
definition or declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’
declared inside parameter list will not be visible outside of this
definition or declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);
^~~~~
In file included from formatting.c:92:0:
../../../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’
declared inside parameter list will not be visible outside of this
definition or declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’
declared inside parameter list will not be visible outside of this
definition or declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);

... while contrib adds:

In file included from btree_gin.c:12:0:
../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);
^~~~~
In file included from btree_utils_num.c:9:0:
../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);
^~~~~
In file included from btree_time.c:9:0:
../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);
^~~~~
In file included from btree_date.c:9:0:
../../src/include/utils/date.h:76:41: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec);
^~~~~
../../src/include/utils/date.h:77:46: warning: ‘struct pg_tm’ declared
inside parameter list will not be visible outside of this definition or
declaration
extern int timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
int *tzp);

No errors, and 'make check' and 'make check-world' are both OK.

thanks,

Erik Rijkers

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2018-01-17 08:33:21 pgsql: Fix compiler warnings due to commit cc4feded
Previous Message Amit Langote 2018-01-17 05:34:52 Re: pgsql: Centralize json and jsonb handling of datetime types

Browse pgsql-hackers by date

  From Date Subject
Next Message Ashutosh Sharma 2018-01-17 07:34:01 Test-cases for exclusion constraints is missing in alter_table.sql file
Previous Message Amit Langote 2018-01-17 06:14:01 Re: [Sender Address Forgery]Re: [Sender Address Forgery]Re: [HACKERS] path toward faster partition pruning