blob: cbd6058eda8b76af7e920090b815ac36ff905702 [file] [log] [blame]
/**********************************************************************
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
//
**********************************************************************/
/* -*-C++-*-
******************************************************************************
*
* File: RuSQLStatementContainer.cpp
* Description: Implementation of class CRUSQLStatementContainer
*
*
* Created: 09/08/2000
* Language: C++
*
*
*
******************************************************************************
*/
#include "RuSQLStatementContainer.h"
#include "dmconnection.h"
#include "RuException.h"
#include "uofsIpcMessageTranslator.h"
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::StoreData()
//--------------------------------------------------------------------------//
// LCOV_EXCL_START :cnu
void CRUSQLStatementContainer::
StoreData(CUOFsIpcMessageTranslator &translator)
{
short size = GetNumOfStmt();
translator.WriteBlock(&size,sizeof(short));
for (Int32 i=0;i<GetNumOfStmt();i++)
{
#pragma nowarn(1506) // warning elimination
GetStmt(i).StoreData(translator);
#pragma warn(1506) // warning elimination
}
}
// LCOV_EXCL_STOP
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::LoadData()
//--------------------------------------------------------------------------//
// LCOV_EXCL_START :cnu
void CRUSQLStatementContainer::
LoadData(CUOFsIpcMessageTranslator &translator)
{
short size;
translator.ReadBlock(&size,sizeof(short));
RUASSERT(size <= GetNumOfStmt());
for (Int32 i=0;i<GetNumOfStmt();i++)
{
#pragma nowarn(1506) // warning elimination
GetStmt(i).LoadData(translator);
#pragma warn(1506) // warning elimination
}
}
// LCOV_EXCL_STOP
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::Stmt::StoreData()
//--------------------------------------------------------------------------//
// LCOV_EXCL_START :cnu
void CRUSQLStatementContainer::Stmt::
StoreData(CUOFsIpcMessageTranslator &translator)
{
translator.WriteBlock(&executionCounter_,sizeof(Lng32));
}
// LCOV_EXCL_STOP
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::Stmt::LoadData()
//--------------------------------------------------------------------------//
// LCOV_EXCL_START :cnu
void CRUSQLStatementContainer::Stmt::
LoadData(CUOFsIpcMessageTranslator &translator)
{
translator.ReadBlock(&executionCounter_,sizeof(Lng32));
}
// LCOV_EXCL_STOP
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::Stmt::ExecuteQuery()
//--------------------------------------------------------------------------//
Lng32 CRUSQLStatementContainer::Stmt::ExecuteUpdate()
{
executionCounter_++;
return GetPreparedStatement()->ExecuteUpdate();
}
//--------------------------------------------------------------------------//
// CRUSQLStatementContainer::Stmt::ExecuteQuery()
//--------------------------------------------------------------------------//
CDMResultSet *CRUSQLStatementContainer::Stmt::ExecuteQuery()
{
executionCounter_++;
return GetPreparedStatement()->ExecuteQuery();
}