diff options
author | horchi <vdr@jwendel.de> | 2018-03-09 17:38:03 +0100 |
---|---|---|
committer | horchi <vdr@jwendel.de> | 2018-03-09 17:38:03 +0100 |
commit | bc845e984ba0790bb160c80578ed8ddde2637735 (patch) | |
tree | fd0634486fac759ec9a44e3a58795258a6cc2519 /lib/db.c | |
parent | f7db728bcfa4d1663b07873bfa364ccbb9bfb1ce (diff) | |
download | vdr-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.c | 102 |
1 files changed, 51 insertions, 51 deletions
@@ -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 //*************************************************************************** |