00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef RESOURCEPOOL_SQL_RTSQLSELECTROW_IMPL_HH
00025 #define RESOURCEPOOL_SQL_RTSQLSELECTROW_IMPL_HH
00026
00027 #include "ResourcePool/SQL/RTSQLSelectRow.hh"
00028 #include "ResourcePool/SQL/RTSQLExecute_Impl.hh"
00029
00030 namespace fatalmind {
00031 namespace SQL {
00032
00033
00034 template<class TM, template<class TM2>class B, class RT, class CW, class RTC>
00035 class RTSQLSelectRow_SpecializedImpl
00036 : public RTSQLExecute_SpecializedImpl<TM, B, RT, CW, RTC>
00037 {
00038 typedef RTSQLExecute_SpecializedImpl<TM, B, RT, CW, RTC> super;
00039 using super::sqlExecute_;
00040 public:
00041 RTSQLSelectRow_SpecializedImpl(RTC& rtc, const std::string& sql, SQL::SQLFetcher& fetcher)
00042 : super(rtc, sql, fetcher)
00043 {
00044 }
00045
00046 virtual ~RTSQLSelectRow_SpecializedImpl() {
00047 }
00048
00049
00050
00051 virtual void bindout(const int pos, char& val, bool& isnull) {
00052 sqlExecute_.template bindout<char>(pos, val, isnull);
00053 }
00054 virtual void bindout(const int pos, char& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00055 sqlExecute_.template bindout<char>(pos, val, notnull);
00056 }
00057
00058 virtual void bindout(const int pos, signed char& val, bool& isnull) {
00059 sqlExecute_.template bindout<signed char>(pos, val, isnull);
00060 }
00061 virtual void bindout(const int pos, signed char& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00062 sqlExecute_.template bindout<signed char>(pos, val, notnull);
00063 }
00064
00065 virtual void bindout(const int pos, unsigned char& val, bool& isnull) {
00066 sqlExecute_.template bindout<unsigned char>(pos, val, isnull);
00067 }
00068 virtual void bindout(const int pos, unsigned char& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00069 sqlExecute_.template bindout<unsigned char>(pos, val, notnull);
00070 }
00071
00072 virtual void bindout(const int pos, short int& val, bool& isnull) {
00073 sqlExecute_.template bindout<short>(pos, val, isnull);
00074 }
00075 virtual void bindout(const int pos, short int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00076 sqlExecute_.template bindout<short>(pos, val, notnull);
00077 }
00078 virtual void bindout(const int pos, int& val, bool& isnull) {
00079 sqlExecute_.template bindout<int>(pos, val, isnull);
00080 }
00081 virtual void bindout(const int pos, int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00082 sqlExecute_.template bindout<int>(pos, val, notnull);
00083 }
00084 virtual void bindout(const int pos, long int& val, bool& isnull) {
00085 sqlExecute_.template bindout<long int>(pos, val, isnull);
00086 }
00087 virtual void bindout(const int pos, long int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00088 sqlExecute_.template bindout<long int>(pos, val, notnull);
00089 }
00090
00091 virtual void bindout(const int pos, unsigned short int& val, bool& isnull) {
00092 sqlExecute_.template bindout<unsigned short>(pos, val, isnull);
00093 }
00094 virtual void bindout(const int pos, unsigned short int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00095 sqlExecute_.template bindout<unsigned short>(pos, val, notnull);
00096 }
00097 virtual void bindout(const int pos, unsigned int& val, bool& isnull) {
00098 sqlExecute_.template bindout<unsigned int>(pos, val, isnull);
00099 }
00100 virtual void bindout(const int pos, unsigned int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00101 sqlExecute_.template bindout<unsigned int>(pos, val, notnull);
00102 }
00103 virtual void bindout(const int pos, unsigned long int& val, bool& isnull) {
00104 sqlExecute_.template bindout<unsigned long>(pos, val, isnull);
00105 }
00106 virtual void bindout(const int pos, unsigned long int& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00107 sqlExecute_.template bindout<unsigned long>(pos, val, notnull);
00108 }
00109
00110 virtual void bindout(const int pos, float& val, bool& isnull) {
00111 sqlExecute_.template bindout<float>(pos, val, isnull);
00112 }
00113 virtual void bindout(const int pos, float& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00114 sqlExecute_.template bindout<float>(pos, val, notnull);
00115 }
00116 virtual void bindout(const int pos, double& val, bool& isnull) {
00117 sqlExecute_.template bindout<double>(pos, val, isnull);
00118 }
00119 virtual void bindout(const int pos, double& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00120 sqlExecute_.template bindout<double>(pos, val, notnull);
00121 }
00122 virtual void bindout(const int pos, long double& val, bool& isnull) {
00123 sqlExecute_.template bindout<long double>(pos, val, isnull);
00124 }
00125 virtual void bindout(const int pos, long double& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00126 sqlExecute_.template bindout<long double>(pos, val, notnull);
00127 }
00128
00129 virtual void bindout(const int pos, std::string& val, bool& isnull) {
00130 sqlExecute_.template bindout<std::string>(pos, val, isnull);
00131 }
00132 virtual void bindout(const int pos, std::string& val, BindOutInterface::BindOutNotNullConstraint notnull) {
00133 sqlExecute_.template bindout<std::string>(pos, val, notnull);
00134 }
00135
00136 protected:
00137 virtual Clone* DoClone() const {
00138 return new RTSQLSelectRow_SpecializedImpl<TM, B, RT, CW, RTC>(*this);
00139 }
00140 };
00141
00142 }
00143 }
00144 #endif