mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Fixed bug in day of week processing.
This commit is contained in:
@ -1665,6 +1665,10 @@ Fri Sep 26 17:14:07 CEST 2003
|
|||||||
Fri Oct 3 12:04:57 CEST 2003
|
Fri Oct 3 12:04:57 CEST 2003
|
||||||
|
|
||||||
- Hide Informix datatypes in PostgreSQL built process.
|
- Hide Informix datatypes in PostgreSQL built process.
|
||||||
|
|
||||||
|
Sun Oct 5 13:08:47 CEST 2003
|
||||||
|
|
||||||
|
- Fixed bug in day of week calculation.
|
||||||
- Set ecpg version to 3.0.0
|
- Set ecpg version to 3.0.0
|
||||||
- Set ecpg library to 4.0.0
|
- Set ecpg library to 4.0.0
|
||||||
- Set pgtypes library to 1.0.0
|
- Set pgtypes library to 1.0.0
|
||||||
|
@ -123,10 +123,10 @@ int
|
|||||||
PGTYPESdate_dayofweek(date dDate)
|
PGTYPESdate_dayofweek(date dDate)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Sunday: 0 Monday: 1 Tuesday: 2 Wednesday: 3
|
* Sunday: 0 Monday: 1 Tuesday: 2 Wednesday: 3
|
||||||
* Thursday: 4 Friday: 5 Saturday: 6
|
* Thursday: 4 Friday: 5 Saturday: 6
|
||||||
*/
|
*/
|
||||||
return 6 - j2day(dDate + 3);
|
return (int) (dDate + date2j(2000, 1, 1) + 1) % 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -300,8 +300,6 @@ int tm2timestamp(struct tm *, fsec_t, int *, timestamp *);
|
|||||||
int DecodeUnits(int field, char *lowtoken, int *val);
|
int DecodeUnits(int field, char *lowtoken, int *val);
|
||||||
bool ClearDateCache(bool, bool, bool);
|
bool ClearDateCache(bool, bool, bool);
|
||||||
|
|
||||||
int j2day(int jd);
|
|
||||||
|
|
||||||
bool CheckDateTokenTables(void);
|
bool CheckDateTokenTables(void);
|
||||||
|
|
||||||
int EncodeDateOnly(struct tm *, int, char *, bool);
|
int EncodeDateOnly(struct tm *, int, char *, bool);
|
||||||
|
@ -637,17 +637,6 @@ j2date(int jd, int *year, int *month, int *day)
|
|||||||
return;
|
return;
|
||||||
} /* j2date() */
|
} /* j2date() */
|
||||||
|
|
||||||
int
|
|
||||||
j2day(int date)
|
|
||||||
{
|
|
||||||
unsigned int day;
|
|
||||||
|
|
||||||
day = date;
|
|
||||||
day += 1;
|
|
||||||
day %= 7;
|
|
||||||
return (int) day;
|
|
||||||
} /* j2day() */
|
|
||||||
|
|
||||||
/* DecodeSpecial()
|
/* DecodeSpecial()
|
||||||
* Decode text string using lookup table.
|
* Decode text string using lookup table.
|
||||||
* Implement a cache lookup since it is likely that dates
|
* Implement a cache lookup since it is likely that dates
|
||||||
@ -931,7 +920,7 @@ EncodeDateTime(struct tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, cha
|
|||||||
/* Backward-compatible with traditional Postgres abstime dates */
|
/* Backward-compatible with traditional Postgres abstime dates */
|
||||||
|
|
||||||
day = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday);
|
day = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday);
|
||||||
tm->tm_wday = j2day(day);
|
tm->tm_wday = (int) ((day + date2j(2000, 1, 1) + 1) % 7);
|
||||||
|
|
||||||
strncpy(str, days[tm->tm_wday], 3);
|
strncpy(str, days[tm->tm_wday], 3);
|
||||||
strcpy((str + 3), " ");
|
strcpy((str + 3), " ");
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include "dt.h"
|
#include "dt.h"
|
||||||
#include "pgtypes_timestamp.h"
|
#include "pgtypes_timestamp.h"
|
||||||
#include "pgtypes_date.h"
|
#include "pgtypes_date.h"
|
||||||
#include "datetime.h"
|
|
||||||
|
|
||||||
int PGTYPEStimestamp_defmt_scan(char **, char *, timestamp *, int *, int *, int *,
|
int PGTYPEStimestamp_defmt_scan(char **, char *, timestamp *, int *, int *, int *,
|
||||||
int *, int *, int *, int *);
|
int *, int *, int *, int *);
|
||||||
|
Reference in New Issue
Block a user