return new DbValue(DbValueTimestamp, ts);
}
-Value DbValue::FromTimestampNow()
-{
- return new DbValue(DbValueTimestampNow, Empty);
-}
-
Value DbValue::FromValue(const Value& value)
{
return value;
return dbv->GetType() == DbValueTimestamp;
}
-bool DbValue::IsTimestampNow(const Value& value)
-{
- if (!value.IsObjectType<DbValue>())
- return false;
-
- DbValue::Ptr dbv = value;
- return dbv->GetType() == DbValueTimestampNow;
-}
-
bool DbValue::IsObjectInsertID(const Value& value)
{
if (!value.IsObjectType<DbValue>())
enum DbValueType
{
DbValueTimestamp,
- DbValueTimestampNow,
DbValueObjectInsertID
};
DbValue(DbValueType type, Value value);
static Value FromTimestamp(const Value& ts);
- static Value FromTimestampNow();
static Value FromValue(const Value& value);
static Value FromObjectInsertID(const Value& value);
static bool IsTimestamp(const Value& value);
- static bool IsTimestampNow(const Value& value);
static bool IsObjectInsertID(const Value& value);
static Value ExtractValue(const Value& value);
std::ostringstream msgbuf;
msgbuf << "FROM_UNIXTIME(" << ts << ")";
*result = Value(msgbuf.str());
- } else if (DbValue::IsTimestampNow(value)) {
- *result = "NOW()";
} else if (DbValue::IsObjectInsertID(value)) {
auto id = static_cast<long>(rawvalue);
std::ostringstream msgbuf;
msgbuf << "TO_TIMESTAMP(" << ts << ") AT TIME ZONE 'UTC'";
*result = Value(msgbuf.str());
- } else if (DbValue::IsTimestampNow(value)) {
- *result = "NOW()";
} else if (DbValue::IsObjectInsertID(value)) {
auto id = static_cast<long>(rawvalue);