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
19namespace 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
72void CreateTPCESchema(duckdb::DuckDB &db, duckdb::Connection &con, std::string &schema, std::string &suffix);
73
74} /* namespace TPCE */
75