You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
Merge branch 'develop-1.1' into dev-merge-up-20180202
This commit is contained in:
@@ -108,7 +108,7 @@
|
||||
*/
|
||||
|
||||
#include "ha_calpont.h"
|
||||
#include "versionnumber.h"
|
||||
#include "columnstoreversion.h"
|
||||
|
||||
#define NEED_CALPONT_EXTERNS
|
||||
#include "ha_calpont_impl.h"
|
||||
@@ -201,7 +201,7 @@ static int columnstore_init_func(void* p)
|
||||
tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday,
|
||||
tm.tm_hour, tm.tm_min, tm.tm_sec);
|
||||
|
||||
fprintf(stderr, "Columnstore: Started; Version: %s-%s\n", idb_version.c_str(), idb_release.c_str());
|
||||
fprintf(stderr, "Columnstore: Started; Version: %s-%s\n", columnstore_version.c_str(), columnstore_release.c_str());
|
||||
|
||||
calpont_hton = (handlerton*)p;
|
||||
#ifndef _MSC_VER
|
||||
@@ -234,7 +234,7 @@ static int infinidb_init_func(void* p)
|
||||
tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday,
|
||||
tm.tm_hour, tm.tm_min, tm.tm_sec);
|
||||
|
||||
fprintf(stderr, "InfiniDB: Started; Version: %s-%s\n", idb_version.c_str(), idb_release.c_str());
|
||||
fprintf(stderr, "Columnstore: Started; Version: %s-%s\n", columnstore_version.c_str(), columnstore_release.c_str());
|
||||
|
||||
calpont_hton = (handlerton*)p;
|
||||
|
||||
|
@@ -239,7 +239,10 @@ public:
|
||||
THR_LOCK_DATA** store_lock(THD* thd, THR_LOCK_DATA** to,
|
||||
enum thr_lock_type lock_type); ///< required
|
||||
const COND* cond_push(const COND* cond);
|
||||
uint8 table_cache_type() { return HA_CACHE_TBL_NOCACHE; }
|
||||
uint8 table_cache_type()
|
||||
{
|
||||
return HA_CACHE_TBL_NOCACHE;
|
||||
}
|
||||
|
||||
};
|
||||
#endif //HA_CALPONT_H__
|
||||
|
@@ -141,7 +141,7 @@ using namespace logging;
|
||||
using namespace funcexp;
|
||||
|
||||
#include "installdir.h"
|
||||
#include "versionnumber.h"
|
||||
#include "columnstoreversion.h"
|
||||
|
||||
namespace cal_impl_if
|
||||
{
|
||||
@@ -1980,6 +1980,134 @@ extern "C"
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
// Return 1 if system is ready for reads or 0 if not.
|
||||
long long mcssystemready(UDF_INIT* initid, UDF_ARGS* args,
|
||||
char* is_null, char* error)
|
||||
{
|
||||
long long rtn = 0;
|
||||
Oam oam;
|
||||
DBRM dbrm(true);
|
||||
SystemStatus systemstatus;
|
||||
|
||||
try
|
||||
{
|
||||
oam.getSystemStatus(systemstatus);
|
||||
|
||||
if (systemstatus.SystemOpState == ACTIVE
|
||||
&& dbrm.getSystemReady()
|
||||
&& dbrm.getSystemQueryReady())
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
*error = 1;
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
my_bool mcssystemready_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
void mcssystemready_deinit(UDF_INIT* initid)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
// Return 1 if system is read only; 0 if writeable
|
||||
long long mcssystemreadonly(UDF_INIT* initid, UDF_ARGS* args,
|
||||
char* is_null, char* error)
|
||||
{
|
||||
long long rtn = 0;
|
||||
DBRM dbrm(true);
|
||||
|
||||
try
|
||||
{
|
||||
if (dbrm.isReadWrite()) // Returns 0 for writable, 5 for read only
|
||||
{
|
||||
rtn = 1;
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
*error = 1;
|
||||
rtn = 1;
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
my_bool mcssystemreadonly_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
void mcssystemreadonly_deinit(UDF_INIT* initid)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
// Return 1 if system is read only; 0 if writeable
|
||||
long long mcswritessuspended(UDF_INIT* initid, UDF_ARGS* args,
|
||||
char* is_null, char* error)
|
||||
{
|
||||
long long rtn = 0;
|
||||
DBRM dbrm(true);
|
||||
|
||||
try
|
||||
{
|
||||
if (dbrm.getSystemSuspended())
|
||||
{
|
||||
rtn = 1;
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
*error = 1;
|
||||
rtn = 1;
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
my_bool mcswritessuspended_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
void mcswritessuspended_deinit(UDF_INIT* initid)
|
||||
{
|
||||
}
|
||||
|
||||
#define MAXSTRINGLENGTH 50
|
||||
|
||||
const char* PmSmallSideMaxMemory = "pmmaxmemorysmallside";
|
||||
@@ -2472,7 +2600,7 @@ extern "C"
|
||||
char* result, unsigned long* length,
|
||||
char* is_null, char* error)
|
||||
{
|
||||
string version(idb_version);
|
||||
string version(columnstore_version);
|
||||
*length = version.size();
|
||||
memcpy(result, version.c_str(), *length);
|
||||
return result;
|
||||
@@ -4291,7 +4419,7 @@ int ha_calpont_impl_end_bulk_insert(bool abort, TABLE* table)
|
||||
if ( ( ((thd->lex)->sql_command == SQLCOM_INSERT) || ((thd->lex)->sql_command == SQLCOM_LOAD) || (thd->lex)->sql_command == SQLCOM_INSERT_SELECT) && !ci->singleInsert )
|
||||
{
|
||||
|
||||
//@Bug 2438. Only load dta infile calls last batch process
|
||||
//@Bug 2438. Only load data infile calls last batch process
|
||||
/* if ( ci->isLoaddataInfile && ((thd->variables.option_bits & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)) || (ci->useCpimport == 0))) {
|
||||
//@Bug 2829 Handle ctrl-C
|
||||
if ( thd->killed > 0 )
|
||||
|
@@ -82,6 +82,9 @@ CREATE FUNCTION idbextentmin RETURNS STRING soname 'libcalmysql.so';
|
||||
CREATE FUNCTION idbextentmax RETURNS STRING soname 'libcalmysql.so';
|
||||
CREATE FUNCTION idbpartition RETURNS STRING soname 'libcalmysql.so';
|
||||
CREATE FUNCTION idblocalpm RETURNS INTEGER soname 'libcalmysql.so';
|
||||
CREATE FUNCTION mcssystemready RETURNS INTEGER soname 'libcalmysql.so';
|
||||
CREATE FUNCTION mcssystemreadonly RETURNS INTEGER soname 'libcalmysql.so';
|
||||
CREATE FUNCTION mcswritessuspended RETURNS INTEGER soname 'libcalmysql.so';
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS infinidb_vtable;
|
||||
CREATE DATABASE IF NOT EXISTS infinidb_querystats;
|
||||
|
@@ -129,6 +129,17 @@ static int is_columnstore_files_fill(THD* thd, TABLE_LIST* tables, COND* cond)
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
oam_instance.getDbrootPmConfig(iter->dbRoot, pmId);
|
||||
}
|
||||
catch (std::runtime_error)
|
||||
{
|
||||
// MCOL-1116: If we are here a DBRoot is offline/missing
|
||||
iter++;
|
||||
continue;
|
||||
}
|
||||
|
||||
table->field[0]->store(oid);
|
||||
table->field[1]->store(iter->segmentNum);
|
||||
table->field[2]->store(iter->partitionNum);
|
||||
@@ -139,7 +150,7 @@ static int is_columnstore_files_fill(THD* thd, TABLE_LIST* tables, COND* cond)
|
||||
std::string DbRootPath = config->getConfig("SystemConfig", DbRootName.str());
|
||||
fileSize = compressedFileSize = 0;
|
||||
snprintf(fullFileName, WriteEngine::FILE_NAME_SIZE, "%s/%s", DbRootPath.c_str(), oidDirName);
|
||||
oam_instance.getDbrootPmConfig(iter->dbRoot, pmId);
|
||||
|
||||
std::ostringstream oss;
|
||||
oss << "pm" << pmId << "_WriteEngineServer";
|
||||
std::string client = oss.str();
|
||||
|
@@ -61,7 +61,7 @@ datadir=$basedir/db
|
||||
# Value here is overriden by value in my.cnf.
|
||||
# 0 means don't wait at all
|
||||
# Negative numbers mean to wait indefinitely
|
||||
service_startup_timeout=60
|
||||
service_startup_timeout=90
|
||||
|
||||
# Lock directory for RedHat / SuSE.
|
||||
lockdir='/var/lock/subsys'
|
||||
|
Reference in New Issue
Block a user