Set a proper type for string literals on ConstantColumn ctor
to fix the regression produced by MCOL-174.
Removed OPTIMIZER_SWITCH_EXISTS_TO_IN b/c MDB produces
unsupported optimization with it and CS couldn't create
ExistsFilter.
This happens in external_lock() whilst locking the table.
Fixes LIMIT=1 optimization for EXISTS_SUBS subqueries.
external_lock() contains if condition that gives false positive
for SH + pushed conditions.
external_lock() now resets in_subquery_conversion_threshold
variable that governs IN_INTO_SUBQUERY optimization for
queries run in table mode.
external_lock() now purges dynamicall allocated condInfo for
SH and DH execution path.
Commented out UNION check b/c if condition gives false positives
and silently enables table mode execution for queries w/o
UNION.
I returned if predicate that guards FE-BE initial connection
block. This predicated had been removed by accident in cb36041
Since we switched to internal ORDER BY FE now reduces the
default limit value to uint64-2 this broke a predicate check
for correlated subqueries. I replaced a predicate with more
reasonable to avoid false positives.
call.
CS doesn't use SH for SELECT..INTO OUTFILE queries.
Clean up gwi::physTableList when processing Storage API request.
SH now explicitly set an execution error in THD::stmt_da.
SH now set queryState in select_next() to mark a begging of the execution.
SH query execution migrated from SH::init() into create_SH().
There is a session variable columnstore_processing_handlers_fallback
that allows to fallback to DH, GBH if SH fails. DH now uses semantic
tree check for unsupported features to allow to fallback to GBH or
storage API.
Fixes GBH related bug when create_GBH() returns a handler for
queries with impossible WHERE/HAVING.
Fixed bug in FromSubquery::transform() where isUnion is set to true.
Enabled RTTI b/c server team enabled it for MDB.
Removed unused code supposed to be used with vtable.
The MariaDB handler API changed for write_row(). The 'buf' parameter is
now a 'const'. This meant that our implementation didn't match the
virtual call so ours was no longer called. This implemented the 'const'.
We preserve union related condition blocks until UNION-capable smart handler.
Removed a number of commented code blocks.
Add projection list REAL and TIME constants, e.g
SELECT TIME'10:20:30', TIMESTAMP'2001-01-01 10:20:30', DATE'2001-01-01' FROM cs1;
Marked potentially useless block in ORDER BY processing for future removal.
Removed string variables used for reconstructed query in the pre-1.4 fork.
Removed cp_get_plan().
GBH doesn't step in if SH processes the query.
All smart handlers now correctly processes impossible WHERE and HAVING.
to avoid accedental crashes.
Add check for Conversion of Big IN Predicates Into Subqueries optimization
conditions.
Enabled derivedTableOptimization() for group by and derived handlers.
Disabled Conversion of Big IN Predicates Into Subqueries optimization.
Disabled most of optimizer_flags for now.
RowGroup + operator now correctly sets useStringTable flag that
instructs code to check StringStore instead of plain data buffer.
sortItemIsInGroupRec() now has a base case for Item_Field and this prevents unbound recursion.
Fixes fromSub() call with incorrect number of arguments.
CS now doesn't ask for statistics unless a user explicitly asks for it using calsettrace().
FromSubQuery() is no pushdown aware.
Actualize OUTER_JOIN_DEBUG section in ha_calpont_execplan.cpp
to be used with 10.4.
Enabled derivedTableOptimization() for select handler.
Fix crash in ha_calpont_impl_close_connection()
Fix leak in ci.tableMap.
Removed extra returns in pushdown_init to avoid crashes.
create_select_handler now detects INSERT..SELECT.
buildConstColFromFilter now uses any kind of filter to supply
relevant columns.
Remove strings used by vtable redo phase.
Make FromSubQuery aware of Pushdown handlers.
Changed debug_walk to work around changed Item framework.
Temporary disabled derived handler and unsupported features checks.
CS now uses hton->close_connection() method to release all FEP
connections from MDB to ExeMgr.
Refactor fetchNextRow() to remove decimal and double precision
changes.
Used Item attribute getters introduced by 10.4
Make changes to support Item::CONST_ITEM introduced by 10.4
as a replacement for INT_,REAL_,STRING_ ITEM.
Replaced QT_INFINIDB_DERIVED and similar flags
with correponded flags for Item->print().
Replaced or commented out infinidb_ variable names with columnstore_
where applicable.
Fixed an impossible precision typo.
Used Item attribute getters introduced by 10.4
Make changes to support Item::CONST_ITEM introduced by 10.4
as a replacement for INT_,REAL_,STRING_ ITEM.
Replaced QT_INFINIDB_DERIVED and similar flags
with correponded flags for Item->print().
Replaced or commented out infinidb_ variable names with columnstore_
where applicable.
SELECT_LEX had been moved in THD so changed all references.
Avoid writing CS decimal scales into MDB decimal fields
d-only dec attribute. WIP
Replaced infinidb_vtable with a singleton MIGR.
Merged with MCOL-2121.
Added new wsrep include paths needed by UDaF code.
Removed .vcxproj from Connector code.
Renamed isInfiniDB() into isMCSTable
Changed getSelectPlan() to reuse it with derived and
other handler types.
Separate pushdown handlers methods and functions.
Removed vcxproj files from the source.
Added fix for MCOL-2166.
Merged with MCOL-2121
I reformulate the messages.
Changed version in preprocessor conditions to avoid compilation
warnings in Debian 9.
Disabled sign-compare check for generated files in DML/DDL.
good for transmiting cal_connection_info to handler::close_connection().
This variables are then erased in THD::cleanup() and the cal_connection_info
is replaced in handler::delete_table with an empty structure.
handler::close_connection() recevies cal_connection_info with empty cal_conn_hndl.
This patch uses THD::ha_data that is supposed to be used in such occasions.
This patch will allow MariaDB replication into UM1 when enabling the
following is added to the SystemConfig section of Columnstore.xml:
<ReplicationEnabled>Y</ReplicationEnabled>
The intended use case is to replication from an InnoDB MariaDB server
into ColumnStore. You would need to create the tables on the ColumnStore
slave as "ColumnStore" and the same tables in the master as InnoDB.
At the moment the use case is narrow and could be prone to problems so
this will use the hidden flag until we can improve it.