Below is the program I'm using to create the tables in Pick. It's a bit easier use my CLI tools and to make it a BASIC program. This way I can delete and recreate things on demand.
I've renamed all the tables and also changed the attribute names. Ideally it matches exactly but I'd rather aim for the essence of the test rather than trying to be an exact match.
The program can then be run by doing:
BASIC BP TPCH.SCHEMA
RUN BP TPCH.SCHEMA
TPCH.SCHEMA:
*
EXECUTE 'CREATE-FILE COUNTRY-TABLE'
*
EXECUTE 'ADD-DICT -F COUNTRY-TABLE -A 1 -N NAME'
EXECUTE 'ADD-DICT -F COUNTRY-TABLE -A 2 -N REGION'
EXECUTE 'ADD-DICT -F COUNTRY-TABLE -A 3 -N COMMENTS'
*
PRINT
*
EXECUTE 'CREATE-FILE REGION-TABLE'
*
EXECUTE 'ADD-DICT -F REGION-TABLE -A 1 -N NAME'
EXECUTE 'ADD-DICT -F REGION-TABLE -A 2 -N COMMENTS'
*
PRINT
*
EXECUTE 'CREATE-FILE INVENTORY-FILE'
*
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 1 -N NAME'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 2 -N MANUFACTURER'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 3 -N BRAND'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 4 -N TYPE'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 5 -N SIZE'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 6 -N CONTAINER'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 7 -N RETAIL.PRICE -J R'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 8 -N COMMENTS'
*
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 9 -N SUPPLIER'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 10 -N QUANTITY -J R'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 11 -N SUPPLY.COST -J R'
EXECUTE 'ADD-DICT -F INVENTORY-FILE -A 12 -N SUPPLIER.COMMENTS'
*
PRINT
*
EXECUTE 'CREATE-FILE SUPPLIER-FILE'
*
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 1 -N NAME'
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 2 -N ADDRESS'
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 3 -N COUNTRY'
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 4 -N PHONE'
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 5 -N ACCOUNT.BALANCE'
EXECUTE 'ADD-DICT -F SUPPLIER-FILE -A 6 -N COMMENTS'
*
EXECUTE 'CREATE-FILE CUSTOMER-FILE'
*
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 1 -N NAME'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 2 -N ADDRESS'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 3 -N COUNTRY'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 4 -N PHONE'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 5 -N ACCOUNT.BALANCE'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 6 -N MARKET.SEGMENT'
EXECUTE 'ADD-DICT -F CUSTOMER-FILE -A 7 -N COMMENTS'
*
EXECUTE 'CREATE-FILE ORDER-FILE'
*
EXECUTE 'ADD-DICT -F ORDER-FILE -A 1 -N CUSTOMER'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 2 -N STATUS'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 3 -N TOTAL.PRICE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 4 -N DATE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 5 -N PRIORITY'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 6 -N CLERK'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 7 -N SHIP.PRIORITY'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 8 -N COMMENTS'
*
EXECUTE 'ADD-DICT -F ORDER-FILE -A 9 -N PRODUCT'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 10 -N SUPPLIER'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 11 -N QUANTITY'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 12 -N EXTENDED.PRICE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 13 -N DISCOUNT'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 14 -N TAX'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 15 -N RETURN.FLAG'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 16 -N LINE.STATUS'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 17 -N SHIP.DATE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 18 -N COMMIT.DATE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 19 -N RECEIPT.DATE'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 20 -N SHIPPING.INSTRUCTIONS'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 21 -N SHIP.VIA'
EXECUTE 'ADD-DICT -F ORDER-FILE -A 22 -N COMMENTS'
*
STOP
*
* END OF PROGRAM
*
END
*