/* * Legal Notice * * This document and associated source code (the "Work") is a part of a * benchmark specification maintained by the TPC. * * The TPC reserves all right, title, and interest to the Work as provided * under U.S. and international laws, including without limitation all patent * and trademark rights therein. * * No Warranty * * 1.1 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE INFORMATION * CONTAINED HEREIN IS PROVIDED "AS IS" AND WITH ALL FAULTS, AND THE * AUTHORS AND DEVELOPERS OF THE WORK HEREBY DISCLAIM ALL OTHER * WARRANTIES AND CONDITIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, * INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) IMPLIED WARRANTIES, * DUTIES OR CONDITIONS OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR * PURPOSE, OF ACCURACY OR COMPLETENESS OF RESPONSES, OF RESULTS, OF * WORKMANLIKE EFFORT, OF LACK OF VIRUSES, AND OF LACK OF NEGLIGENCE. * ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, * QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT * WITH REGARD TO THE WORK. * 1.2 IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THE WORK BE LIABLE TO * ANY OTHER PARTY FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO THE * COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS * OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, * INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, * OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT * RELATING TO THE WORK, WHETHER OR NOT SUCH AUTHOR OR DEVELOPER HAD * ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. * * Contributors * - Sergey Vasilevskiy * - Doug Johnson */ /* * ODBC loader class factory for MS SQL Server. * This class instantiates particular table loader classes. */ #ifndef ODBC_LOADER_FACTORY_H #define ODBC_LOADER_FACTORY_H namespace TPCE { class CODBCLoaderFactory : public CBaseLoaderFactory { char m_szServer[iMaxHostname]; // database server name char m_szDB[iMaxDBName]; // database name char m_szLoaderParams[1024]; // optional parameters public: // Constructor CODBCLoaderFactory(char *szServer, char *szDatabase, char *szLoaderParams) { assert(szServer); assert(szDatabase); strncpy(m_szServer, szServer, sizeof(m_szServer)); strncpy(m_szDB, szDatabase, sizeof(m_szDB)); strncpy(m_szLoaderParams, szLoaderParams, sizeof(m_szLoaderParams)); } // Functions to create loader classes for individual tables. virtual CBaseLoader *CreateAccountPermissionLoader() { return new CODBCAccountPermissionLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateAddressLoader() { return new CODBCAddressLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateBrokerLoader() { return new CODBCBrokerLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCashTransactionLoader() { return new CODBCCashTransactionLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateChargeLoader() { return new CODBCChargeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCommissionRateLoader() { return new CODBCCommissionRateLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCompanyCompetitorLoader() { return new CODBCCompanyCompetitorLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCompanyLoader() { return new CODBCCompanyLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCustomerAccountLoader() { return new CODBCCustomerAccountLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCustomerLoader() { return new CODBCCustomerLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateCustomerTaxrateLoader() { return new CODBCCustomerTaxRateLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateDailyMarketLoader() { return new CODBCDailyMarketLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateExchangeLoader() { return new CODBCExchangeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateFinancialLoader() { return new CODBCFinancialLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateHoldingLoader() { return new CODBCHoldingLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateHoldingHistoryLoader() { return new CODBCHoldingHistoryLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateHoldingSummaryLoader() { return new CODBCHoldingSummaryLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateIndustryLoader() { return new CODBCIndustryLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateLastTradeLoader() { return new CODBCLastTradeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateNewsItemLoader() { return new CODBCNewsItemLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateNewsXRefLoader() { return new CODBCNewsXRefLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateSectorLoader() { return new CODBCSectorLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateSecurityLoader() { return new CODBCSecurityLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateSettlementLoader() { return new CODBCSettlementLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateStatusTypeLoader() { return new CODBCStatusTypeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateTaxRateLoader() { return new CODBCTaxRateLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateTradeHistoryLoader() { return new CODBCTradeHistoryLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateTradeLoader() { return new CODBCTradeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateTradeRequestLoader() { return new CODBCTradeRequestLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateTradeTypeLoader() { return new CODBCTradeTypeLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateWatchItemLoader() { return new CODBCWatchItemLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateWatchListLoader() { return new CODBCWatchListLoad(m_szServer, m_szDB, m_szLoaderParams); }; virtual CBaseLoader *CreateZipCodeLoader() { return new CODBCZipCodeLoad(m_szServer, m_szDB, m_szLoaderParams); }; }; } // namespace TPCE #endif // ODBC_LOADER_FACTORY_H