You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-10-30 07:25:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			140 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Thrift
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Thrift
		
	
	
	
	
	
| /* Copyright (C) 2014 InfiniDB, Inc.
 | |
| 
 | |
|    This program is free software; you can redistribute it and/or
 | |
|    modify it under the terms of the GNU General Public License
 | |
|    as published by the Free Software Foundation; version 2 of
 | |
|    the License.
 | |
| 
 | |
|    This program is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|    GNU General Public License for more details.
 | |
| 
 | |
|    You should have received a copy of the GNU General Public License
 | |
|    along with this program; if not, write to the Free Software
 | |
|    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 | |
|    MA 02110-1301, USA. */
 | |
| 
 | |
| namespace cpp querytele
 | |
| 
 | |
| enum QTType
 | |
| {
 | |
|   QT_INVALID,
 | |
|   QT_SUMMARY,
 | |
|   QT_PROGRESS,
 | |
|   QT_START,
 | |
| }
 | |
| 
 | |
| struct QueryTele
 | |
| {
 | |
|   1: string query_uuid ,	// UUID for this query
 | |
|   2: QTType msg_type ,		// What kind of tele msg this is
 | |
| 
 | |
|   3: optional i64 max_mem_pct ,
 | |
|   4: optional i64 num_files ,
 | |
|   5: optional i64 phy_io ,
 | |
|   6: optional i64 cache_io ,
 | |
|   7: optional i64 msg_rcv_cnt ,
 | |
|   8: optional i64 cp_blocks_skipped ,
 | |
|   9: optional i64 msg_bytes_in ,
 | |
|   10: optional i64 msg_bytes_out,
 | |
|   11: optional i64 rows,
 | |
|   12: optional i64 start_time,
 | |
|   13: optional i64 end_time,
 | |
|   14: optional i64 error_no,
 | |
|   15: optional i64 blocks_changed,
 | |
|   16: optional i64 session_id,
 | |
|   17: optional string query_type,
 | |
|   18: optional string query,
 | |
|   19: optional string user,
 | |
|   20: optional string host,
 | |
|   21: optional string priority,
 | |
|   22: optional i32 priority_level,
 | |
|   23: optional string system_name,
 | |
|   24: optional string module_name,
 | |
|   25: optional i32 local_query,
 | |
|   26: optional string schema_name,
 | |
| 
 | |
| }
 | |
| 
 | |
| enum STType
 | |
| {
 | |
|   ST_INVALID,
 | |
|   ST_SUMMARY,
 | |
|   ST_PROGRESS,
 | |
|   ST_START,
 | |
| }
 | |
| 
 | |
| enum StepType
 | |
| {
 | |
|   T_INVALID,
 | |
|   T_HJS,		//TupleHashJoinStep
 | |
|   T_DSS,		//DictionaryScanStep
 | |
|   T_CES,		//CrossEngineStep
 | |
|   T_SQS,		//SubQueryStep
 | |
|   T_TAS,		//TupleAggregateStep
 | |
|   T_TXS,		//TupleAnnexStep
 | |
|   T_BPS,		//TupleBPS
 | |
|   T_TCS,		//TupleConstantStep
 | |
|   T_HVS,		//TupleHavingStep
 | |
|   T_WFS,		//WindowFunctionStep
 | |
|   T_SAS,		//SubAdapterStep
 | |
|   T_TUN,		//TupleUnion
 | |
| }
 | |
| 
 | |
| struct StepTele
 | |
| {
 | |
|   1: string query_uuid,		// UUID of the query this step is part of
 | |
|   2: STType msg_type,		// What kind of tele msg this is
 | |
|   3: StepType step_type,	// What kind of query step this is
 | |
|   4: string step_uuid,		// UUID for this step
 | |
| 
 | |
|   5: optional i64 phy_io,
 | |
|   6: optional i64 cache_io,
 | |
|   7: optional i64 msg_rcv_cnt,
 | |
|   8: optional i64 cp_blocks_skipped,
 | |
|   9: optional i64 msg_bytes_in,
 | |
|   10: optional i64 msg_bytes_out,
 | |
|   11: optional i64 rows,
 | |
|   12: optional i64 start_time,
 | |
|   13: optional i64 end_time,
 | |
| 
 | |
|   14: optional i32 total_units_of_work,
 | |
|   15: optional i32 units_of_work_completed,
 | |
| 
 | |
| }
 | |
| 
 | |
| enum ITType
 | |
| {
 | |
|   IT_INVALID,
 | |
|   IT_SUMMARY,	// import job summary (good completion)
 | |
|   IT_PROGRESS,	// import progress
 | |
|   IT_START,	// import job start
 | |
|   IT_TERM,	// import job terminiated (too many errs, ctrl-c, etc)
 | |
| }
 | |
| 
 | |
| typedef list<string> StringList
 | |
| typedef list<i64> I64List
 | |
| 
 | |
| struct ImportTele
 | |
| {
 | |
|   1: string job_uuid,
 | |
|   2: string import_uuid,
 | |
|   3: ITType msg_type,
 | |
|   4: optional i64 start_time,
 | |
|   5: optional i64 end_time,
 | |
|   6: optional StringList table_list,
 | |
|   7: optional I64List rows_so_far,
 | |
|   8: optional string system_name,
 | |
|   9: optional string module_name,
 | |
|   10: optional string schema_name,
 | |
| }
 | |
| 
 | |
| service QueryTeleService
 | |
| {
 | |
|   void postQuery(1: QueryTele query),
 | |
|   void postStep(1: StepTele query),
 | |
|   void postImport(1: ImportTele query),
 | |
| }
 | |
| 
 |