| 1 | |
|---|---|
| 2 | //////////////////////////////////////////////////////////////////// |
| 3 | //////////////////////////////////////////////////////////////////// |
| 4 | // THIS FILE IS GENERATED BY gentpcecode.py, DO NOT EDIT MANUALLY // |
| 5 | //////////////////////////////////////////////////////////////////// |
| 6 | //////////////////////////////////////////////////////////////////// |
| 7 | |
| 8 | |
| 9 | #include "duckdb/catalog/catalog.hpp" |
| 10 | #include "duckdb/main/appender.hpp" |
| 11 | #include "duckdb/main/connection.hpp" |
| 12 | #include "duckdb/main/database.hpp" |
| 13 | |
| 14 | #include "main/BaseLoader.h" |
| 15 | #include "main/BaseLoaderFactory.h" |
| 16 | #include "main/NullLoader.h" |
| 17 | #include "main/TableRows.h" |
| 18 | |
| 19 | namespace TPCE { |
| 20 | class DuckDBLoaderFactory : public CBaseLoaderFactory { |
| 21 | duckdb::Connection &con; |
| 22 | std::string schema; |
| 23 | std::string suffix; |
| 24 | |
| 25 | public: |
| 26 | DuckDBLoaderFactory(duckdb::Connection &con, std::string schema, |
| 27 | std::string suffix) |
| 28 | : con(con), schema(schema), suffix(suffix) { |
| 29 | } |
| 30 | |
| 31 | // Functions to create loader classes for individual tables. |
| 32 | virtual CBaseLoader<ACCOUNT_PERMISSION_ROW> * |
| 33 | CreateAccountPermissionLoader(); |
| 34 | virtual CBaseLoader<ADDRESS_ROW> *CreateAddressLoader(); |
| 35 | virtual CBaseLoader<BROKER_ROW> *CreateBrokerLoader(); |
| 36 | virtual CBaseLoader<CASH_TRANSACTION_ROW> * |
| 37 | CreateCashTransactionLoader(); |
| 38 | virtual CBaseLoader<CHARGE_ROW> *CreateChargeLoader(); |
| 39 | virtual CBaseLoader<COMMISSION_RATE_ROW> *CreateCommissionRateLoader(); |
| 40 | virtual CBaseLoader<COMPANY_COMPETITOR_ROW> * |
| 41 | CreateCompanyCompetitorLoader(); |
| 42 | virtual CBaseLoader<COMPANY_ROW> *CreateCompanyLoader(); |
| 43 | virtual CBaseLoader<CUSTOMER_ACCOUNT_ROW> * |
| 44 | CreateCustomerAccountLoader(); |
| 45 | virtual CBaseLoader<CUSTOMER_ROW> *CreateCustomerLoader(); |
| 46 | virtual CBaseLoader<CUSTOMER_TAXRATE_ROW> * |
| 47 | CreateCustomerTaxrateLoader(); |
| 48 | virtual CBaseLoader<DAILY_MARKET_ROW> *CreateDailyMarketLoader(); |
| 49 | virtual CBaseLoader<EXCHANGE_ROW> *CreateExchangeLoader(); |
| 50 | virtual CBaseLoader<FINANCIAL_ROW> *CreateFinancialLoader(); |
| 51 | virtual CBaseLoader<HOLDING_ROW> *CreateHoldingLoader(); |
| 52 | virtual CBaseLoader<HOLDING_HISTORY_ROW> *CreateHoldingHistoryLoader(); |
| 53 | virtual CBaseLoader<HOLDING_SUMMARY_ROW> *CreateHoldingSummaryLoader(); |
| 54 | virtual CBaseLoader<INDUSTRY_ROW> *CreateIndustryLoader(); |
| 55 | virtual CBaseLoader<LAST_TRADE_ROW> *CreateLastTradeLoader(); |
| 56 | virtual CBaseLoader<NEWS_ITEM_ROW> *CreateNewsItemLoader(); |
| 57 | virtual CBaseLoader<NEWS_XREF_ROW> *CreateNewsXRefLoader(); |
| 58 | virtual CBaseLoader<SECTOR_ROW> *CreateSectorLoader(); |
| 59 | virtual CBaseLoader<SECURITY_ROW> *CreateSecurityLoader(); |
| 60 | virtual CBaseLoader<SETTLEMENT_ROW> *CreateSettlementLoader(); |
| 61 | virtual CBaseLoader<STATUS_TYPE_ROW> *CreateStatusTypeLoader(); |
| 62 | virtual CBaseLoader<TAX_RATE_ROW> *CreateTaxRateLoader(); |
| 63 | virtual CBaseLoader<TRADE_HISTORY_ROW> *CreateTradeHistoryLoader(); |
| 64 | virtual CBaseLoader<TRADE_ROW> *CreateTradeLoader(); |
| 65 | virtual CBaseLoader<TRADE_REQUEST_ROW> *CreateTradeRequestLoader(); |
| 66 | virtual CBaseLoader<TRADE_TYPE_ROW> *CreateTradeTypeLoader(); |
| 67 | virtual CBaseLoader<WATCH_ITEM_ROW> *CreateWatchItemLoader(); |
| 68 | virtual CBaseLoader<WATCH_LIST_ROW> *CreateWatchListLoader(); |
| 69 | virtual CBaseLoader<ZIP_CODE_ROW> *CreateZipCodeLoader(); |
| 70 | }; |
| 71 | |
| 72 | void CreateTPCESchema(duckdb::DuckDB &db, duckdb::Connection &con, std::string &schema, std::string &suffix); |
| 73 | |
| 74 | } /* namespace TPCE */ |
| 75 |