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