fix(VarHolder): Date/Time diagnostics not implemented #5142 (#5143)

This commit is contained in:
Aleksandar Fabijanic
2025-12-27 20:22:13 -06:00
committed by GitHub
parent 0e1ba0b780
commit ebec641893
3 changed files with 22 additions and 0 deletions

View File

@@ -211,6 +211,11 @@ public:
return cloneHolder(pVarHolder, _val);
}
bool isDate() const override
{
return true;
}
const Poco::Data::Date& value() const
{
return _val;

View File

@@ -215,6 +215,11 @@ public:
return cloneHolder(pVarHolder, _val);
}
bool isTime() const override
{
return true;
}
const Poco::Data::Time& value() const
{
return _val;

View File

@@ -1274,6 +1274,13 @@ void DataTest::testJSONRowFormatter()
assertTrue(row1.namesToString() == "");
assertTrue(row1.valuesToString() == "{\"field0\":0,\"field1\":\"1\",\"field2\":\"2007-03-13T08:12:15Z\",\"field3\":null,\"field4\":4}");
assertTrue(row1.valuesToString() == ",{\"field0\":0,\"field1\":\"1\",\"field2\":\"2007-03-13T08:12:15Z\",\"field3\":null,\"field4\":4}");
Row row2;
row2.append("date", Date(2007, 3, 13));
row2.append("time", Time(8, 12, 15));
row2.setFormatter(new JSONRowFormatter(JSONRowFormatter::JSON_FMT_MODE_FULL));
row2.namesToString();
assertTrue(row2.valuesToString() == "{\"date\":\"2007/03/13\",\"time\":\"08:12:15\"}");
}
@@ -1393,6 +1400,11 @@ void DataTest::testDateAndTime()
Var vTime = t;
t1 = vTime;
assertTrue (t == t1);
assertTrue (vDate.isDate());
assertFalse (vDate.isTime());
assertTrue (vTime.isTime());
assertFalse (vTime.isDate());
}