From 63b2ca0dbdae190941d60a55c9cff99d4a75a0e1 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 31 May 2021 13:18:17 +0100 Subject: Initial commit of prepstmt, selects, record sets This is full of holes, but all the basics are covered. --- lib/dbTypes.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/dbTypes.h') diff --git a/lib/dbTypes.h b/lib/dbTypes.h index ba0cd70..b35b036 100644 --- a/lib/dbTypes.h +++ b/lib/dbTypes.h @@ -11,16 +11,25 @@ struct timespec; namespace MyGrate { struct Date { + inline Date() { } + inline Date(uint16_t y, uint8_t m, uint8_t d) : year {y}, month {m}, day {d} { } + explicit inline Date(const tm & tm) : Date(tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday) { } uint16_t year; uint8_t month; uint8_t day; }; struct Time { + inline Time() { } + inline Time(uint8_t h, uint8_t m, uint8_t s) : hour {h}, minute {m}, second {s} { } + explicit inline Time(const tm & tm) : Time(tm.tm_hour, tm.tm_min, tm.tm_sec) { } uint8_t hour; uint8_t minute; uint8_t second; }; struct DateTime : public Date, public Time { + inline DateTime() { } + inline DateTime(const Date & d, const Time & t) : Date {d}, Time {t} { } + explicit inline DateTime(const tm & tm) : Date {tm}, Time {tm} { } }; using Blob = std::span; -- cgit v1.2.3