2011-06-30 17:46:53 +02:00
|
|
|
/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
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
|
2019-05-11 20:29:06 +02:00
|
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
@file
|
|
|
|
File containing constants that can be used throughout the server.
|
|
|
|
|
2015-10-23 11:31:18 +02:00
|
|
|
@note This file shall not contain or include any declarations of any kinds.
|
2010-03-31 16:05:33 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SQL_CONST_INCLUDED
|
|
|
|
#define SQL_CONST_INCLUDED
|
|
|
|
|
2015-10-23 11:31:18 +02:00
|
|
|
#include <mysql_version.h>
|
|
|
|
|
2010-03-31 16:05:33 +02:00
|
|
|
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
|
|
|
|
/* extra 4+4 bytes for slave tmp tables */
|
|
|
|
#define MAX_DBKEY_LENGTH (NAME_LEN*2+1+1+4+4)
|
|
|
|
#define MAX_ALIAS_NAME 256
|
2022-11-30 12:10:52 +01:00
|
|
|
#define MAX_FIELD_NAME (NAME_LEN+1) /* Max colum name length +1 */
|
2010-03-31 16:05:33 +02:00
|
|
|
#define MAX_SYS_VAR_LENGTH 32
|
|
|
|
#define MAX_KEY MAX_INDEXES /* Max used keys */
|
2010-11-25 18:17:28 +01:00
|
|
|
#define MAX_REF_PARTS 32 /* Max parts used as ref */
|
2018-12-19 06:04:30 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
Maximum length of the data part of an index lookup key.
|
|
|
|
|
|
|
|
The "data part" is defined as the value itself, not including the
|
|
|
|
NULL-indicator bytes or varchar length bytes ("the Extras"). We need this
|
|
|
|
value because there was a bug where length of the Extras were not counted.
|
|
|
|
|
|
|
|
You probably need MAX_KEY_LENGTH, not this constant.
|
|
|
|
*/
|
|
|
|
#define MAX_DATA_LENGTH_FOR_KEY 3072
|
2010-03-31 16:05:33 +02:00
|
|
|
#if SIZEOF_OFF_T > 4
|
|
|
|
#define MAX_REFLENGTH 8 /* Max length for record ref */
|
|
|
|
#else
|
|
|
|
#define MAX_REFLENGTH 4 /* Max length for record ref */
|
|
|
|
#endif
|
|
|
|
#define MAX_HOSTNAME 61 /* len+1 in mysql.user */
|
2012-09-28 01:06:56 +02:00
|
|
|
#define MAX_CONNECTION_NAME NAME_LEN
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define MAX_MBWIDTH 3 /* Max multibyte sequence */
|
2013-05-03 00:50:42 +02:00
|
|
|
#define MAX_FILENAME_MBWIDTH 5
|
2010-03-31 16:05:33 +02:00
|
|
|
#define MAX_FIELD_CHARLENGTH 255
|
2017-10-13 05:06:09 +02:00
|
|
|
/*
|
|
|
|
In MAX_FIELD_VARCHARLENGTH we reserve extra bytes for the overhead:
|
|
|
|
- 2 bytes for the length
|
|
|
|
- 1 byte for NULL bits
|
|
|
|
to avoid the "Row size too large" error for these three corner definitions:
|
|
|
|
CREATE TABLE t1 (c VARBINARY(65533));
|
|
|
|
CREATE TABLE t1 (c VARBINARY(65534));
|
|
|
|
CREATE TABLE t1 (c VARBINARY(65535));
|
|
|
|
Like VARCHAR(65536), they will be converted to BLOB automatically
|
2019-06-27 17:51:34 +02:00
|
|
|
in non-strict mode.
|
2017-10-13 05:06:09 +02:00
|
|
|
*/
|
|
|
|
#define MAX_FIELD_VARCHARLENGTH (65535-2-1)
|
2013-01-07 20:21:05 +01:00
|
|
|
#define MAX_FIELD_BLOBLENGTH UINT_MAX32 /* cf field_blob::get_length() */
|
|
|
|
#define CONVERT_IF_BIGGER_TO_BLOB 512 /* Threshold *in characters* */
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/* Max column width +1 */
|
|
|
|
#define MAX_FIELD_WIDTH (MAX_FIELD_CHARLENGTH*MAX_MBWIDTH+1)
|
|
|
|
|
|
|
|
#define MAX_BIT_FIELD_LENGTH 64 /* Max length in bits for bit fields */
|
|
|
|
|
|
|
|
#define MAX_DATE_WIDTH 10 /* YYYY-MM-DD */
|
2011-10-19 21:45:18 +02:00
|
|
|
#define MIN_TIME_WIDTH 10 /* -HHH:MM:SS */
|
|
|
|
#define MAX_TIME_WIDTH 16 /* -DDDDDD HH:MM:SS */
|
|
|
|
#define MAX_TIME_FULL_WIDTH 23 /* -DDDDDD HH:MM:SS.###### */
|
2013-08-22 11:59:30 +02:00
|
|
|
#define MAX_DATETIME_FULL_WIDTH 26 /* YYYY-MM-DD HH:MM:SS.###### */
|
2010-03-31 16:05:33 +02:00
|
|
|
#define MAX_DATETIME_WIDTH 19 /* YYYY-MM-DD HH:MM:SS */
|
|
|
|
#define MAX_DATETIME_COMPRESSED_WIDTH 14 /* YYYYMMDDHHMMSS */
|
2011-10-19 21:45:18 +02:00
|
|
|
#define MAX_DATETIME_PRECISION 6
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define MAX_TABLES (sizeof(table_map)*8-3) /* Max tables in join */
|
|
|
|
#define PARAM_TABLE_BIT (((table_map) 1) << (sizeof(table_map)*8-3))
|
|
|
|
#define OUTER_REF_TABLE_BIT (((table_map) 1) << (sizeof(table_map)*8-2))
|
|
|
|
#define RAND_TABLE_BIT (((table_map) 1) << (sizeof(table_map)*8-1))
|
|
|
|
#define PSEUDO_TABLE_BITS (PARAM_TABLE_BIT | OUTER_REF_TABLE_BIT | \
|
|
|
|
RAND_TABLE_BIT)
|
2017-04-11 16:18:04 +02:00
|
|
|
#define CONNECT_STRING_MAXLEN 65535 /* stored in 2 bytes in .frm */
|
2010-03-31 16:05:33 +02:00
|
|
|
#define MAX_FIELDS 4096 /* Limit in the .frm file */
|
2013-03-25 23:03:13 +01:00
|
|
|
#define MAX_PARTITIONS 8192
|
2010-03-31 16:05:33 +02:00
|
|
|
|
2018-07-05 17:49:44 +02:00
|
|
|
#define MAX_SELECT_NESTING (SELECT_NESTING_MAP_SIZE - 1)
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define MAX_SORT_MEMORY 2048*1024
|
2011-10-19 21:45:18 +02:00
|
|
|
#define MIN_SORT_MEMORY 1024
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/* Some portable defines */
|
|
|
|
|
|
|
|
#define STRING_BUFFER_USUAL_SIZE 80
|
|
|
|
|
|
|
|
/* Memory allocated when parsing a statement / saving a statement */
|
|
|
|
#define MEM_ROOT_BLOCK_SIZE 8192
|
|
|
|
#define MEM_ROOT_PREALLOC 8192
|
|
|
|
#define TRANS_MEM_ROOT_BLOCK_SIZE 4096
|
|
|
|
#define TRANS_MEM_ROOT_PREALLOC 4096
|
|
|
|
|
|
|
|
#define DEFAULT_ERROR_COUNT 64
|
|
|
|
#define EXTRA_RECORDS 10 /* Extra records in sort */
|
|
|
|
#define SCROLL_EXTRA 5 /* Extra scroll-rows. */
|
|
|
|
#define FIELD_NAME_USED ((uint) 32768) /* Bit set if fieldname used */
|
|
|
|
#define FORM_NAME_USED ((uint) 16384) /* Bit set if formname used */
|
|
|
|
#define FIELD_NR_MASK 16383 /* To get fieldnumber */
|
|
|
|
#define FERR -1 /* Error from my_functions */
|
|
|
|
#define CREATE_MODE 0 /* Default mode on new files */
|
2013-03-29 14:56:09 +01:00
|
|
|
#define NAMES_SEP_CHAR 255 /* Char to sep. names */
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define READ_RECORD_BUFFER (uint) (IO_SIZE*8) /* Pointer_buffer_size */
|
|
|
|
#define DISK_BUFFER_SIZE (uint) (IO_SIZE*16) /* Size of diskbuffer */
|
|
|
|
|
|
|
|
#define FRM_VER_TRUE_VARCHAR (FRM_VER+4) /* 10 */
|
2016-06-29 09:14:22 +02:00
|
|
|
#define FRM_VER_EXPRESSSIONS (FRM_VER+5) /* 11 */
|
|
|
|
#define FRM_VER_CURRENT FRM_VER_EXPRESSSIONS
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
Configuration parameters
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
#define ACL_CACHE_SIZE 256
|
|
|
|
#define MAX_PASSWORD_LENGTH 32
|
|
|
|
#define HOST_CACHE_SIZE 128
|
|
|
|
#define MAX_ACCEPT_RETRY 10 // Test accept this many times
|
|
|
|
#define MAX_FIELDS_BEFORE_HASH 32
|
|
|
|
#define USER_VARS_HASH_SIZE 16
|
MDEV-10139 Support for SEQUENCE objects
Working features:
CREATE OR REPLACE [TEMPORARY] SEQUENCE [IF NOT EXISTS] name
[ INCREMENT [ BY | = ] increment ]
[ MINVALUE [=] minvalue | NO MINVALUE ]
[ MAXVALUE [=] maxvalue | NO MAXVALUE ]
[ START [ WITH | = ] start ] [ CACHE [=] cache ] [ [ NO ] CYCLE ]
ENGINE=xxx COMMENT=".."
SELECT NEXT VALUE FOR sequence_name;
SELECT NEXTVAL(sequence_name);
SELECT PREVIOUS VALUE FOR sequence_name;
SELECT LASTVAL(sequence_name);
SHOW CREATE SEQUENCE sequence_name;
SHOW CREATE TABLE sequence_name;
CREATE TABLE sequence-structure ... SEQUENCE=1
ALTER TABLE sequence RENAME TO sequence2;
RENAME TABLE sequence TO sequence2;
DROP [TEMPORARY] SEQUENCE [IF EXISTS] sequence_names
Missing features
- SETVAL(value,sequence_name), to be used with replication.
- Check replication, including checking that sequence tables are marked
not transactional.
- Check that a commit happens for NEXT VALUE that changes table data (may
already work)
- ALTER SEQUENCE. ANSI SQL version of setval.
- Share identical sequence entries to not add things twice to table list.
- testing insert/delete/update/truncate/load data
- Run and fix Alibaba sequence tests (part of mysql-test/suite/sql_sequence)
- Write documentation for NEXT VALUE / PREVIOUS_VALUE
- NEXTVAL in DEFAULT
- Ensure that NEXTVAL in DEFAULT uses database from base table
- Two NEXTVAL for same row should give same answer.
- Oracle syntax sequence_table.nextval, without any FOR or FROM.
- Sequence tables are treated as 'not read constant tables' by SELECT; Would
be better if we would have a separate list for sequence tables so that
select doesn't know about them, except if refereed to with FROM.
Other things done:
- Improved output for safemalloc backtrack
- frm_type_enum changed to Table_type
- Removed lex->is_view and replaced with lex->table_type. This allows
use to more easy check if item is view, sequence or table.
- Added table flag HA_CAN_TABLES_WITHOUT_ROLLBACK, needed for handlers
that want's to support sequences
- Added handler calls:
- engine_name(), to simplify getting engine name for partition and sequences
- update_first_row(), to be able to do efficient sequence implementations.
- Made binlog_log_row() global to be able to call it from ha_sequence.cc
- Added handler variable: row_already_logged, to be able to flag that the
changed row is already logging to replication log.
- Added CF_DB_CHANGE and CF_SCHEMA_CHANGE flags to simplify
deny_updates_if_read_only_option()
- Added sp_add_cfetch() to avoid new conflicts in sql_yacc.yy
- Moved code for add_table_options() out from sql_show.cc::show_create_table()
- Added String::append_longlong() and used it in sql_show.cc to simplify code.
- Added extra option to dd_frm_type() and ha_table_exists to indicate if
the table is a sequence. Needed by DROP SQUENCE to not drop a table.
2017-03-25 22:36:56 +01:00
|
|
|
#define SEQUENCES_HASH_SIZE 16
|
2018-03-22 19:03:54 +01:00
|
|
|
#define TABLE_OPEN_CACHE_MIN 200
|
2015-08-11 18:45:38 +02:00
|
|
|
#define TABLE_OPEN_CACHE_DEFAULT 2000
|
2010-03-31 16:05:33 +02:00
|
|
|
#define TABLE_DEF_CACHE_DEFAULT 400
|
|
|
|
/**
|
|
|
|
We must have room for at least 400 table definitions in the table
|
|
|
|
cache, since otherwise there is no chance prepared
|
|
|
|
statements that use these many tables can work.
|
|
|
|
Prepared statements use table definition cache ids (table_map_id)
|
|
|
|
as table version identifiers. If the table definition
|
|
|
|
cache size is less than the number of tables used in a statement,
|
|
|
|
the contents of the table definition cache is guaranteed to rotate
|
|
|
|
between a prepare and execute. This leads to stable validation
|
|
|
|
errors. In future we shall use more stable version identifiers,
|
|
|
|
for now the only solution is to ensure that the table definition
|
|
|
|
cache can contain at least all tables of a given statement.
|
|
|
|
*/
|
|
|
|
#define TABLE_DEF_CACHE_MIN 400
|
|
|
|
|
2013-03-25 23:03:13 +01:00
|
|
|
/**
|
|
|
|
Maximum number of connections default value.
|
|
|
|
151 is larger than Apache's default max children,
|
|
|
|
to avoid "too many connections" error in a common setup.
|
|
|
|
*/
|
|
|
|
#define MAX_CONNECTIONS_DEFAULT 151
|
|
|
|
|
2010-03-31 16:05:33 +02:00
|
|
|
/*
|
|
|
|
Stack reservation.
|
|
|
|
Feel free to raise this by the smallest amount you can to get the
|
|
|
|
"execution_constants" test to pass.
|
|
|
|
*/
|
|
|
|
#define STACK_MIN_SIZE 16000 // Abort if less stack during eval.
|
|
|
|
|
2015-09-01 11:47:06 +02:00
|
|
|
#define STACK_MIN_SIZE_FOR_OPEN (1024*80)
|
2010-03-31 16:05:33 +02:00
|
|
|
#define STACK_BUFF_ALLOC 352 ///< For stack overrun checks
|
|
|
|
#ifndef MYSQLD_NET_RETRY_COUNT
|
|
|
|
#define MYSQLD_NET_RETRY_COUNT 10 ///< Abort read after this many int.
|
|
|
|
#endif
|
|
|
|
|
2014-08-29 13:09:51 +02:00
|
|
|
#define QUERY_ALLOC_BLOCK_SIZE 16384
|
|
|
|
#define QUERY_ALLOC_PREALLOC_SIZE 24576
|
|
|
|
#define TRANS_ALLOC_BLOCK_SIZE 8192
|
2010-03-31 16:05:33 +02:00
|
|
|
#define TRANS_ALLOC_PREALLOC_SIZE 4096
|
|
|
|
#define RANGE_ALLOC_BLOCK_SIZE 4096
|
|
|
|
#define ACL_ALLOC_BLOCK_SIZE 1024
|
|
|
|
#define UDF_ALLOC_BLOCK_SIZE 1024
|
|
|
|
#define TABLE_ALLOC_BLOCK_SIZE 1024
|
|
|
|
#define WARN_ALLOC_BLOCK_SIZE 2048
|
|
|
|
#define WARN_ALLOC_PREALLOC_SIZE 1024
|
2017-11-01 19:28:36 +01:00
|
|
|
/*
|
|
|
|
Note that if we are using 32K or less, then TCmalloc will use a local
|
|
|
|
heap without locks!
|
|
|
|
*/
|
|
|
|
#define SHOW_ALLOC_BLOCK_SIZE (32768-MALLOC_OVERHEAD)
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
The following parameters is to decide when to use an extra cache to
|
|
|
|
optimise seeks when reading a big table in sorted order
|
|
|
|
*/
|
|
|
|
#define MIN_FILE_LENGTH_TO_USE_ROW_CACHE (10L*1024*1024)
|
|
|
|
#define MIN_ROWS_TO_USE_TABLE_CACHE 100
|
|
|
|
#define MIN_ROWS_TO_USE_BULK_INSERT 100
|
|
|
|
|
|
|
|
/**
|
|
|
|
The following is used to decide if MySQL should use table scanning
|
|
|
|
instead of reading with keys. The number says how many evaluation of the
|
|
|
|
WHERE clause is comparable to reading one extra row from a table.
|
|
|
|
*/
|
2020-02-28 11:59:30 +01:00
|
|
|
#define TIME_FOR_COMPARE 5.0 // 5 WHERE compares == one read
|
|
|
|
#define TIME_FOR_COMPARE_IDX 20.0
|
2019-02-03 23:56:12 +01:00
|
|
|
|
|
|
|
#define IDX_BLOCK_COPY_COST ((double) 1 / TIME_FOR_COMPARE)
|
|
|
|
#define IDX_LOOKUP_COST ((double) 1 / 8)
|
2020-02-28 11:59:30 +01:00
|
|
|
#define MULTI_RANGE_READ_SETUP_COST (IDX_BLOCK_COPY_COST/10)
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
Number of comparisons of table rowids equivalent to reading one row from a
|
|
|
|
table.
|
|
|
|
*/
|
2011-10-19 21:45:18 +02:00
|
|
|
#define TIME_FOR_COMPARE_ROWID (TIME_FOR_COMPARE*100)
|
|
|
|
|
|
|
|
/* cost1 is better that cost2 only if cost1 + COST_EPS < cost2 */
|
|
|
|
#define COST_EPS 0.001
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
For sequential disk seeks the cost formula is:
|
|
|
|
DISK_SEEK_BASE_COST + DISK_SEEK_PROP_COST * #blocks_to_skip
|
|
|
|
|
|
|
|
The cost of average seek
|
|
|
|
DISK_SEEK_BASE_COST + DISK_SEEK_PROP_COST*BLOCKS_IN_AVG_SEEK =1.0.
|
|
|
|
*/
|
2010-11-25 18:17:28 +01:00
|
|
|
#define DISK_SEEK_BASE_COST ((double)0.9)
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define BLOCKS_IN_AVG_SEEK 128
|
|
|
|
|
2010-11-25 18:17:28 +01:00
|
|
|
#define DISK_SEEK_PROP_COST ((double)0.1/BLOCKS_IN_AVG_SEEK)
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
Number of rows in a reference table when refereed through a not unique key.
|
|
|
|
This value is only used when we don't know anything about the key
|
|
|
|
distribution.
|
|
|
|
*/
|
|
|
|
#define MATCHING_ROWS_IN_OTHER_TABLE 10
|
|
|
|
|
2010-11-25 18:17:28 +01:00
|
|
|
/*
|
|
|
|
Subquery materialization-related constants
|
|
|
|
*/
|
|
|
|
#define HEAP_TEMPTABLE_LOOKUP_COST 0.05
|
|
|
|
#define DISK_TEMPTABLE_LOOKUP_COST 1.0
|
2017-12-30 21:29:09 +01:00
|
|
|
#define SORT_INDEX_CMP_COST 0.02
|
2010-11-25 18:17:28 +01:00
|
|
|
|
2019-05-28 04:08:00 +02:00
|
|
|
|
|
|
|
#define COST_MAX (DBL_MAX * (1.0 - DBL_EPSILON))
|
|
|
|
|
|
|
|
#define COST_ADD(c,d) (COST_MAX - (d) > (c) ? (c) + (d) : COST_MAX)
|
|
|
|
|
|
|
|
#define COST_MULT(c,f) (COST_MAX / (f) > (c) ? (c) * (f) : COST_MAX)
|
|
|
|
|
|
|
|
|
2010-03-31 16:05:33 +02:00
|
|
|
#define MY_CHARSET_BIN_MB_MAXLEN 1
|
|
|
|
|
|
|
|
/** Don't pack string keys shorter than this (if PACK_KEYS=1 isn't used). */
|
|
|
|
#define KEY_DEFAULT_PACK_LENGTH 8
|
|
|
|
|
|
|
|
/** Characters shown for the command in 'show processlist'. */
|
|
|
|
#define PROCESS_LIST_WIDTH 100
|
|
|
|
/* Characters shown for the command in 'information_schema.processlist' */
|
|
|
|
#define PROCESS_LIST_INFO_WIDTH 65535
|
|
|
|
|
|
|
|
#define PRECISION_FOR_DOUBLE 53
|
|
|
|
#define PRECISION_FOR_FLOAT 24
|
|
|
|
|
|
|
|
/* -[digits].E+## */
|
|
|
|
#define MAX_FLOAT_STR_LENGTH (FLT_DIG + 6)
|
|
|
|
/* -[digits].E+### */
|
|
|
|
#define MAX_DOUBLE_STR_LENGTH (DBL_DIG + 7)
|
|
|
|
|
|
|
|
/*
|
|
|
|
Default time to wait before aborting a new client connection
|
|
|
|
that does not respond to "initial server greeting" timely
|
|
|
|
*/
|
|
|
|
#define CONNECT_TIMEOUT 10
|
2016-03-22 22:42:13 +01:00
|
|
|
/* Wait 5 minutes before removing thread from thread cache */
|
|
|
|
#define THREAD_CACHE_TIMEOUT 5*60
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
/* The following can also be changed from the command line */
|
|
|
|
#define DEFAULT_CONCURRENCY 10
|
|
|
|
#define DELAYED_LIMIT 100 /**< pause after xxx inserts */
|
|
|
|
#define DELAYED_QUEUE_SIZE 1000
|
2015-09-01 11:47:06 +02:00
|
|
|
#define DELAYED_WAIT_TIMEOUT (5*60) /**< Wait for delayed insert */
|
2013-03-25 23:03:13 +01:00
|
|
|
#define MAX_CONNECT_ERRORS 100 ///< errors before disabling host
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#define LONG_TIMEOUT ((ulong) 3600L*24L*365L)
|
|
|
|
|
|
|
|
/**
|
|
|
|
Maximum length of time zone name that we support (Time zone name is
|
|
|
|
char(64) in db). mysqlbinlog needs it.
|
|
|
|
*/
|
|
|
|
#define MAX_TIME_ZONE_NAME_LENGTH (NAME_LEN + 1)
|
|
|
|
|
|
|
|
#if defined(__WIN__)
|
|
|
|
|
|
|
|
#define INTERRUPT_PRIOR -2
|
|
|
|
#define CONNECT_PRIOR -1
|
|
|
|
#define WAIT_PRIOR 0
|
|
|
|
#define QUERY_PRIOR 2
|
|
|
|
#else
|
|
|
|
#define INTERRUPT_PRIOR 10
|
|
|
|
#define CONNECT_PRIOR 9
|
|
|
|
#define WAIT_PRIOR 8
|
|
|
|
#define QUERY_PRIOR 6
|
|
|
|
#endif /* __WIN92__ */
|
|
|
|
|
2020-02-14 16:29:16 +01:00
|
|
|
#define SP_PSI_STATEMENT_INFO_COUNT 19
|
|
|
|
|
2010-03-31 16:05:33 +02:00
|
|
|
#endif /* SQL_CONST_INCLUDED */
|