diff options
Diffstat (limited to 'slicer/db/sqlSelectDeserializer.cpp')
-rw-r--r-- | slicer/db/sqlSelectDeserializer.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/slicer/db/sqlSelectDeserializer.cpp b/slicer/db/sqlSelectDeserializer.cpp index 3516265..5b226ce 100644 --- a/slicer/db/sqlSelectDeserializer.cpp +++ b/slicer/db/sqlSelectDeserializer.cpp @@ -4,7 +4,7 @@ #include <common.h> namespace Slicer { - SqlSelectDeserializer::SqlSelectDeserializer(DB::SelectCommand & c, IceUtil::Optional<std::string> tc) : + SqlSelectDeserializer::SqlSelectDeserializer(DB::SelectCommandPtr c, IceUtil::Optional<std::string> tc) : cmd(c), typeIdColName(tc) { @@ -13,10 +13,10 @@ namespace Slicer { void SqlSelectDeserializer::Deserialize(Slicer::ModelPartForRootPtr mp) { - cmd.execute(); - columnCount = cmd.columnCount(); + cmd->execute(); + columnCount = cmd->columnCount(); if (typeIdColName) { - typeIdColIdx = cmd.getOrdinal(*typeIdColName); + typeIdColIdx = cmd->getOrdinal(*typeIdColName); } switch (mp->GetType()) { case Slicer::mpt_Sequence: @@ -36,19 +36,19 @@ namespace Slicer { void SqlSelectDeserializer::DeserializeSimple(Slicer::ModelPartPtr mp) { - if (!cmd.fetch()) { + if (!cmd->fetch()) { if (!mp->IsOptional()) { throw NoRowsReturned(); } return; } - if (!cmd[0].isNull()) { + if (!(*cmd)[0].isNull()) { auto fmp = mp->GetAnonChild(); fmp->Create(); - fmp->SetValue(SqlSource(cmd[0])); + fmp->SetValue(SqlSource((*cmd)[0])); fmp->Complete(); } - if (cmd.fetch()) { + if (cmd->fetch()) { throw TooManyRowsReturned(); } } @@ -57,7 +57,7 @@ namespace Slicer { SqlSelectDeserializer::DeserializeSequence(Slicer::ModelPartPtr mp) { mp = mp->GetAnonChild(); - while (cmd.fetch()) { + while (cmd->fetch()) { DeserializeRow(mp); } } @@ -65,15 +65,15 @@ namespace Slicer { void SqlSelectDeserializer::DeserializeObject(Slicer::ModelPartPtr mp) { - if (!cmd.fetch()) { + if (!cmd->fetch()) { if (!mp->IsOptional()) { throw NoRowsReturned(); } return; } DeserializeRow(mp); - if (cmd.fetch()) { - while (cmd.fetch()) ; + if (cmd->fetch()) { + while (cmd->fetch()) ; throw TooManyRowsReturned(); } } @@ -88,12 +88,12 @@ namespace Slicer { { if (typeIdColIdx) { std::string subclass; - cmd[*typeIdColIdx] >> subclass; + (*cmd)[*typeIdColIdx] >> subclass; rmp = rmp->GetSubclassModelPart(subclass); } rmp->Create(); for (auto col = 0u; col < columnCount; col += 1) { - const DB::Column & c = cmd[col]; + const DB::Column & c = (*cmd)[col]; if (!c.isNull()) { auto fmpr = rmp->GetChildRef(c.name, NULL, false); if (fmpr) { @@ -110,7 +110,7 @@ namespace Slicer { case Slicer::mpt_Simple: { rmp->Create(); - const DB::Column & c = cmd[0]; + const DB::Column & c = (*cmd)[0]; if (!c.isNull()) { rmp->SetValue(SqlSource(c)); } |