summaryrefslogtreecommitdiff
path: root/lib/db.c
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2018-03-09 17:38:03 +0100
committerhorchi <vdr@jwendel.de>2018-03-09 17:38:03 +0100
commitbc845e984ba0790bb160c80578ed8ddde2637735 (patch)
treefd0634486fac759ec9a44e3a58795258a6cc2519 /lib/db.c
parentf7db728bcfa4d1663b07873bfa364ccbb9bfb1ce (diff)
downloadvdr-plugin-epg2vdr-bc845e984ba0790bb160c80578ed8ddde2637735.tar.gz
vdr-plugin-epg2vdr-bc845e984ba0790bb160c80578ed8ddde2637735.tar.bz2
2018-03-09 version 1.1.93 (horchi)\n - added: Menu for matching 'jobs' (timersdone) of search timer results, with delete option\n - added: some german translations\n - added: optional (configurable) osd notification on timer change\n\n1.1.93
Diffstat (limited to 'lib/db.c')
-rw-r--r--lib/db.c102
1 files changed, 51 insertions, 51 deletions
diff --git a/lib/db.c b/lib/db.c
index 9743dc3..2554cd8 100644
--- a/lib/db.c
+++ b/lib/db.c
@@ -13,6 +13,57 @@
#include "db.h"
//***************************************************************************
+// Copy Values
+//***************************************************************************
+
+void cDbRow::copyValues(const cDbRow* rowFrom, int typesFilter)
+{
+ std::map<std::string, cDbFieldDef*>::iterator f;
+
+ for (f = tableDef->dfields.begin(); f != tableDef->dfields.end(); f++)
+ {
+ cDbFieldDef* fld = f->second;
+
+ if (rowFrom->isNull(fld)) // skip where source field is NULL
+ continue;
+
+ if (!(typesFilter & fld->getType())) // Filter
+ continue;
+
+ switch (fld->getFormat())
+ {
+ case ffAscii:
+ case ffText:
+ case ffMText:
+ case ffMlob:
+ setValue(fld, rowFrom->getStrValue(fld));
+ break;
+
+ case ffFloat:
+ setValue(fld, rowFrom->getFloatValue(fld));
+ break;
+
+ case ffDateTime:
+ setValue(fld, rowFrom->getTimeValue(fld));
+ break;
+
+ case ffBigInt:
+ case ffUBigInt:
+ setBigintValue(fld, rowFrom->getBigintValue(fld));
+ break;
+
+ case ffInt:
+ case ffUInt:
+ setValue(fld, rowFrom->getIntValue(fld));
+ break;
+
+ default:
+ tell(0, "Fatal: Unhandled field type %d", fld->getFormat());
+ }
+ }
+}
+
+//***************************************************************************
// DB Statement
//***************************************************************************
@@ -1310,57 +1361,6 @@ int cDbTable::checkIndex(const char* idxName, int& fieldCount)
}
//***************************************************************************
-// Copy Values
-//***************************************************************************
-
-void cDbTable::copyValues(cDbRow* r, int typesFilter)
-{
- std::map<std::string, cDbFieldDef*>::iterator f;
-
- for (f = tableDef->dfields.begin(); f != tableDef->dfields.end(); f++)
- {
- cDbFieldDef* fld = f->second;
-
- if (r->isNull(fld)) // skip where source field is NULL
- continue;
-
- if (!(typesFilter & fld->getType())) // Filter
- continue;
-
- switch (fld->getFormat())
- {
- case ffAscii:
- case ffText:
- case ffMText:
- case ffMlob:
- row->setValue(fld, r->getStrValue(fld));
- break;
-
- case ffFloat:
- row->setValue(fld, r->getFloatValue(fld));
- break;
-
- case ffDateTime:
- row->setValue(fld, r->getTimeValue(fld));
- break;
-
- case ffBigInt:
- case ffUBigInt:
- row->setBigintValue(fld, r->getBigintValue(fld));
- break;
-
- case ffInt:
- case ffUInt:
- row->setValue(fld, r->getIntValue(fld));
- break;
-
- default:
- tell(0, "Fatal unhandled field type %d", fld->getFormat());
- }
- }
-}
-
-//***************************************************************************
// SQL Error
//***************************************************************************