You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-11-03 17:13:17 +03:00 
			
		
		
		
	chore(udf): rename mcsgetplan.
This commit is contained in:
		@@ -930,7 +930,7 @@ extern "C"
 | 
				
			|||||||
  //   0 or 'original'  -> pre-RBO plan
 | 
					  //   0 or 'original'  -> pre-RBO plan
 | 
				
			||||||
  //   1 or 'optimized' -> post-RBO plan
 | 
					  //   1 or 'optimized' -> post-RBO plan
 | 
				
			||||||
  //   2 or 'rules'     -> comma-separated applied RBO rules
 | 
					  //   2 or 'rules'     -> comma-separated applied RBO rules
 | 
				
			||||||
  const char* mcsgetplan(UDF_INIT* /*initid*/, UDF_ARGS* args, char* /*result*/, unsigned long* length,
 | 
					  const char* mcs_get_plan(UDF_INIT* /*initid*/, UDF_ARGS* args, char* /*result*/, unsigned long* length,
 | 
				
			||||||
                           char* is_null, char* /*error*/)
 | 
					                           char* is_null, char* /*error*/)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (get_fe_conn_info_ptr() == NULL)
 | 
					    if (get_fe_conn_info_ptr() == NULL)
 | 
				
			||||||
@@ -985,7 +985,7 @@ extern "C"
 | 
				
			|||||||
    return out->c_str();
 | 
					    return out->c_str();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  my_bool mcsgetplan_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
 | 
					  my_bool mcs_get_plan_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (args->arg_count > 1)
 | 
					    if (args->arg_count > 1)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -1002,7 +1002,7 @@ extern "C"
 | 
				
			|||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void mcsgetplan_deinit(UDF_INIT* /*initid*/)
 | 
					  void mcs_get_plan_deinit(UDF_INIT* /*initid*/)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,7 +80,7 @@ CREATE OR REPLACE FUNCTION calenablepartitionsbyvalue RETURNS STRING SONAME 'ha_
 | 
				
			|||||||
CREATE OR REPLACE FUNCTION calshowpartitionsbyvalue RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION calshowpartitionsbyvalue RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
CREATE OR REPLACE AGGREGATE FUNCTION moda RETURNS STRING SONAME 'libregr_mysql.so';
 | 
					CREATE OR REPLACE AGGREGATE FUNCTION moda RETURNS STRING SONAME 'libregr_mysql.so';
 | 
				
			||||||
CREATE OR REPLACE FUNCTION mcs_set_ddldebug_level RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION mcs_set_ddldebug_level RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
CREATE OR REPLACE FUNCTION mcsgetplan RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION mcs_get_plan RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CREATE DATABASE IF NOT EXISTS infinidb_querystats;
 | 
					CREATE DATABASE IF NOT EXISTS infinidb_querystats;
 | 
				
			||||||
CREATE TABLE IF NOT EXISTS infinidb_querystats.querystats
 | 
					CREATE TABLE IF NOT EXISTS infinidb_querystats.querystats
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,9 +22,9 @@ SET @@columnstore_ces_optimization_parallel_factor=5;
 | 
				
			|||||||
SELECT SUM(col1) FROM Ti;
 | 
					SELECT SUM(col1) FROM Ti;
 | 
				
			||||||
SUM(col1)
 | 
					SUM(col1)
 | 
				
			||||||
5050
 | 
					5050
 | 
				
			||||||
SET @orig_plan := mcsgetplan('original');
 | 
					SET @orig_plan := mcs_get_plan('original');
 | 
				
			||||||
SET @opt_plan := mcsgetplan('optimized');
 | 
					SET @opt_plan := mcs_get_plan('optimized');
 | 
				
			||||||
SET @rbo_rules := mcsgetplan('rules');
 | 
					SET @rbo_rules := mcs_get_plan('rules');
 | 
				
			||||||
SET @uu_tail := SUBSTRING_INDEX(@orig_plan, '--- Union Unit ---', -1);
 | 
					SET @uu_tail := SUBSTRING_INDEX(@orig_plan, '--- Union Unit ---', -1);
 | 
				
			||||||
SET @unit_open := CONCAT(CHAR(10),'    {',CHAR(10));
 | 
					SET @unit_open := CONCAT(CHAR(10),'    {',CHAR(10));
 | 
				
			||||||
SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_original;
 | 
					SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_original;
 | 
				
			||||||
@@ -41,7 +41,7 @@ SET @@columnstore_ces_optimization_parallel_factor=15;
 | 
				
			|||||||
SELECT SUM(col1) FROM Ti;
 | 
					SELECT SUM(col1) FROM Ti;
 | 
				
			||||||
SUM(col1)
 | 
					SUM(col1)
 | 
				
			||||||
5050
 | 
					5050
 | 
				
			||||||
SET @opt_plan := mcsgetplan('optimized');
 | 
					SET @opt_plan := mcs_get_plan('optimized');
 | 
				
			||||||
SET @uu_tail := SUBSTRING_INDEX(@opt_plan, '--- Union Unit ---', -1);
 | 
					SET @uu_tail := SUBSTRING_INDEX(@opt_plan, '--- Union Unit ---', -1);
 | 
				
			||||||
SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_optimized_15;
 | 
					SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_optimized_15;
 | 
				
			||||||
unions_optimized_15
 | 
					unions_optimized_15
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,9 +38,9 @@ SET @@columnstore_ces_optimization_parallel_factor=5;
 | 
				
			|||||||
SELECT SUM(col1) FROM Ti;
 | 
					SELECT SUM(col1) FROM Ti;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Snapshot plans into variables for readability
 | 
					# Snapshot plans into variables for readability
 | 
				
			||||||
SET @orig_plan := mcsgetplan('original');
 | 
					SET @orig_plan := mcs_get_plan('original');
 | 
				
			||||||
SET @opt_plan := mcsgetplan('optimized');
 | 
					SET @opt_plan := mcs_get_plan('optimized');
 | 
				
			||||||
SET @rbo_rules := mcsgetplan('rules');
 | 
					SET @rbo_rules := mcs_get_plan('rules');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Validate plan contents using stored plans
 | 
					# Validate plan contents using stored plans
 | 
				
			||||||
# Count Union Units by looking for opening unit blocks after the marker '--- Union Unit ---'
 | 
					# Count Union Units by looking for opening unit blocks after the marker '--- Union Unit ---'
 | 
				
			||||||
@@ -60,7 +60,7 @@ SET @@columnstore_ces_optimization_parallel_factor=15;
 | 
				
			|||||||
# Re-execute to rebuild plan with new factor
 | 
					# Re-execute to rebuild plan with new factor
 | 
				
			||||||
SELECT SUM(col1) FROM Ti;
 | 
					SELECT SUM(col1) FROM Ti;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SET @opt_plan := mcsgetplan('optimized');
 | 
					SET @opt_plan := mcs_get_plan('optimized');
 | 
				
			||||||
SET @uu_tail := SUBSTRING_INDEX(@opt_plan, '--- Union Unit ---', -1);
 | 
					SET @uu_tail := SUBSTRING_INDEX(@opt_plan, '--- Union Unit ---', -1);
 | 
				
			||||||
SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_optimized_15;
 | 
					SELECT (CHAR_LENGTH(@uu_tail) - CHAR_LENGTH(REPLACE(@uu_tail, @unit_open, '')))/CHAR_LENGTH(@unit_open) AS unions_optimized_15;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,5 +60,5 @@ DROP FUNCTION calenablepartitionsbyvalue;
 | 
				
			|||||||
DROP FUNCTION calshowpartitionsbyvalue;
 | 
					DROP FUNCTION calshowpartitionsbyvalue;
 | 
				
			||||||
DROP FUNCTION moda;
 | 
					DROP FUNCTION moda;
 | 
				
			||||||
DROP FUNCTION mcs_set_ddldebug_level;
 | 
					DROP FUNCTION mcs_set_ddldebug_level;
 | 
				
			||||||
DROP FUNCTION mcsgetplan;
 | 
					DROP FUNCTION mcs_get_plan;
 | 
				
			||||||
--enable_query_log
 | 
					--enable_query_log
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,6 +60,6 @@ CREATE OR REPLACE FUNCTION calenablepartitionsbyvalue RETURNS STRING SONAME 'ha_
 | 
				
			|||||||
CREATE OR REPLACE FUNCTION calshowpartitionsbyvalue RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION calshowpartitionsbyvalue RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
CREATE OR REPLACE AGGREGATE FUNCTION moda RETURNS STRING SONAME 'libregr_mysql.so';
 | 
					CREATE OR REPLACE AGGREGATE FUNCTION moda RETURNS STRING SONAME 'libregr_mysql.so';
 | 
				
			||||||
CREATE OR REPLACE FUNCTION mcs_set_ddldebug_level RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION mcs_set_ddldebug_level RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
CREATE OR REPLACE FUNCTION mcsgetplan RETURNS STRING SONAME 'ha_columnstore.so';
 | 
					CREATE OR REPLACE FUNCTION mcs_get_plan RETURNS STRING SONAME 'ha_columnstore.so';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--enable_query_log
 | 
					--enable_query_log
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user