Both the tables being crossed should exist in the system
If there are columns with the same names in the two tables, the columns are indexed with the table name. If both tables being crossed are the same, table names are indexed with '1' and '2'
Run: cross_AA <- CROSS A A
A(A, B) x A(A, B) -> cross_AA(A1_A, A1_B, A2_A, A2_B)
SELECTION
Syntax
<new_table_name><- SELECT <condition> FROM <table_name>
Load splits and stores the table into blocks. For this we utilise the Buffer Manager
Buffer Manager follows a FIFO paradigm. Essentially a queue
Table Catalogue
The table catalogue is an index of tables currently loaded into the system
Cursors
A cursor is an object that acts like a pointer in a table. To read from a table, you need to declare a cursor.
Run: R <- SELECT a == 1 FROM A with debugger
Logger
Every function call is logged in file names "log"
Project*
Phase 1: Code Familiarity (to be released today/tomorrow max)
Phase 2: 2 Phase Merge Sort
Phase 3: Indexing
Phase 4: Indexing Optimized Operators
Phase 4: Optimisation (SOURCE)
Note: may include duplicate elimination
Tentative
Project Rules
Plagiarism: F
Not sticking to submission guidelines will lead to penalties and at times to scoring 0
Project phases build on top of each other, failing to do one phase may hinder the rest
If for any reason you fail to complete the project on time, please mail the Prof directly for extensions and not the TAs, the TAs have no jurisdiction in these cases
Adminstrative Rules
No informal contact with the TAs, you may post on Moodle regarding any doubts. A forum will be created for the same