Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/suite/storage_engine/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 4 kB image not shown  

Quelle  index.inc   Sprache: Delphi

 

# 
# Basic syntax related to indexes: 
#   unique and non-unique keys,
#   single- and multi-column keys,
#   index option COMMENT.
#   
# See other index* tests for operations 
# which are less likely to be supported
#
# PRIMARY KEY syntax is covered in index_primary test.
# Index types BTREE|HASH -- in index_type_btree|hash tests.
# SPATIAL -- in type_spatial_indexes test.
# FULLTEXT -- in fulltext_search test.
# KEY_BLOCK_SIZE -- in index_key_block_size test.
#
# Usage to call the test from another test:
#
# A calling test may define $index_type, in which case
#   USING clause will be added to the syntax.
# 

let $using_index_type = ;
if ($index_type)
{
  let $using_index_type = USING $index_type;
}

--source have_engine.inc

--let $continue = 1
--source have_default_index.inc

if ($have_default_index)
{

  let $create_definition = 
    a $int_indexed_col,
    b $char_col,
    $default_index $using_index_type (a)
  ;
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    # Cardinality is not the exact science, so here and further
    # we'll be masking it
    --replace_column 6 # 7 # 10 # 
    SHOW KEYS IN t1;
    DROP TABLE t1;
  }

  let $create_definition =
    a $int_indexed_col,
    b $char_indexed_col,
    $default_index a_b $using_index_type (a,b) COMMENT 'a_b index'
  ;
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $functionality = Multi-part indexes
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    --replace_column 6 # 7 # 10 # 
    SHOW KEYS IN t1;
    DROP TABLE t1;
  }


  let $create_definition = 
    a $int_indexed_col,
    b $char_indexed_col,
    $default_index $using_index_type (a),
    $default_index $using_index_type (b)
  ;
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $functionality = Multiple indexes
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    --replace_column 6 # 7 # 10 # 
    SHOW KEYS IN t1;
    DROP TABLE t1;
  }

  let $create_definition =
    a $int_indexed_col,
    b $char_col,
    UNIQUE INDEX $using_index_type (a)
  ;
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $functionality = Unique indexes
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    --replace_column 6 # 7 # 10 # 
    SHOW KEYS IN t1;
    INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
    --let $error_codes = ER_DUP_ENTRY,ER_DUP_KEY
    INSERT INTO t1 (a,b) VALUES (1,'c');
    --source check_errors.inc

    DROP TABLE t1;
  }


  #
  # ALTER TABLE
  #

  --let $create_definition = a $int_indexed_col, b $char_col
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $functionality = Column options
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    INSERT INTO t1 (a,b) VALUES (100,'z');

    --let $alter_definition = ADD $default_index (a) $using_index_type COMMENT 'simple index on a'
    --source alter_table.inc
    if ($mysql_errname)
    {
      --let $functionality = ALTER TABLE .. ADD INDEX
      --let $my_last_stmt = $alter_statement
      --source unexpected_result.inc
    }
    if (!$mysql_errname)
    {
      --replace_column 6 # 7 # 10 # 
      SHOW INDEX FROM t1;
      --let $alter_definition = DROP KEY a
      --source alter_table.inc
    }
    DROP TABLE t1;
  }

  let $create_definition =
    a $int_indexed_col,
    b $char_col,
    UNIQUE INDEX $using_index_type (a)
  ;
  --source create_table.inc
  if ($mysql_errname)
  {
    --let $functionality = Unique indexes
    --let $my_last_stmt = $create_statement
    --source unexpected_result.inc
  }
  if (!$mysql_errname)
  {
    --replace_column 6 # 7 # 10 #
    SHOW KEYS IN t1;
    INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
    --let $error_codes = ER_DUP_ENTRY,ER_DUP_KEY
    INSERT INTO t1 (a,b) VALUES (1,'c');
    --source check_errors.inc

    --let $alter_definition = DROP INDEX a
    --source alter_table.inc
    if ($mysql_errname)
    {
      --let $functionality = ALTER TABLE .. DROP INDEX
      --let $my_last_stmt = $alter_statement
      --source unexpected_result.inc
    }
    if (!$mysql_errname)
    {
      INSERT INTO t1 (a,b) VALUES (1,'c');
      --let $error_codes = ER_DUP_ENTRY,ER_DUP_KEY
      --let $alter_definition = ADD UNIQUE INDEX a(a) $using_index_type
      --source alter_table.inc
    }
    DROP TABLE t1;
  }
}


Messung V0.5 in Prozent
C=100 H=96 G=97

¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.