You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
Merge branch 'develop-1.1' into 1.1-mergeup-20180224
This commit is contained in:
@@ -28,8 +28,8 @@ DROP PROCEDURE IF EXISTS `total_usage` //
|
||||
CREATE PROCEDURE total_usage ()
|
||||
BEGIN
|
||||
SELECT
|
||||
(SELECT format_filesize(sum(data_size)) TOTAL_DATA_SIZE FROM INFORMATION_SCHEMA.COLUMNSTORE_EXTENTS) TOTAL_DATA_SIZE,
|
||||
(SELECT format_filesize(sum(file_size)) TOTAL_DISK_USAGE FROM INFORMATION_SCHEMA.COLUMNSTORE_FILES) TOTAL_DISK_USAGE;
|
||||
(SELECT columnstore_info.format_filesize(sum(data_size)) TOTAL_DATA_SIZE FROM INFORMATION_SCHEMA.COLUMNSTORE_EXTENTS) TOTAL_DATA_SIZE,
|
||||
(SELECT columnstore_info.format_filesize(sum(file_size)) TOTAL_DISK_USAGE FROM INFORMATION_SCHEMA.COLUMNSTORE_FILES) TOTAL_DISK_USAGE;
|
||||
END //
|
||||
|
||||
DROP PROCEDURE IF EXISTS `table_usage` //
|
||||
@@ -52,21 +52,21 @@ CREATE PROCEDURE table_usage (IN t_schema char(64), IN t_name char(64))
|
||||
CREATE TABLE columnstore_info.columnstore_files engine=myisam as (select * from information_schema.columnstore_files);
|
||||
ALTER TABLE columnstore_info.columnstore_files ADD INDEX `object_id` (`object_id`);
|
||||
IF t_name IS NOT NULL THEN
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, format_filesize(data) as DATA_DISK_USAGE, format_filesize(dict) as DICT_DISK_USAGE, format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, columnstore_info.format_filesize(data) as DATA_DISK_USAGE, columnstore_info.format_filesize(dict) as DICT_DISK_USAGE, columnstore_info.format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, (SELECT sum(cf.file_size) as data FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema) as data, (SELECT sum(cf.file_size) as dict FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.dictionary_object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema GROUP BY table_schema, table_name) as dict
|
||||
FROM
|
||||
columnstore_info.columnstore_columns ics where table_name = t_name and (table_schema = t_schema or t_schema IS NULL)
|
||||
group by table_schema, table_name
|
||||
) q;
|
||||
ELSEIF t_schema IS NOT NULL THEN
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, format_filesize(data) as DATA_DISK_USAGE, format_filesize(dict) as DICT_DISK_USAGE, format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, columnstore_info.format_filesize(data) as DATA_DISK_USAGE, columnstore_info.format_filesize(dict) as DICT_DISK_USAGE, columnstore_info.format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, (SELECT sum(cf.file_size) as data FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema) as data, (SELECT sum(cf.file_size) as dict FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.dictionary_object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema GROUP BY table_schema, table_name) as dict
|
||||
FROM
|
||||
columnstore_info.columnstore_columns ics where table_schema = t_schema
|
||||
group by table_schema, table_name
|
||||
) q;
|
||||
ELSE
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, format_filesize(data) as DATA_DISK_USAGE, format_filesize(dict) as DICT_DISK_USAGE, format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, columnstore_info.format_filesize(data) as DATA_DISK_USAGE, columnstore_info.format_filesize(dict) as DICT_DISK_USAGE, columnstore_info.format_filesize(data + dict) as TOTAL_USAGE FROM (
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, (SELECT sum(cf.file_size) as data FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema) as data, (SELECT sum(cf.file_size) as dict FROM columnstore_info.columnstore_columns cc JOIN columnstore_info.columnstore_files cf ON cc.dictionary_object_id = cf.object_id WHERE table_name = ics.table_name and table_schema = ics.table_schema GROUP BY table_schema, table_name) as dict
|
||||
FROM
|
||||
columnstore_info.columnstore_columns ics
|
||||
|
@@ -1870,7 +1870,7 @@ int ProcessDDLStatement(string& ddlStatement, string& schema, const string& tabl
|
||||
thd->raise_error_printf(ER_CHECK_NOT_IMPLEMENTED, "Use of the MySQL auto_increment syntax is not supported in Columnstore. If you wish to create an auto increment column in Columnstore, please consult the Columnstore SQL Syntax Guide for the correct usage.");
|
||||
}
|
||||
// MCOL-867. MariaDB RENAME TABLE statement supports WAIT|NOWAIT options since 10.3.0 but Columnstore isn't yet.
|
||||
else if(ddlStatement.find("WAIT") != string::npos || ddlStatement.find("NOWAIT") != string::npos)
|
||||
else if (ddlStatement.find("WAIT") != string::npos || ddlStatement.find("NOWAIT") != string::npos)
|
||||
{
|
||||
thd->raise_error_printf(ER_CHECK_NOT_IMPLEMENTED, "WAIT and NOWAIT options are not supported in Columnstore. Please consult the Columnstore SQL Syntax Guide for the correct usage.");
|
||||
}
|
||||
|
@@ -2029,7 +2029,7 @@ extern "C"
|
||||
#ifdef _MSC_VER
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
// Return 1 if system is read only; 0 if writeable
|
||||
// Return non-zero if system is read only; 0 if writeable
|
||||
long long mcssystemreadonly(UDF_INIT* initid, UDF_ARGS* args,
|
||||
char* is_null, char* error)
|
||||
{
|
||||
@@ -2038,10 +2038,15 @@ extern "C"
|
||||
|
||||
try
|
||||
{
|
||||
if (dbrm.isReadWrite()) // Returns 0 for writable, 5 for read only
|
||||
if (dbrm.getSystemSuspended())
|
||||
{
|
||||
rtn = 1;
|
||||
}
|
||||
|
||||
if (dbrm.isReadWrite() > 0) // Returns 0 for writable, 5 for read only
|
||||
{
|
||||
rtn = 2;
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
@@ -2067,47 +2072,6 @@ extern "C"
|
||||
{
|
||||
}
|
||||
|
||||
#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";
|
||||
|
@@ -84,7 +84,6 @@ 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;
|
||||
|
Reference in New Issue
Block a user