1 /* $Id: interfaces.cpp 544602 2017-08-24 15:46:37Z satskyse $
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information
6 *
7 * This software/database is a "United States Government Work" under the
8 * terms of the United States Copyright Act. It was written as part of
9 * the author's official duties as a United States Government employee and
10 * thus cannot be copyrighted. This software/database is freely available
11 * to the public for use. The National Library of Medicine and the U.S.
12 * Government have not placed any restriction on its use or reproduction.
13 *
14 * Although all reasonable efforts have been taken to ensure the accuracy
15 * and reliability of the software and data, the NLM and the U.S.
16 * Government do not and cannot warrant the performance or results that
17 * may be obtained by using this software or data. The NLM and the U.S.
18 * Government disclaim all warranties, express or implied, including
19 * warranties of performance, merchantability or fitness for any particular
20 * purpose.
21 *
22 * Please cite the author in any work or product based on this material.
23 *
24 * ===========================================================================
25 *
26 * Author: Vladimir Soussov
27 *
28 * File Description: Data Server public interfaces
29 *
30 */
31
32 #include <ncbi_pch.hpp>
33
34 #include <dbapi/driver/dbapi_driver_conn_params.hpp>
35 #include <dbapi/driver/dbapi_driver_conn_mgr.hpp>
36
37
38 BEGIN_NCBI_SCOPE
39
40
41 ////////////////////////////////////////////////////////////////////////////
CDBConnParams(void)42 CDBConnParams::CDBConnParams(void)
43 : m_ChildObj(NULL)
44 {
45 }
46
~CDBConnParams(void)47 CDBConnParams::~CDBConnParams(void)
48 {
49 }
50
51
52 ///////////////////////////////////////////////////////////////////////////////
CDBConnParamsDelegate(const CDBConnParams & other)53 CDBConnParamsDelegate::CDBConnParamsDelegate(const CDBConnParams& other)
54 : m_Other(other)
55 {
56 m_Other.SetChildObj(*this);
57 }
58
~CDBConnParamsDelegate(void)59 CDBConnParamsDelegate::~CDBConnParamsDelegate(void)
60 {
61 m_Other.ReleaseChildObj();
62 }
63
64
GetDriverName(void) const65 string CDBConnParamsDelegate::GetDriverName(void) const
66 {
67 return m_Other.GetDriverName();
68 }
69
GetProtocolVersion(void) const70 Uint4 CDBConnParamsDelegate::GetProtocolVersion(void) const
71 {
72 return m_Other.GetProtocolVersion();
73 }
74
GetEncoding(void) const75 EEncoding CDBConnParamsDelegate::GetEncoding(void) const
76 {
77 return m_Other.GetEncoding();
78 }
79
GetServerName(void) const80 string CDBConnParamsDelegate::GetServerName(void) const
81 {
82 return m_Other.GetServerName();
83 }
84
GetDatabaseName(void) const85 string CDBConnParamsDelegate::GetDatabaseName(void) const
86 {
87 return m_Other.GetDatabaseName();
88 }
89
GetUserName(void) const90 string CDBConnParamsDelegate::GetUserName(void) const
91 {
92 return m_Other.GetUserName();
93 }
94
GetPassword(void) const95 string CDBConnParamsDelegate::GetPassword(void) const
96 {
97 return m_Other.GetPassword();
98 }
99
100 CDBConnParams::EServerType
GetServerType(void) const101 CDBConnParamsDelegate::GetServerType(void) const
102 {
103 return m_Other.GetServerType();
104 }
105
GetHost(void) const106 Uint4 CDBConnParamsDelegate::GetHost(void) const
107 {
108 return m_Other.GetHost();
109 }
110
GetPort(void) const111 Uint2 CDBConnParamsDelegate::GetPort(void) const
112 {
113 return m_Other.GetPort();
114 }
115
116 CRef<IConnValidator>
GetConnValidator(void) const117 CDBConnParamsDelegate::GetConnValidator(void) const
118 {
119 return m_Other.GetConnValidator();
120 }
121
GetOpeningMsgHandlers(void) const122 const impl::CDBHandlerStack& CDBConnParamsDelegate::GetOpeningMsgHandlers(void)
123 const
124 {
125 return m_Other.GetOpeningMsgHandlers();
126 }
127
GetParam(const string & key) const128 string CDBConnParamsDelegate::GetParam(const string& key) const
129 {
130 return m_Other.GetParam(key);
131 }
132
133
134 ////////////////////////////////////////////////////////////////////////////
~I_BlobDescriptor(void)135 I_BlobDescriptor::~I_BlobDescriptor(void)
136 {
137 return;
138 }
139
140
141 ////////////////////////////////////////////////////////////////////////////
142 // CDBParams::
143 //
144
~CDBParams(void)145 CDBParams::~CDBParams(void)
146 {
147 }
148
149
Bind(const CDBParamVariant & param,CDB_Object * value,bool out_param)150 CDBParams& CDBParams::Bind(
151 const CDBParamVariant& param,
152 CDB_Object* value,
153 bool out_param
154 )
155 {
156 DATABASE_DRIVER_ERROR( "Methods Bind and Set of class CDBParams are not implemented yet.", 122002 );
157 return *this;
158 }
159
160
Set(const CDBParamVariant & param,CDB_Object * value,bool out_param)161 CDBParams& CDBParams::Set(
162 const CDBParamVariant& param,
163 CDB_Object* value,
164 bool out_param
165 )
166 {
167 DATABASE_DRIVER_ERROR( "Methods Bind and Set of class CDBParams are not implemented yet.", 122002 );
168 return *this;
169 }
170
171
172 ////////////////////////////////////////////////////////////////////////////
173 // I_BaseCmd::
174 // CParametrizedStmt::
175 // I_LangCmd::
176 // I_RPCCmd::
177 // I_BCPInCmd::
178 // I_CursorCmd::
179 // I_SendDataCmd::
180 //
181
I_BaseCmd(void)182 I_BaseCmd::I_BaseCmd(void)
183 {
184 }
185
~I_BaseCmd(void)186 I_BaseCmd::~I_BaseCmd(void)
187 {
188 return;
189 }
190
CParamRecordset(void)191 CParamRecordset::CParamRecordset(void)
192 {
193 }
194
~CParamRecordset(void)195 CParamRecordset::~CParamRecordset(void)
196 {
197 }
198
CParamStmt(void)199 CParamStmt::CParamStmt(void)
200 {
201 }
202
~CParamStmt(void)203 CParamStmt::~CParamStmt(void)
204 {
205 }
206
I_LangCmd(void)207 I_LangCmd::I_LangCmd(void)
208 {
209 }
210
~I_LangCmd(void)211 I_LangCmd::~I_LangCmd(void)
212 {
213 return;
214 }
215
I_RPCCmd(void)216 I_RPCCmd::I_RPCCmd(void)
217 {
218 }
219
~I_RPCCmd(void)220 I_RPCCmd::~I_RPCCmd(void)
221 {
222 return;
223 }
224
I_BCPInCmd(void)225 I_BCPInCmd::I_BCPInCmd(void)
226 {
227 return;
228 }
229
~I_BCPInCmd(void)230 I_BCPInCmd::~I_BCPInCmd(void)
231 {
232 return;
233 }
234
I_CursorCmd(void)235 I_CursorCmd::I_CursorCmd(void)
236 {
237 }
238
~I_CursorCmd(void)239 I_CursorCmd::~I_CursorCmd(void)
240 {
241 return;
242 }
243
UpdateTextImage(unsigned int item_num,CDB_Stream & data,bool log_it)244 bool I_CursorCmd::UpdateTextImage(unsigned int item_num,
245 CDB_Stream& data,
246 bool log_it)
247 {
248 return UpdateBlob(item_num, data, log_it);
249 }
250
I_SendDataCmd(void)251 I_SendDataCmd::I_SendDataCmd(void)
252 {
253 }
254
~I_SendDataCmd(void)255 I_SendDataCmd::~I_SendDataCmd(void)
256 {
257 return;
258 }
259
260
261 ////////////////////////////////////////////////////////////////////////////
262 // I_Result::
263 //
264
I_Result(void)265 I_Result::I_Result(void)
266 {
267 }
268
~I_Result(void)269 I_Result::~I_Result(void)
270 {
271 return;
272 }
273
GetImageOrTextDescriptor(void)274 I_BlobDescriptor* I_Result::GetImageOrTextDescriptor(void)
275 {
276 return GetBlobDescriptor();
277 }
278
279
280 ////////////////////////////////////////////////////////////////////////////
281 // I_DriverContext::
282 //
283
I_DriverContext(void)284 I_DriverContext::I_DriverContext(void)
285 {
286 return;
287 }
288
~I_DriverContext(void)289 I_DriverContext::~I_DriverContext(void)
290 {
291 return;
292 }
293
294 CDB_Connection*
Connect(const string & srv_name,const string & user_name,const string & passwd,TConnectionMode mode,bool reusable,const string & pool_name)295 I_DriverContext::Connect(
296 const string& srv_name,
297 const string& user_name,
298 const string& passwd,
299 TConnectionMode mode,
300 bool reusable,
301 const string& pool_name)
302 {
303 const CDBDefaultConnParams def_params(
304 srv_name,
305 user_name,
306 passwd,
307 mode,
308 reusable,
309 pool_name
310 );
311 const CCPPToolkitConnParams params(def_params);
312
313 return MakeConnection(params);
314 }
315
316 CDB_Connection*
ConnectValidated(const string & srv_name,const string & user_name,const string & passwd,IConnValidator & validator,TConnectionMode mode,bool reusable,const string & pool_name)317 I_DriverContext::ConnectValidated(
318 const string& srv_name,
319 const string& user_name,
320 const string& passwd,
321 IConnValidator& validator,
322 TConnectionMode mode,
323 bool reusable,
324 const string& pool_name)
325 {
326 CDBDefaultConnParams def_params(
327 srv_name,
328 user_name,
329 passwd,
330 mode,
331 reusable,
332 pool_name
333 );
334 def_params.SetConnValidator(CRef<IConnValidator>(&validator));
335
336 const CCPPToolkitConnParams params(def_params);
337
338
339 return MakeConnection(params);
340 }
341
GetDriverName(void) const342 string I_DriverContext::GetDriverName(void) const
343 {
344 return kEmptyStr;
345 }
346
347 ////////////////////////////////////////////////////////////////////////////
I_Connection(void)348 I_Connection::I_Connection(void)
349 {
350 }
351
~I_Connection(void)352 I_Connection::~I_Connection(void)
353 {
354 return;
355 }
356
357
358 END_NCBI_SCOPE
359
360
361