summaryrefslogtreecommitdiff
path: root/slicer/db/sqlSelectDeserializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'slicer/db/sqlSelectDeserializer.cpp')
-rw-r--r--slicer/db/sqlSelectDeserializer.cpp30
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));
}