index b33fb76528e51c1937a898216664d99211e91ad1..1a9764a013cad72864c5b64e9d4eeca60d6d34e3 100644 (file)
computations should adjust based on the time zone rules.
o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
- o Fix SELECT INTERVAL '1' MONTH
o Add a GUC variable to allow output of interval values in ISO8601
format
o Improve timestamptz subtraction to be DST-aware
o Fix interval display to support values exceeding 2^31 hours
o Add overflow checking to timestamp and interval arithmetic
o Add ISO INTERVAL handling
- o Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
+ o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
SECOND
+ o Fix SELECT INTERVAL '1' MONTH
o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
o For syntax that isn't uniquely ISO or PG syntax, like '1:30' or
'1', treat as ISO if there is a range specification clause,
index 1c1c07bd1b4fc8da0576b67771a1c4175c0759db..77d575398fd11ce1552e1f1d7956244844f2737d 100644 (file)
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.538 2006年04月15日 17:45:34 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.539 2006年04月24日 22:56:11 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
A_Const *n = (A_Const *) makeStringConst(2,ドル 1ドル);
if (3ドル != INTERVAL_FULL_RANGE)
{
+ ereport(LOG, (errmsg("1.0")));
if ((3ドル & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
| ConstInterval '(' Iconst ')' Sconst opt_interval
{
A_Const *n = (A_Const *) makeStringConst(5,ドル 1ドル);
+ ereport(LOG, (errmsg("2.0")));
if (3ドル < 0)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
| ConstDatetime { $$ = 1ドル; }
| ConstInterval opt_interval
{
+ ereport(LOG, (errmsg("3.0")));
$$ = 1ドル;
if (2ドル != INTERVAL_FULL_RANGE)
$$->typmod = INTERVAL_TYPMOD(INTERVAL_FULL_PRECISION, 2ドル);
}
| ConstInterval '(' Iconst ')' opt_interval
{
+ ereport(LOG, (errmsg("4.0")));
$$ = 1ドル;
if (3ドル < 0)
ereport(ERROR,
}
| type_name attrs
{
+ ereport(LOG, (errmsg("5.0")));
$$ = makeNode(TypeName);
$$->names = lcons(makeString(1ドル), 2ドル);
$$->typmod = -1;
| ConstInterval Sconst opt_interval
{
A_Const *n = makeNode(A_Const);
+ ereport(LOG, (errmsg("6.0")));
n->typename = 1ドル;
n->val.type = T_String;
n->val.val.str = 2ドル;
| ConstInterval '(' Iconst ')' Sconst opt_interval
{
A_Const *n = makeNode(A_Const);
+ ereport(LOG, (errmsg("7.0")));
n->typename = 1ドル;
n->val.type = T_String;
n->val.val.str = 5ドル;