fix!: correct information_schema index metadata (#8275)

fix: correct information_schema index metadata

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
This commit is contained in:
dennis zhuang
2026-06-11 09:36:23 +08:00
committed by GitHub
parent 8fc5a3b1c7
commit ca21c9f048
13 changed files with 291 additions and 259 deletions

View File

@@ -51,6 +51,9 @@ use lazy_static::lazy_static;
use paste::paste;
use process_list::InformationSchemaProcessList;
use region_info::InformationSchemaRegionInfo;
use store_api::metric_engine_consts::{
MEMTABLE_PARTITION_TREE_PRIMARY_KEY_ENCODING, PRIMARY_KEY_ENCODING,
};
use store_api::region_info::RegionInfoEntry;
use store_api::sst_entry::{ManifestSstEntry, PuffinIndexMetaEntry, StorageSstEntry};
use store_api::storage::{ScanRequest, TableId};
@@ -83,6 +86,23 @@ use crate::system_schema::{
SystemSchemaProvider, SystemSchemaProviderInner, SystemTable, SystemTableRef,
};
const DENSE_PRIMARY_KEY_ENCODING: &str = "dense";
const SPARSE_PRIMARY_KEY_ENCODING: &str = "sparse";
pub(crate) fn primary_key_encoding_index_type(options: &HashMap<String, String>) -> &'static str {
options
.get(PRIMARY_KEY_ENCODING)
.or_else(|| options.get(MEMTABLE_PARTITION_TREE_PRIMARY_KEY_ENCODING))
.map(|value| {
if value.eq_ignore_ascii_case(SPARSE_PRIMARY_KEY_ENCODING) {
SPARSE_PRIMARY_KEY_ENCODING
} else {
DENSE_PRIMARY_KEY_ENCODING
}
})
.unwrap_or(DENSE_PRIMARY_KEY_ENCODING)
}
lazy_static! {
// Memory tables in `information_schema`.
static ref MEMORY_TABLES: &'static [&'static str] = &[

View File

@@ -35,7 +35,9 @@ use crate::CatalogManager;
use crate::error::{
CreateRecordBatchSnafu, InternalSnafu, Result, UpgradeWeakCatalogManagerRefSnafu,
};
use crate::system_schema::information_schema::{InformationTable, KEY_COLUMN_USAGE, Predicates};
use crate::system_schema::information_schema::{
InformationTable, KEY_COLUMN_USAGE, Predicates, primary_key_encoding_index_type,
};
pub const CONSTRAINT_SCHEMA: &str = "constraint_schema";
pub const CONSTRAINT_NAME: &str = "constraint_name";
@@ -56,25 +58,15 @@ pub(crate) const CONSTRAINT_NAME_TIME_INDEX: &str = "TIME INDEX";
/// Primary key constraint name
pub(crate) const CONSTRAINT_NAME_PRI: &str = "PRIMARY";
/// Primary key index type
pub(crate) const INDEX_TYPE_PRI: &str = "greptime-primary-key-v1";
/// Inverted index name
pub(crate) const CONSTRAINT_NAME_INVERTED_INDEX: &str = "INVERTED INDEX";
/// Inverted index type
pub(crate) const INDEX_TYPE_INVERTED_INDEX: &str = "greptime-inverted-index-v1";
/// Fulltext index name
pub(crate) const CONSTRAINT_NAME_FULLTEXT_INDEX: &str = "FULLTEXT INDEX";
/// Fulltext index v1 type
pub(crate) const INDEX_TYPE_FULLTEXT_TANTIVY: &str = "greptime-fulltext-index-v1";
/// Fulltext index bloom type
pub(crate) const INDEX_TYPE_FULLTEXT_BLOOM: &str = "greptime-fulltext-index-bloom";
/// Skipping index name
pub(crate) const CONSTRAINT_NAME_SKIPPING_INDEX: &str = "SKIPPING INDEX";
/// Skipping index type
pub(crate) const INDEX_TYPE_SKIPPING_INDEX: &str = "greptime-bloom-filter-v1";
/// The virtual table implementation for `information_schema.KEY_COLUMN_USAGE`.
///
@@ -251,6 +243,8 @@ impl InformationSchemaKeyColumnUsageBuilder {
let table_name = &table_info.name;
let keys = &table_info.meta.primary_key_indices;
let schema = table.schema();
let primary_key_encoding =
primary_key_encoding_index_type(&table_info.meta.options.extra_options);
for (idx, column) in schema.column_schemas().iter().enumerate() {
if column.is_time_index() {
@@ -276,7 +270,7 @@ impl InformationSchemaKeyColumnUsageBuilder {
table_name,
&column.name,
pk_seq as u32 + 1,
INDEX_TYPE_PRI,
primary_key_encoding,
);
}
}

View File

@@ -29,6 +29,10 @@ use datatypes::value::Value;
use datatypes::vectors::{Int64VectorBuilder, StringVectorBuilder};
use futures::TryStreamExt;
use snafu::{OptionExt, ResultExt};
use store_api::sst_entry::{
PUFFIN_INDEX_TYPE_BLOOM_FILTER, PUFFIN_INDEX_TYPE_FULLTEXT_BLOOM,
PUFFIN_INDEX_TYPE_FULLTEXT_TANTIVY, PUFFIN_INDEX_TYPE_INVERTED,
};
use store_api::storage::{ScanRequest, TableId};
use crate::CatalogManager;
@@ -37,11 +41,11 @@ use crate::error::{
};
use crate::system_schema::information_schema::key_column_usage::{
CONSTRAINT_NAME_FULLTEXT_INDEX, CONSTRAINT_NAME_INVERTED_INDEX, CONSTRAINT_NAME_PRI,
CONSTRAINT_NAME_SKIPPING_INDEX, CONSTRAINT_NAME_TIME_INDEX, INDEX_TYPE_FULLTEXT_BLOOM,
INDEX_TYPE_FULLTEXT_TANTIVY, INDEX_TYPE_INVERTED_INDEX, INDEX_TYPE_PRI,
INDEX_TYPE_SKIPPING_INDEX,
CONSTRAINT_NAME_SKIPPING_INDEX, CONSTRAINT_NAME_TIME_INDEX,
};
use crate::system_schema::information_schema::{
InformationTable, Predicates, STATISTICS, primary_key_encoding_index_type,
};
use crate::system_schema::information_schema::{InformationTable, Predicates, STATISTICS};
pub const TABLE_CATALOG: &str = "table_catalog";
pub const TABLE_SCHEMA: &str = "table_schema";
@@ -68,10 +72,12 @@ const MYSQL_DEFAULT_CATALOG: &str = "def";
const ASCENDING_COLLATION: &str = "A";
const YES: &str = "YES";
const EMPTY: &str = "";
const BTREE: &str = "BTREE";
const PRIMARY: &str = "PRIMARY";
const TIME: &str = "TIME";
const FULLTEXT: &str = "FULLTEXT";
const INVERTED: &str = "INVERTED";
const BLOOM: &str = "BLOOM";
const SKIPPING: &str = "SKIPPING";
const SECONDARY_INDEX_SEQ: i64 = 1;
/// The `information_schema.statistics` table provides index metadata in a
/// MySQL-compatible shape.
@@ -236,6 +242,8 @@ impl InformationSchemaStatisticsBuilder {
let table_name = &table_info.name;
let keys = &table_info.meta.primary_key_indices;
let schema = table.schema();
let primary_key_encoding =
primary_key_encoding_index_type(&table_info.meta.options.extra_options);
for (primary_key_seq, idx) in keys.iter().enumerate() {
if let Some(column) = schema.column_schemas().get(*idx) {
@@ -247,16 +255,12 @@ impl InformationSchemaStatisticsBuilder {
CONSTRAINT_NAME_PRI,
primary_key_seq as i64 + 1,
column,
BTREE,
INDEX_TYPE_PRI,
PRIMARY,
primary_key_encoding,
);
}
}
let mut inverted_seq = 0;
let mut fulltext_seq = 0;
let mut skipping_seq = 0;
for column in schema.column_schemas() {
if column.is_time_index() {
self.add_statistics(
@@ -267,56 +271,59 @@ impl InformationSchemaStatisticsBuilder {
CONSTRAINT_NAME_TIME_INDEX,
1,
column,
BTREE,
TIME,
EMPTY,
);
}
if column.is_inverted_indexed() {
inverted_seq += 1;
let index_name =
column_index_name(CONSTRAINT_NAME_INVERTED_INDEX, &column.name);
self.add_statistics(
&predicates,
&schema_name,
table_name,
1,
CONSTRAINT_NAME_INVERTED_INDEX,
inverted_seq,
&index_name,
SECONDARY_INDEX_SEQ,
column,
INVERTED,
INDEX_TYPE_INVERTED_INDEX,
PUFFIN_INDEX_TYPE_INVERTED,
);
}
if let Ok(Some(options)) = column.fulltext_options()
&& options.enable
{
let greptime_index_type = match options.backend {
FulltextBackend::Bloom => INDEX_TYPE_FULLTEXT_BLOOM,
FulltextBackend::Tantivy => INDEX_TYPE_FULLTEXT_TANTIVY,
FulltextBackend::Bloom => PUFFIN_INDEX_TYPE_FULLTEXT_BLOOM,
FulltextBackend::Tantivy => PUFFIN_INDEX_TYPE_FULLTEXT_TANTIVY,
};
fulltext_seq += 1;
let index_name =
column_index_name(CONSTRAINT_NAME_FULLTEXT_INDEX, &column.name);
self.add_statistics(
&predicates,
&schema_name,
table_name,
1,
CONSTRAINT_NAME_FULLTEXT_INDEX,
fulltext_seq,
&index_name,
SECONDARY_INDEX_SEQ,
column,
FULLTEXT,
greptime_index_type,
);
}
if column.is_skipping_indexed() {
skipping_seq += 1;
let index_name =
column_index_name(CONSTRAINT_NAME_SKIPPING_INDEX, &column.name);
self.add_statistics(
&predicates,
&schema_name,
table_name,
1,
CONSTRAINT_NAME_SKIPPING_INDEX,
skipping_seq,
&index_name,
SECONDARY_INDEX_SEQ,
column,
BLOOM,
INDEX_TYPE_SKIPPING_INDEX,
SKIPPING,
PUFFIN_INDEX_TYPE_BLOOM_FILTER,
);
}
}
@@ -407,6 +414,10 @@ impl InformationSchemaStatisticsBuilder {
}
}
fn column_index_name(index_name: &str, column_name: &str) -> String {
format!("{}_{}", index_name.replace(' ', "_"), column_name)
}
impl DfPartitionStream for InformationSchemaStatistics {
fn schema(&self) -> &ArrowSchemaRef {
self.schema.arrow_schema()

View File

@@ -25,7 +25,10 @@ use index::target::IndexTarget;
use puffin::blob_metadata::BlobMetadata;
use puffin::puffin_manager::{PuffinManager, PuffinReader};
use serde_json::{Map, Value, json};
use store_api::sst_entry::PuffinIndexMetaEntry;
use store_api::sst_entry::{
PUFFIN_INDEX_TYPE_BLOOM_FILTER, PUFFIN_INDEX_TYPE_FULLTEXT_BLOOM,
PUFFIN_INDEX_TYPE_FULLTEXT_TANTIVY, PUFFIN_INDEX_TYPE_INVERTED, PuffinIndexMetaEntry,
};
use store_api::storage::{ColumnId, RegionGroup, RegionId, RegionNumber, RegionSeq, TableId};
use crate::cache::index::bloom_filter_index::{
@@ -41,11 +44,6 @@ use crate::sst::index::fulltext_index::{
use crate::sst::index::inverted_index::INDEX_BLOB_TYPE as INVERTED_BLOB_TYPE;
use crate::sst::index::puffin_manager::{SstPuffinManager, SstPuffinReader};
const INDEX_TYPE_BLOOM: &str = "bloom_filter";
const INDEX_TYPE_FULLTEXT_BLOOM: &str = "fulltext_bloom";
const INDEX_TYPE_FULLTEXT_TANTIVY: &str = "fulltext_tantivy";
const INDEX_TYPE_INVERTED: &str = "inverted";
const TARGET_TYPE_UNKNOWN: &str = "unknown";
const TARGET_TYPE_COLUMN: &str = "column";
@@ -118,7 +116,7 @@ pub(crate) async fn collect_index_entries_from_puffin(
let meta_json = build_meta_json(bloom_value, None, None);
let entry = build_index_entry(
&context,
INDEX_TYPE_BLOOM,
PUFFIN_INDEX_TYPE_BLOOM_FILTER,
target_type,
target_key.to_string(),
target_json,
@@ -145,7 +143,7 @@ pub(crate) async fn collect_index_entries_from_puffin(
let meta_json = build_meta_json(bloom_value, fulltext_value, None);
let entry = build_index_entry(
&context,
INDEX_TYPE_FULLTEXT_BLOOM,
PUFFIN_INDEX_TYPE_FULLTEXT_BLOOM,
target_type,
target_key.to_string(),
target_json,
@@ -160,7 +158,7 @@ pub(crate) async fn collect_index_entries_from_puffin(
let meta_json = build_meta_json(None, fulltext_value, None);
let entry = build_index_entry(
&context,
INDEX_TYPE_FULLTEXT_TANTIVY,
PUFFIN_INDEX_TYPE_FULLTEXT_TANTIVY,
target_type,
target_key.to_string(),
target_json,
@@ -276,7 +274,7 @@ fn build_inverted_entries(
let meta_json = build_meta_json(None, None, Some(inverted_value));
let entry = build_index_entry(
context,
INDEX_TYPE_INVERTED,
PUFFIN_INDEX_TYPE_INVERTED,
target_type,
name.clone(),
target_json,

View File

@@ -436,7 +436,7 @@ pub async fn show_index(
col(statistics::SUB_PART).alias(INDEX_SUB_PART_COLUMN),
col(statistics::PACKED).alias(INDEX_PACKED_COLUMN),
col(statistics::NULLABLE).alias(COLUMN_NULLABLE_COLUMN),
col(statistics::GREPTIME_INDEX_TYPE).alias(INDEX_INDEX_TYPE_COLUMN),
col(statistics::INDEX_TYPE).alias(INDEX_INDEX_TYPE_COLUMN),
col(statistics::COMMENT).alias(COLUMN_COMMENT_COLUMN),
col(statistics::INDEX_COMMENT).alias(INDEX_COMMENT_COLUMN),
col(statistics::IS_VISIBLE).alias(INDEX_VISIBLE_COLUMN),
@@ -454,7 +454,7 @@ pub async fn show_index(
(INDEX_SUB_PART_COLUMN, INDEX_SUB_PART_COLUMN),
(INDEX_PACKED_COLUMN, INDEX_PACKED_COLUMN),
(COLUMN_NULLABLE_COLUMN, COLUMN_NULLABLE_COLUMN),
(statistics::GREPTIME_INDEX_TYPE, INDEX_INDEX_TYPE_COLUMN),
(statistics::INDEX_TYPE, INDEX_INDEX_TYPE_COLUMN),
(COLUMN_COMMENT_COLUMN, COLUMN_COMMENT_COLUMN),
(INDEX_COMMENT_COLUMN, INDEX_COMMENT_COLUMN),
(INDEX_VISIBLE_COLUMN, INDEX_VISIBLE_COLUMN),

View File

@@ -31,6 +31,15 @@ use serde::{Deserialize, Serialize};
use crate::storage::{RegionGroup, RegionId, RegionNumber, RegionSeq, ScanRequest, TableId};
/// Puffin index type for bloom filter indexes.
pub const PUFFIN_INDEX_TYPE_BLOOM_FILTER: &str = "bloom_filter";
/// Puffin index type for bloom-backed full-text indexes.
pub const PUFFIN_INDEX_TYPE_FULLTEXT_BLOOM: &str = "fulltext_bloom";
/// Puffin index type for Tantivy-backed full-text indexes.
pub const PUFFIN_INDEX_TYPE_FULLTEXT_TANTIVY: &str = "fulltext_tantivy";
/// Puffin index type for inverted indexes.
pub const PUFFIN_INDEX_TYPE_INVERTED: &str = "inverted";
/// An entry describing a SST file known by the engine's manifest.
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ManifestSstEntry {

View File

@@ -96,12 +96,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message UNSET FULLTEXT INDEX;
@@ -129,7 +129,7 @@ SHOW INDEX FROM test;
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'true');
@@ -155,12 +155,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'false');
@@ -192,7 +192,7 @@ SHOW INDEX FROM test;
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'true', backend = 'bloom');
@@ -218,12 +218,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'true', backend = 'bloom', granularity = 1000);
@@ -248,12 +248,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'true', backend = 'bloom', granularity = 1000, false_positive_rate = 0.05);
@@ -278,12 +278,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinese', case_sensitive = 'true', backend = 'tantivy');
@@ -308,12 +308,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT INDEX | 1 | message | A | | | | YES | greptime-fulltext-index-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | FULLTEXT_INDEX_message | 1 | message | A | | | | YES | FULLTEXT | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Invalid options
ALTER TABLE test MODIFY COLUMN message SET FULLTEXT INDEX WITH(analyzer = 'Chinglish', case_sensitive = 'false');

View File

@@ -65,12 +65,12 @@ SHOW CREATE TABLE fox;
SHOW INDEX FROM fox;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| fox | 1 | INVERTED INDEX | 1 | fox | A | | | | YES | greptime-inverted-index-v1 | | | YES | |
| fox | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| fox | 1 | INVERTED_INDEX_fox | 1 | fox | A | | | | YES | INVERTED | | | YES | |
| fox | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE fox MODIFY COLUMN fox UNSET INVERTED INDEX;
@@ -112,7 +112,7 @@ SHOW INDEX FROM fox;
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| fox | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
| fox | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
DROP TABLE fox;
@@ -125,13 +125,13 @@ Affected Rows: 0
SHOW INDEX FROM test_pk;
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test_pk MODIFY COLUMN foo UNSET INVERTED INDEX;
@@ -139,13 +139,13 @@ Affected Rows: 0
SHOW INDEX FROM test_pk;
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test_pk MODIFY COLUMN bar UNSET INVERTED INDEX;
@@ -153,13 +153,13 @@ Affected Rows: 0
SHOW INDEX FROM test_pk;
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------+---------+---------------+---------+------------+
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
ALTER TABLE test_pk MODIFY COLUMN foo SET INVERTED INDEX;
@@ -167,14 +167,14 @@ Affected Rows: 0
SHOW INDEX FROM test_pk;
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
| test_pk | 1 | INVERTED INDEX | 1 | foo | A | | | | YES | greptime-inverted-index-v1 | | | YES | |
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+----------------------------+---------+---------------+---------+------------+
+---------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+---------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test_pk | 1 | INVERTED_INDEX_foo | 1 | foo | A | | | | YES | INVERTED | | | YES | |
| test_pk | 0 | PRIMARY | 1 | foo | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 0 | PRIMARY | 2 | bar | A | | | | YES | PRIMARY | | | YES | |
| test_pk | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+---------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
DROP TABLE test_pk;

View File

@@ -141,13 +141,13 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | value | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 2 | metric | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_metric | 1 | metric | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_value | 1 | value | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test modifying existing skipping index options
ALTER TABLE test MODIFY COLUMN value SET SKIPPING INDEX WITH(granularity = 8192, type = 'BLOOM', false_positive_rate = 0.01);
@@ -173,13 +173,13 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | value | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 2 | metric | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_metric | 1 | metric | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_value | 1 | value | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test modifying existing skipping index options
ALTER TABLE test MODIFY COLUMN value SET SKIPPING INDEX WITH(granularity = 8192, type = 'BLOOM', false_positive_rate = 0.0001);
@@ -205,13 +205,13 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | value | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 2 | metric | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_metric | 1 | metric | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_value | 1 | value | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test removing skipping index
ALTER TABLE test MODIFY COLUMN value UNSET SKIPPING INDEX;
@@ -237,12 +237,12 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | metric | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_metric | 1 | metric | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test adding back with different options
ALTER TABLE test MODIFY COLUMN value SET SKIPPING INDEX WITH(granularity = 2048, type = 'BLOOM', false_positive_rate = 0.01);
@@ -268,13 +268,13 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | value | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 2 | metric | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_metric | 1 | metric | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_value | 1 | value | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test removing all skipping indexes
ALTER TABLE test MODIFY COLUMN value UNSET SKIPPING INDEX;
@@ -307,7 +307,7 @@ SHOW INDEX FROM test;
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Test invalid operations and error cases
@@ -361,14 +361,14 @@ SHOW CREATE TABLE test;
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING INDEX | 1 | value | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 2 | category | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 3 | time | A | | | | | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 1 | SKIPPING_INDEX_category | 1 | category | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_time | 1 | time | A | | | | | SKIPPING | | | YES | |
| test | 1 | SKIPPING_INDEX_value | 1 | value | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | time | A | | | | | TIME | | | YES | |
+-------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
-- Clean up
DROP TABLE test;

View File

@@ -296,16 +296,16 @@ SHOW CREATE TABLE phy;
SHOW INDEX FROM phy;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| phy | 0 | PRIMARY | 1 | __table_id | A | | | | | greptime-primary-key-v1 | | | YES | |
| phy | 0 | PRIMARY | 2 | __tsid | A | | | | | greptime-primary-key-v1 | | | YES | |
| phy | 0 | PRIMARY | 3 | host | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| phy | 1 | SKIPPING INDEX | 1 | __table_id | A | | | | | greptime-bloom-filter-v1 | | | YES | |
| phy | 1 | SKIPPING INDEX | 2 | host | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| phy | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| phy | 0 | PRIMARY | 1 | __table_id | A | | | | | PRIMARY | | | YES | |
| phy | 0 | PRIMARY | 2 | __tsid | A | | | | | PRIMARY | | | YES | |
| phy | 0 | PRIMARY | 3 | host | A | | | | YES | PRIMARY | | | YES | |
| phy | 1 | SKIPPING_INDEX___table_id | 1 | __table_id | A | | | | | SKIPPING | | | YES | |
| phy | 1 | SKIPPING_INDEX_host | 1 | host | A | | | | YES | SKIPPING | | | YES | |
| phy | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
DROP TABLE t1;

View File

@@ -271,18 +271,18 @@ Affected Rows: 0
show index from phy;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| phy | 0 | PRIMARY | 1 | host | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| phy | 0 | PRIMARY | 2 | __table_id | A | | | | | greptime-primary-key-v1 | | | YES | |
| phy | 0 | PRIMARY | 3 | __tsid | A | | | | | greptime-primary-key-v1 | | | YES | |
| phy | 0 | PRIMARY | 4 | job | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| phy | 1 | SKIPPING INDEX | 1 | host | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| phy | 1 | SKIPPING INDEX | 2 | __table_id | A | | | | | greptime-bloom-filter-v1 | | | YES | |
| phy | 1 | SKIPPING INDEX | 3 | job | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| phy | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| phy | 0 | PRIMARY | 1 | host | A | | | | YES | PRIMARY | | | YES | |
| phy | 0 | PRIMARY | 2 | __table_id | A | | | | | PRIMARY | | | YES | |
| phy | 0 | PRIMARY | 3 | __tsid | A | | | | | PRIMARY | | | YES | |
| phy | 0 | PRIMARY | 4 | job | A | | | | YES | PRIMARY | | | YES | |
| phy | 1 | SKIPPING_INDEX___table_id | 1 | __table_id | A | | | | | SKIPPING | | | YES | |
| phy | 1 | SKIPPING_INDEX_host | 1 | host | A | | | | YES | SKIPPING | | | YES | |
| phy | 1 | SKIPPING_INDEX_job | 1 | job | A | | | | YES | SKIPPING | | | YES | |
| phy | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+-------+------------+---------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
drop table t1;

View File

@@ -60,53 +60,53 @@ Error: 2000(InvalidSyntax), Unexpected token while parsing SQL statement, expect
SHOW INDEX FROM test;
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test | 0 | PRIMARY | 1 | a | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test | 0 | PRIMARY | 2 | b | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test | 1 | SKIPPING INDEX | 1 | b | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+-------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test | 0 | PRIMARY | 1 | a | A | | | | YES | PRIMARY | | | YES | |
| test | 0 | PRIMARY | 2 | b | A | | | | YES | PRIMARY | | | YES | |
| test | 1 | SKIPPING_INDEX_b | 1 | b | A | | | | YES | SKIPPING | | | YES | |
| test | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+-------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
SHOW INDEX FROM test_no_inverted_index;
+------------------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+------------------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
| test_no_inverted_index | 0 | PRIMARY | 1 | a | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_no_inverted_index | 0 | PRIMARY | 2 | b | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| test_no_inverted_index | 1 | SKIPPING INDEX | 1 | b | A | | | | YES | greptime-bloom-filter-v1 | | | YES | |
| test_no_inverted_index | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+------------------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+--------------------------+---------+---------------+---------+------------+
+------------------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+------------------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| test_no_inverted_index | 0 | PRIMARY | 1 | a | A | | | | YES | PRIMARY | | | YES | |
| test_no_inverted_index | 0 | PRIMARY | 2 | b | A | | | | YES | PRIMARY | | | YES | |
| test_no_inverted_index | 1 | SKIPPING_INDEX_b | 1 | b | A | | | | YES | SKIPPING | | | YES | |
| test_no_inverted_index | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+------------------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
SHOW INDEX FROM system_metrics;
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| system_metrics | 1 | FULLTEXT INDEX | 1 | idc | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | FULLTEXT INDEX | 2 | desc2 | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | FULLTEXT INDEX | 3 | desc3 | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | INVERTED INDEX | 1 | idc | A | | | | YES | greptime-inverted-index-v1 | | | YES | |
| system_metrics | 0 | PRIMARY | 1 | host | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| system_metrics | 0 | PRIMARY | 2 | idc | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| system_metrics | 1 | FULLTEXT_INDEX_desc2 | 1 | desc2 | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | FULLTEXT_INDEX_desc3 | 1 | desc3 | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | FULLTEXT_INDEX_idc | 1 | idc | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | INVERTED_INDEX_idc | 1 | idc | A | | | | YES | INVERTED | | | YES | |
| system_metrics | 0 | PRIMARY | 1 | host | A | | | | YES | PRIMARY | | | YES | |
| system_metrics | 0 | PRIMARY | 2 | idc | A | | | | YES | PRIMARY | | | YES | |
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
SHOW INDEX FROM system_metrics in public;
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
| system_metrics | 1 | FULLTEXT INDEX | 1 | idc | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | FULLTEXT INDEX | 2 | desc2 | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | FULLTEXT INDEX | 3 | desc3 | A | | | | YES | greptime-fulltext-index-bloom | | | YES | |
| system_metrics | 1 | INVERTED INDEX | 1 | idc | A | | | | YES | greptime-inverted-index-v1 | | | YES | |
| system_metrics | 0 | PRIMARY | 1 | host | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| system_metrics | 0 | PRIMARY | 2 | idc | A | | | | YES | greptime-primary-key-v1 | | | YES | |
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
+----------------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+-------------------------------+---------+---------------+---------+------------+
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| system_metrics | 1 | FULLTEXT_INDEX_desc2 | 1 | desc2 | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | FULLTEXT_INDEX_desc3 | 1 | desc3 | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | FULLTEXT_INDEX_idc | 1 | idc | A | | | | YES | FULLTEXT | | | YES | |
| system_metrics | 1 | INVERTED_INDEX_idc | 1 | idc | A | | | | YES | INVERTED | | | YES | |
| system_metrics | 0 | PRIMARY | 1 | host | A | | | | YES | PRIMARY | | | YES | |
| system_metrics | 0 | PRIMARY | 2 | idc | A | | | | YES | PRIMARY | | | YES | |
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+----------------+------------+----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
SHOW INDEX FROM system_metrics like '%util%';
@@ -117,7 +117,7 @@ SHOW INDEX FROM system_metrics WHERE Key_name = 'TIME INDEX';
+----------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+----------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | | | | YES | |
| system_metrics | 1 | TIME INDEX | 1 | ts | A | | | | | TIME | | | YES | |
+----------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
SELECT table_schema,
@@ -133,21 +133,21 @@ WHERE table_schema = 'public'
AND table_name IN ('system_metrics', 'test')
ORDER BY table_name, index_name, seq_in_index, column_name;
+--------------+----------------+------------+----------------+--------------+-------------+------------+-------------------------------+
| table_schema | table_name | non_unique | index_name | seq_in_index | column_name | index_type | greptime_index_type |
+--------------+----------------+------------+----------------+--------------+-------------+------------+-------------------------------+
| public | system_metrics | 1 | FULLTEXT INDEX | 1 | idc | FULLTEXT | greptime-fulltext-index-bloom |
| public | system_metrics | 1 | FULLTEXT INDEX | 2 | desc2 | FULLTEXT | greptime-fulltext-index-bloom |
| public | system_metrics | 1 | FULLTEXT INDEX | 3 | desc3 | FULLTEXT | greptime-fulltext-index-bloom |
| public | system_metrics | 1 | INVERTED INDEX | 1 | idc | INVERTED | greptime-inverted-index-v1 |
| public | system_metrics | 0 | PRIMARY | 1 | host | BTREE | greptime-primary-key-v1 |
| public | system_metrics | 0 | PRIMARY | 2 | idc | BTREE | greptime-primary-key-v1 |
| public | system_metrics | 1 | TIME INDEX | 1 | ts | BTREE | |
| public | test | 0 | PRIMARY | 1 | a | BTREE | greptime-primary-key-v1 |
| public | test | 0 | PRIMARY | 2 | b | BTREE | greptime-primary-key-v1 |
| public | test | 1 | SKIPPING INDEX | 1 | b | BLOOM | greptime-bloom-filter-v1 |
| public | test | 1 | TIME INDEX | 1 | ts | BTREE | |
+--------------+----------------+------------+----------------+--------------+-------------+------------+-------------------------------+
+--------------+----------------+------------+----------------------+--------------+-------------+------------+---------------------+
| table_schema | table_name | non_unique | index_name | seq_in_index | column_name | index_type | greptime_index_type |
+--------------+----------------+------------+----------------------+--------------+-------------+------------+---------------------+
| public | system_metrics | 1 | FULLTEXT_INDEX_desc2 | 1 | desc2 | FULLTEXT | fulltext_bloom |
| public | system_metrics | 1 | FULLTEXT_INDEX_desc3 | 1 | desc3 | FULLTEXT | fulltext_bloom |
| public | system_metrics | 1 | FULLTEXT_INDEX_idc | 1 | idc | FULLTEXT | fulltext_bloom |
| public | system_metrics | 1 | INVERTED_INDEX_idc | 1 | idc | INVERTED | inverted |
| public | system_metrics | 0 | PRIMARY | 1 | host | PRIMARY | dense |
| public | system_metrics | 0 | PRIMARY | 2 | idc | PRIMARY | dense |
| public | system_metrics | 1 | TIME INDEX | 1 | ts | TIME | |
| public | test | 0 | PRIMARY | 1 | a | PRIMARY | dense |
| public | test | 0 | PRIMARY | 2 | b | PRIMARY | dense |
| public | test | 1 | SKIPPING_INDEX_b | 1 | b | SKIPPING | bloom_filter |
| public | test | 1 | TIME INDEX | 1 | ts | TIME | |
+--------------+----------------+------------+----------------------+--------------+-------------+------------+---------------------+
DROP TABLE system_metrics;

View File

@@ -686,11 +686,11 @@ select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME = 'TIME INDEX';
select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME != 'TIME INDEX';
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | greptime-primary-key-v1 |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | dense |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME LIKE '%INDEX';
@@ -699,11 +699,11 @@ select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME LIKE '%INDEX';
select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME NOT LIKE '%INDEX';
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | greptime-primary-key-v1 |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | dense |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
select * from KEY_COLUMN_USAGE where CONSTRAINT_NAME == 'TIME INDEX' AND CONSTRAINT_SCHEMA != 'my_db';
@@ -786,11 +786,11 @@ desc table key_column_usage;
select * from key_column_usage;
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | greptime-primary-key-v1 |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+-------------------------+
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| constraint_catalog | constraint_schema | constraint_name | table_catalog | real_table_catalog | table_schema | table_name | column_name | ordinal_position | position_in_unique_constraint | referenced_table_schema | referenced_table_name | referenced_column_name | greptime_index_type |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
| def | public | PRIMARY | def | greptime | public | numbers | number | 1 | | | | | dense |
+--------------------+-------------------+-----------------+---------------+--------------------+--------------+------------+-------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+---------------------+
-- tables not implemented
DESC TABLE COLUMN_PRIVILEGES;