📄 interfaces.hpp
字号:
friend class CDBL_Connection;protected: CDBL_BCPInCmd(CDBL_Connection* con, DBPROCESS* cmd, const string& table_name, unsigned int nof_columns); virtual bool Bind(unsigned int column_num, CDB_Object* param_ptr); virtual bool SendRow(); virtual bool CompleteBatch(); virtual bool Cancel(); virtual bool CompleteBCP(); virtual void Release(); ~CDBL_BCPInCmd();private: bool x_AssignParams(void* pb); CDBL_Connection* m_Connect; DBPROCESS* m_Cmd; CDB_Params m_Params; bool m_WasSent; bool m_HasFailed; bool m_HasTextImage; bool m_WasBound;};///////////////////////////////////////////////////////////////////////////////// CDBL_SendDataCmd:://class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_SendDataCmd : public I_SendDataCmd { friend class CDBL_Connection;protected: CDBL_SendDataCmd(CDBL_Connection* con, DBPROCESS* cmd, size_t nof_bytes); virtual size_t SendChunk(const void* chunk_ptr, size_t nof_bytes); virtual void Release(); ~CDBL_SendDataCmd();private: CDBL_Connection* m_Connect; DBPROCESS* m_Cmd; size_t m_Bytes2go;};///////////////////////////////////////////////////////////////////////////////// SDBL_ColDescr:://struct SDBL_ColDescr{ DBINT max_length; EDB_Type data_type; string col_name;};///////////////////////////////////////////////////////////////////////////////// CDBL_RowResult:://class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_RowResult : public I_Result{ friend class CDBL_LangCmd; friend class CDBL_RPCCmd; friend class CDBL_Connection;protected: CDBL_RowResult(DBPROCESS* cmd, unsigned int* res_status, bool need_init = true); virtual EDB_ResType ResultType() const; virtual unsigned int NofItems() const; virtual const char* ItemName (unsigned int item_num) const; virtual size_t ItemMaxSize (unsigned int item_num) const; virtual EDB_Type ItemDataType(unsigned int item_num) const; virtual bool Fetch(); virtual int CurrentItemNo() const; virtual CDB_Object* GetItem(CDB_Object* item_buf = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual bool SkipItem(); virtual ~CDBL_RowResult(); // data DBPROCESS* m_Cmd; int m_CurrItem; bool m_EOR; unsigned int m_NofCols; int m_CmdNum; unsigned int* m_ResStatus; size_t m_Offset; SDBL_ColDescr* m_ColFmt;};///////////////////////////////////////////////////////////////////////////////// CDBL_BlobResult:://class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_BlobResult : public I_Result{ friend class CDBL_LangCmd; friend class CDBL_RPCCmd; friend class CDBL_Connection;protected: CDBL_BlobResult(DBPROCESS* cmd); virtual EDB_ResType ResultType() const; virtual unsigned int NofItems() const; virtual const char* ItemName (unsigned int item_num) const; virtual size_t ItemMaxSize (unsigned int item_num) const; virtual EDB_Type ItemDataType(unsigned int item_num) const; virtual bool Fetch(); virtual int CurrentItemNo() const; virtual CDB_Object* GetItem(CDB_Object* item_buf = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual bool SkipItem(); virtual ~CDBL_BlobResult(); // data DBPROCESS* m_Cmd; int m_CurrItem; bool m_EOR; int m_CmdNum; char m_Buff[2048]; SDBL_ColDescr m_ColFmt; int m_BytesInBuffer; int m_ReadedBytes;};///////////////////////////////////////////////////////////////////////////////// CDBL_ParamResult::// CDBL_ComputeResult::// CDBL_StatusResult::// CDBL_CursorResult:://class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_ParamResult : public CDBL_RowResult{ friend class CDBL_LangCmd; friend class CDBL_RPCCmd; friend class CDBL_Connection;protected: CDBL_ParamResult(DBPROCESS* cmd, int nof_params); virtual EDB_ResType ResultType() const; virtual bool Fetch(); virtual CDB_Object* GetItem(CDB_Object* item_buff = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual ~CDBL_ParamResult(); // data bool m_1stFetch;};class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_ComputeResult : public CDBL_RowResult{ friend class CDBL_LangCmd; friend class CDBL_RPCCmd; friend class CDBL_Connection;protected: CDBL_ComputeResult(DBPROCESS* cmd, unsigned int* res_stat); virtual EDB_ResType ResultType() const; virtual bool Fetch(); virtual int CurrentItemNo() const; virtual CDB_Object* GetItem(CDB_Object* item_buff = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual ~CDBL_ComputeResult(); // data int m_ComputeId; bool m_1stFetch;};class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_StatusResult : public I_Result{ friend class CDBL_LangCmd; friend class CDBL_RPCCmd; friend class CDBL_Connection;protected: CDBL_StatusResult(DBPROCESS* cmd); virtual EDB_ResType ResultType() const; virtual unsigned int NofItems() const; virtual const char* ItemName (unsigned int item_num) const; virtual size_t ItemMaxSize (unsigned int item_num) const; virtual EDB_Type ItemDataType(unsigned int item_num) const; virtual bool Fetch(); virtual int CurrentItemNo() const ; virtual CDB_Object* GetItem(CDB_Object* item_buff = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual bool SkipItem(); virtual ~CDBL_StatusResult(); // data int m_Val; size_t m_Offset; bool m_1stFetch;};class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_CursorResult : public I_Result{ friend class CDBL_CursorCmd;protected: CDBL_CursorResult(CDB_LangCmd* cmd); virtual EDB_ResType ResultType() const; virtual unsigned int NofItems() const; virtual const char* ItemName (unsigned int item_num) const; virtual size_t ItemMaxSize (unsigned int item_num) const; virtual EDB_Type ItemDataType(unsigned int item_num) const; virtual bool Fetch(); virtual int CurrentItemNo() const; virtual CDB_Object* GetItem(CDB_Object* item_buff = 0); virtual size_t ReadItem(void* buffer, size_t buffer_size, bool* is_null = 0); virtual I_ITDescriptor* GetImageOrTextDescriptor(); virtual bool SkipItem(); virtual ~CDBL_CursorResult(); // data CDB_LangCmd* m_Cmd; CDB_Result* m_Res;};///////////////////////////////////////////////////////////////////////////////// CDBL_ITDescriptor:://#define CDBL_ITDESCRIPTOR_TYPE_MAGNUM 0xd00class NCBI_DBAPIDRIVER_DBLIB_EXPORT CDBL_ITDescriptor : public I_ITDescriptor{ friend class CDBL_RowResult; friend class CDBL_BlobResult; friend class CDBL_Connection; friend class CDBL_CursorCmd;public: virtual int DescriptorType() const; virtual ~CDBL_ITDescriptor();private: bool x_MakeObjName(DBCOLINFO* col_info);protected: CDBL_ITDescriptor(DBPROCESS* m_link, int col_num); CDBL_ITDescriptor(DBPROCESS* m_link, const CDB_ITDescriptor& inp_d); // data string m_ObjName; DBBINARY m_TxtPtr[DBTXPLEN]; DBBINARY m_TimeStamp[DBTXTSLEN]; bool m_TxtPtr_is_NULL; bool m_TimeStamp_is_NULL;};END_NCBI_SCOPE#endif /* DBAPI_DRIVER_DBLIB___INTERFACES__HPP *//* * =========================================================================== * $Log: interfaces.hpp,v $ * Revision 1000.0 2003/10/29 20:19:28 gouriano * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.18 * * Revision 1.18 2003/07/17 20:42:02 soussov * connections pool improvements * * Revision 1.17 2003/06/05 15:55:34 soussov * adds DumpResults method for LangCmd and RPC, SetResultProcessor method for Connection interface * * Revision 1.16 2003/04/01 20:27:17 vakatov * Temporarily rollback to R1.14 -- until more backward-incompatible * changes (in CException) are ready to commit (to avoid breaking the * compatibility twice). * * Revision 1.14 2003/02/13 15:43:00 ivanov * Added export specifier NCBI_DBAPIDRIVER_DBLIB_EXPORT for class definitions * * Revision 1.13 2002/07/02 16:03:28 soussov * splitting Sybase dblib and MS dblib * * Revision 1.12 2002/06/21 14:33:19 soussov * defines version for microsoft * * Revision 1.11 2002/06/19 16:46:31 soussov * changes default version from unknown to 46 * * Revision 1.10 2002/05/29 22:04:43 soussov * Makes BlobResult read ahead * * Revision 1.9 2002/03/28 00:39:49 vakatov * CDBL_CursorCmd:: use CDBL_CursorResult rather than I_Result (to fix access) * * Revision 1.8 2002/03/26 15:26:23 soussov * new image/text operations added * * Revision 1.7 2002/01/14 20:26:15 sapojnik * new SampleDBAPI_Blob, etc. * * Revision 1.6 2002/01/08 18:09:39 sapojnik * Syabse to MSSQL name translations moved to interface_p.hpp * * Revision 1.5 2002/01/08 15:58:00 sapojnik * Moved to const_syb2ms.hpp: Sybase dblib constants translations to * Microsoft-compatible ones * * Revision 1.4 2002/01/03 17:07:53 sapojnik * fixing CR/LF mixup * * Revision 1.3 2002/01/03 15:46:24 sapojnik * ported to MS SQL (about 12 'ifdef NCBI_OS_MSWIN' in 6 files) * * Revision 1.2 2001/10/24 16:36:05 lavr * Type of CDBL_*Result::m_Offset changed to 'size_t' * * Revision 1.1 2001/10/22 15:17:54 lavr * This is a major revamp (by Anton Lavrentiev, with help from Vladimir * Soussov and Denis Vakatov) of the DBAPI "driver" libs originally * written by Vladimir Soussov. The revamp follows the one of CTLib * driver, and it involved massive code shuffling and grooming, numerous * local API redesigns, adding comments and incorporating DBAPI to * the C++ Toolkit. * * =========================================================================== */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -