Initial directory structure.

git-svn-id: http://datapath.googlecode.com/svn/trunk@1 4386ba03-4729-655b-538b-0d775d94e7a0
Initial commit. Some stuff may be broken.


git-svn-id: http://datapath.googlecode.com/svn/trunk@38 4386ba03-4729-655b-538b-0d775d94e7a0
Modified svn:ignore so that .o files are ignored.

Fixed a bug in the DPtree grammar where a MATCH expression had no result type.

Some changes to the TPCH-Q2 query.


git-svn-id: http://datapath.googlecode.com/svn/trunk@39 4386ba03-4729-655b-538b-0d775d94e7a0
Major fix to GroupByGLA. Added ExtremeTuplesGLA. Formatting changes to some files.

GroupByGLA previously did not call Finalize() on all of its member GLAs when
being finalized itself. This has been corrected.

ExtremeTuplesGLA added. This GLA collects all tuples that have a ranking set of
attributes equal to the extreme of those attributes in that set of data
(i.e. maximum or minimum, specified per attribute). If there is more than
one attribute in the ranking set, one tuple being "better" than another is
compared in order of first ranking attribute to last (i.e. the first
ranking attribute is most significant).

Some formatting changes were made to some files. This mostly includes removal
of excess whitespace (whitespace at the end of a line) and changing tabs to
spaces. In particular, significant formatting changes were made to the
Join LHS work function and WPLib in order to make the generated code easier
to read and look more like it was generated by hand.

Some minor changes were made to the svn:ignore property of some directories
to remove files that are generated during compilation or at runtime.


git-svn-id: http://datapath.googlecode.com/svn/trunk@40 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed an issue with my use of stringstream.


git-svn-id: http://datapath.googlecode.com/svn/trunk@41 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed OrderByGLA. Changed delimiter for print output. Meta-GLAs only call Finalize on multi GLAs.

OrderByGLA now performs properly. It is now less efficient than TopKGLA for
a single ranking attribute, but it is more flexible.

The delimiter was changed for the output of data in the Print waypoint from
comma (',') to the pipe ('|'). This makes it play better with TPCH data,
which sometimes contains commas in strings. The delimiter will be changed
to be configurable sometime in the future. The delimiter for column names
and types still needs to be changed.

The ToString method for HString was changed to surround the value in double
quotes. This allows for the output delimiter, whatever it may be, to be
safely contained within the string. In the future, it may be useful to be
able to define the surrounding character for HStrings.

Note: the ToString method currently does not check to ensure that there
are no double quotes within the string. This will be required in the
future for correctness (any double quotes found within the string will
need to be prefixed with a backslash to escape them).

The testing facility was modified in accordance to the delimiter and HString
changes.

The Meta-GLAs GroupByGLA, Multiplexer, and Repeater were modified to only call
finalize on 'multi' GLAs. 'single' GLAs do not require a finalize method,
and as such calling Finalize on them is an error. None of the Meta-GLAs
currently support fragmented GLAs as members, although it would be
possible to do so.

The TPCH query files were modified in accordance with the changes to the
delimiters and such.

TPC-H Query 2 now works properly. Query 1 and 6 still work.
Queries 3-5 still need to be modified to work properly and tested.
TPC-H Queries 7+ still need to be translated to Piggy.


git-svn-id: http://datapath.googlecode.com/svn/trunk@42 4386ba03-4729-655b-538b-0d775d94e7a0
Removed some unneeded directories.


git-svn-id: http://datapath.googlecode.com/svn/trunk@43 4386ba03-4729-655b-538b-0d775d94e7a0
Made extra sure GroupBy won't call Finalize on single GLAs. Changed tester parsing.

Tester now does not discard any whitespace, quoting characters imbedded inside
quoted text can be escaped by putting 2 of the quoting character.


git-svn-id: http://datapath.googlecode.com/svn/trunk@44 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed problem with HString (Issue #5). Changed queries and a few GLAs to match.

HString now creates a local copy of its string if it is not in the dictionary
and it is created using the standard constructors or is copied from an
HString that is using local storage for its string.

NOTE: This means that when writing GLAs, if you want to input in the GLA,
YOU NEED TO USE THE COPY CONSTRUCTOR. Otherwise, you may lose information
in HStrings.

In the future, a copy operation will be added for all types so that there is
an alternative to using the copy constructor, as that may not be possible
in all cases.


git-svn-id: http://datapath.googlecode.com/svn/trunk@45 4386ba03-4729-655b-538b-0d775d94e7a0
Added ability to specify libraries needed by GLAs inside the comments of the GLA.

Also cleaned up some of the work functions such that they will generate code
that has correct indentation and is generally more easily read.

Corrected some issues with the Distinct GLA that I missed when I changed it
to be compatible with the changes to how local copies of data from chunks
must be made.


git-svn-id: http://datapath.googlecode.com/svn/trunk@46 4386ba03-4729-655b-538b-0d775d94e7a0
Forgot to commit this file last time.


git-svn-id: http://datapath.googlecode.com/svn/trunk@47 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed an error with the M4 Code generation for Joins with multiple join attributes.


git-svn-id: http://datapath.googlecode.com/svn/trunk@48 4386ba03-4729-655b-538b-0d775d94e7a0
Changed how HStringIterator works

git-svn-id: http://datapath.googlecode.com/svn/trunk@49 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed a bug in HString ==. Added TPCH loader.

Fixed a bug in HString's == operator. Now HStrings that are equal should
always compare as equal and vice versa.

Added a utility to automatically load the TPC-H data set into the database.
Run load_tpch.py with -h or --help for information about parameters.
Requires Python version 2.

Parser now supports creating relations from Piggy.


git-svn-id: http://datapath.googlecode.com/svn/trunk@50 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed an issue with the GroupBy where states were merged incorrectly.


git-svn-id: http://datapath.googlecode.com/svn/trunk@51 4386ba03-4729-655b-538b-0d775d94e7a0
Fixed an issue with the TPC-H loading script.


git-svn-id: http://datapath.googlecode.com/svn/trunk@52 4386ba03-4729-655b-538b-0d775d94e7a0
Initial implementation of Segmented Meta-GLA. Fixed small bugs in GroupBy and Distinct.

There were small issues in GroupBy and Distinct where they could produce empty
fragments. This should be fixed now.

There is an initial implementation of the Segmented Meta-GLA, which turns a
normal GLA into one with segmented state. It mostly works, but there are
some bizarre issues that cause aborts only sometimes. I'm currently
debugging this.

I also removed DataTypes.m4 in the Generated folder from version control, as it
was causing strange issues, as everything in the Generated folder is on
svn:ignore. Instead, a link to the correct file is automatically created if
it does not already exist.


git-svn-id: http://datapath.googlecode.com/svn/trunk@53 4386ba03-4729-655b-538b-0d775d94e7a0
Added IN/NOT IN

git-svn-id: http://datapath.googlecode.com/svn/trunk@54 4386ba03-4729-655b-538b-0d775d94e7a0
Added SSB benchmark

git-svn-id: http://datapath.googlecode.com/svn/trunk@55 4386ba03-4729-655b-538b-0d775d94e7a0
GLA waypoint now has separate fragment count step. More fixes to Segmented GLA.

The GLA waypoint now only determines the number of fragments that a state will
generate once, after all merges have occurred, instead of after every merge.

The Segmented GLA also has some minor fixes. The above GLA waypoint fix also
seems to have removed most of the instability from the Segmented GLA.


git-svn-id: http://datapath.googlecode.com/svn/trunk@56 4386ba03-4729-655b-538b-0d775d94e7a0