starting phase 2

adding function to DDLFunctions
I'm progress
Merge branch 'Create-Table-As-Select' into CreateTableAsSelect2

Conflicts:
	src/main/java/com/foundationdb/sql/aisddl/TableDDL.java
Merge branch 'Create-Table-As-Select' into CreateTableAsSelect2
Rough version of most onlineHelper and basicDDLfn

CreateAsCompiler created for use by CreateA
Most necessary functions in BasicDDLFunctions and OnlineHelper are
constructed
TableDDL now parses the original statement into just the Select part of
the statement for the building of the operator plan
Tests have been build but haven’t been run yet
TODO: complete the construction of the operator tree for the select
statement during ConcurrentDML
fine tuning functions and cleaning up

cleaning up and fixing up some problems
Merge branch 'master' into CreateTableAsSelect2

Conflicts:
	src/main/java/com/foundationdb/server/store/OnlineHelper.java
	src/main/java/com/foundationdb/sql/aisddl/TableDDL.java
Fixing Compiler and Adding Rule

Added rule to compiler to be used by the CreateAs compiler that
replaces TableSource with a CreateAs that is used to assemble into
EmitBoundRow_Nexted
Also updated compiler constructor to be simpler
Cleaning/Fixing OnlineHelper/Compiler/BasicDDL

f
Fixing up OnlineHelper and Compiler

instead of placing a insert_return on top of the operator plan now the
statement has “insert into <tableName> added to the front
The compiler now uses onlineAIS to build the plan since the table its
adding to only exits online
Testing and OnlineHelper fixed

New testing added and old fixed up, currently all tests are being passed
(These tests don’t test alterations that occur to the source table
while the online table is being created)
Fixed up the buildTransformCache to build the operator plans the same
way they are built in CreateTableAs
Fixing up functionality

Server and san query now passed down to createTable
BasicDDLFunctions CreateTable is fixed up
OnlineHelper CreateAsSelect fixed up
Assembly/Compile changes

New rule is not run for plans that are used to insert and delete from
an online create as operation
Rule changes table source into an EmitBoundRow_Nexted with a valueScan
holding a dummy row below it, the inserted/deleted row comes from the
bindings via Emit
Rule in progress to deal with ColumnExpression
OnlineCreateTableAsMT

Multithreaded test added for CreateAs operations
Other files given overloaded methods to handle these tests
Fixing functionality

createTable: adding 2 change sets in progress, fixing functionality
FDBStore now won’t rename if create as function
OnlineHelper fixed delete plan in table transform and cleaned up
functionality
API now passes past and future row type to InsertReturning

dealing with column expressions in plan:
new ColumnExpression constructor added
costBoundRow to help process column expressions in plan
rules added to deal with columnExpressions, they are replaced by new
column expressions holding proper data
ExpressionAssembler now lets them pass and createAs nodes
JoinAndIndexPicker does throw exception for CreateAs and
CreateAsPlanClass added
OperatorAssembler can extract rowType from createAs or tableID
TypeResolver lets CreateAs pass

Testing
Testing fixed up to compare to correct new table
schemfactory cleaned up
IgnoreNewPK added to testing compare rows to ignore newly added pk row
in create as select table
Testing features to remove later

testing features to remove later
printing stack trace and lettings transaction run longer
Merge branch 'master' into CreateTableAsSelect2

Conflicts:
	src/main/java/com/foundationdb/server/store/OnlineHelper.java
	src/main/java/com/foundationdb/sql/aisddl/TableDDL.java
	src/main/resources/com/foundationdb/server/error/error_code.properties
	src/test/java/com/foundationdb/server/test/mt/OnlineMTBase.java
fixing after merge

fixing errors resulting from merging with master
Error in TableDDL and change sets

fixed error that was causing tableDDL to fail with non createAs table
creations
added from table to change sets
Further Along

Fix in TypeResolver.finishCast so PrepTimeValue is set for the CreateAs
cleaning up CreateAs
Fixing up OnlineHelper now concurrentDML is working up until the top
level of insertion in table**possibly due to row pk value**
New run plan added to OnlineHelper used exclusively by CreateTableAs.