mirror of
https://github.com/MariaDB/server.git
synced 2025-04-19 05:35:33 +02:00
Fix bug. Date value was null when retrieved from a json expanded array.
modified: storage/connect/tabjson.cpp Assume timestamp is in milliseconds when it is a big integer that is multiple of 1000. modified: storage/connect/value.cpp
This commit is contained in:
parent
fcfcd99e64
commit
2c16792995
2 changed files with 7 additions and 2 deletions
storage/connect
|
@ -1171,7 +1171,8 @@ void JSONCOL::SetJsonValue(PGLOBAL g, PVAL vp, PJVAL val, int n)
|
|||
case TYPE_INTG:
|
||||
case TYPE_BINT:
|
||||
case TYPE_DBL:
|
||||
vp->SetValue_pval(val->GetValue());
|
||||
case TYPE_DATE:
|
||||
vp->SetValue_pval(val->GetValue());
|
||||
break;
|
||||
case TYPE_BOOL:
|
||||
if (vp->IsTypeNum())
|
||||
|
|
|
@ -2707,7 +2707,11 @@ bool DTVAL::SetValue_pval(PVAL valp, bool chktype)
|
|||
|
||||
ndv = ExtractDate(valp->GetCharValue(), Pdtp, DefYear, dval);
|
||||
MakeDate(NULL, dval, ndv);
|
||||
} else
|
||||
} else if (valp->GetType() == TYPE_BIGINT &&
|
||||
!(valp->GetBigintValue() % 1000)) {
|
||||
// Assuming that this timestamp is in milliseconds
|
||||
Tval = valp->GetBigintValue() / 1000;
|
||||
} else
|
||||
Tval = valp->GetIntValue();
|
||||
|
||||
} else
|
||||
|
|
Loading…
Add table
Reference in a new issue