[enhancement](mysql) Add have_query_cache variable to be compatible with old mysql client (#21701)

This commit is contained in:
zy-kkk
2023-07-11 14:05:40 +08:00
committed by GitHub
parent 8d98f2ac7e
commit 7a758f7944
3 changed files with 16 additions and 0 deletions

View File

@ -177,6 +177,10 @@ Note that the comment must start with /*+ and can only follow the SELECT.
Used for compatibility with MySQL clients. No practical effect.
* `have_query_cache`
Used for compatibility with MySQL clients. No practical effect.
* `default_order_by_limit`
Used to control the default number of items returned after OrderBy. The default value is -1, and the maximum number of records after the query is returned by default, and the upper limit is the MAX_VALUE of the long data type.

View File

@ -175,6 +175,10 @@ SELECT /*+ SET_VAR(query_timeout = 1, enable_partition_cache=true) */ sleep(3);
用于兼容 MySQL 客户端。无实际作用。
- `have_query_cache`
用于兼容 MySQL 客户端。无实际作用。
- `default_order_by_limit`
用于控制 OrderBy 以后返回的默认条数。默认值为 -1,默认返回查询后的最大条数,上限为 long 数据类型的 MAX_VALUE 值。

View File

@ -96,6 +96,7 @@ public class SessionVariable implements Serializable, Writable {
public static final String SQL_SAFE_UPDATES = "sql_safe_updates";
public static final String NET_BUFFER_LENGTH = "net_buffer_length";
public static final String CODEGEN_LEVEL = "codegen_level";
public static final String HAVE_QUERY_CACHE = "have_query_cache";
// mem limit can't smaller than bufferpool's default page size
public static final int MIN_EXEC_MEM_LIMIT = 2097152;
public static final String BATCH_SIZE = "batch_size";
@ -520,6 +521,9 @@ public class SessionVariable implements Serializable, Writable {
@VariableMgr.VarAttr(name = CODEGEN_LEVEL)
public int codegenLevel = 0;
@VariableMgr.VarAttr(name = HAVE_QUERY_CACHE, flag = VariableMgr.READ_ONLY)
public boolean haveQueryCache = false;
// 4096 minus 16 + 16 bytes padding that in padding pod array
@VariableMgr.VarAttr(name = BATCH_SIZE, fuzzy = true)
public int batchSize = 4064;
@ -1344,6 +1348,10 @@ public class SessionVariable implements Serializable, Writable {
return codegenLevel;
}
public boolean getHaveQueryCache() {
return haveQueryCache;
}
/**
* setMaxExecMemByte.
**/