Skip to content

Commit

Permalink
fix(Data): fixed warnings about missing copy ctors in Data::Time and …
Browse files Browse the repository at this point in the history
…Data::Date.
  • Loading branch information
matejk committed Oct 9, 2024
1 parent 3113597 commit 1c219eb
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 28 deletions.
31 changes: 17 additions & 14 deletions Data/include/Poco/Data/Date.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ namespace Dynamic {

class Var;

}
} // namespace Dynamic

namespace Data {

Expand All @@ -56,6 +56,9 @@ class Data_API Date
~Date();
/// Destroys the Date.

Date(const Date & ) = default;
Date(Date && ) = default;

int year() const;
/// Returns the year.

Expand Down Expand Up @@ -151,7 +154,8 @@ inline bool Date::operator > (const Date& date) const
}


} } // namespace Poco::Data
} // namespace Data
} // namespace Poco


//
Expand All @@ -171,39 +175,38 @@ class VarHolderImpl<Poco::Data::Date>: public VarHolder
{
}

~VarHolderImpl()
{
}
~VarHolderImpl() = default;
VarHolderImpl() = delete;

const std::type_info& type() const
const std::type_info& type() const override
{
return typeid(Poco::Data::Date);
}

void convert(Poco::Timestamp& val) const
void convert(Poco::Timestamp& val) const override
{
DateTime dt;
dt.assign(_val.year(), _val.month(), _val.day());
val = dt.timestamp();
}

void convert(Poco::DateTime& val) const
void convert(Poco::DateTime& val) const override
{
val.assign(_val.year(), _val.month(), _val.day());
}

void convert(Poco::LocalDateTime& val) const
void convert(Poco::LocalDateTime& val) const override
{
val.assign(_val.year(), _val.month(), _val.day());
}

void convert(std::string& val) const
void convert(std::string& val) const override
{
DateTime dt(_val.year(), _val.month(), _val.day());
const DateTime dt(_val.year(), _val.month(), _val.day());
val = DateTimeFormatter::format(dt, "%Y/%m/%d");
}

VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const
VarHolder* clone(Placeholder<VarHolder>* pVarHolder = nullptr) const override
{
return cloneHolder(pVarHolder, _val);
}
Expand All @@ -214,12 +217,12 @@ class VarHolderImpl<Poco::Data::Date>: public VarHolder
}

private:
VarHolderImpl();
Poco::Data::Date _val;
};


} } // namespace Poco::Dynamic
} // namespace Dynamic
} // namespace Poco


#endif // Data_Date_INCLUDED
28 changes: 15 additions & 13 deletions Data/include/Poco/Data/Time.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace Dynamic {

class Var;

}
} // namespace Dynamic

class DateTime;

Expand All @@ -56,6 +56,9 @@ class Data_API Time
~Time();
/// Destroys the Time.

Time(const Time & ) = default;
Time(Time && ) = default;

int hour() const;
/// Returns the hour.

Expand Down Expand Up @@ -151,7 +154,8 @@ inline bool Time::operator > (const Time& time) const
}


} } // namespace Poco::Data
} // namespace Data
} // namespace Poco


//
Expand All @@ -171,43 +175,42 @@ class VarHolderImpl<Poco::Data::Time>: public VarHolder
{
}

~VarHolderImpl()
{
}
~VarHolderImpl() override = default;
VarHolderImpl() = delete;

const std::type_info& type() const
const std::type_info& type() const override
{
return typeid(Poco::Data::Time);
}

void convert(Poco::Timestamp& val) const
void convert(Poco::Timestamp& val) const override
{
Poco::DateTime dt;
dt.assign(dt.year(), dt.month(), dt.day(), _val.hour(), _val.minute(), _val.second());
val = dt.timestamp();
}

void convert(Poco::DateTime& val) const
void convert(Poco::DateTime& val) const override
{
Poco::DateTime dt;
dt.assign(dt.year(), dt.month(), dt.day(), _val.hour(), _val.minute(), _val.second());
val = dt;
}

void convert(Poco::LocalDateTime& val) const
void convert(Poco::LocalDateTime& val) const override
{
Poco::LocalDateTime ldt;
ldt.assign(ldt.year(), ldt.month(), ldt.day(), _val.hour(), _val.minute(), _val.second());
val = ldt;
}

void convert(std::string& val) const
void convert(std::string& val) const override
{
DateTime dt(0, 1, 1, _val.hour(), _val.minute(), _val.second());
const DateTime dt(0, 1, 1, _val.hour(), _val.minute(), _val.second());
val = DateTimeFormatter::format(dt, "%H:%M:%S");
}

VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const
VarHolder* clone(Placeholder<VarHolder>* pVarHolder = nullptr) const override
{
return cloneHolder(pVarHolder, _val);
}
Expand All @@ -218,7 +221,6 @@ class VarHolderImpl<Poco::Data::Time>: public VarHolder
}

private:
VarHolderImpl();
Poco::Data::Time _val;
};

Expand Down
2 changes: 1 addition & 1 deletion Data/testsuite/src/DataTest.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class DataTest: public CppUnit::TestCase
void testColumnList();
void testRow();
void testRowSort();
void testSimpleRowFormatter();
void testSimpleRowFormatter();
void testJSONRowFormatter();
void testDateAndTime();
void testExternalBindingAndExtraction();
Expand Down

0 comments on commit 1c219eb

Please sign in to comment.