Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  create_table.inc   Sprache: Delphi

 

##################################
#
# This include file will be used for all CREATE TABLE statements in the suite. 
# If you need to add additional steps or change the logic, copy the file 
# to storage/<engine>/mysql-test/storage_engine/ folder and modify it there.
#
##################
#
# Parameters: 
#
# --let $create_definition = <column names, types, indexes)   # optional, default a $int_col, b $char_col (based on defaults)
# --let $table_name = <table name>                            # optional, default t1
# --let $table_options = <table options>                      # optional, default based on define_engine.inc
# --let $partition_options = <partitioning definition>        # optional, default none
# --let $as_select = <SELECT statement>                       # optional, default empty
# --let $error_codes = <expected error codes, as in --error>  # optional, default 0
# --let $if_not_exists = [0|1]                                # optional, default 0 (1 adds IF NOT EXISTS clause)
# --let $default_engine = [0|1]                               # optional, default 0 (with 1 will rely on default engine, no ENGINE=)
# --let $temporary = [0|1]                                    # optional, default 0 (1 adds TEMPORARY)
# --let $disable_query_log = [0|1]                            # optional, default 0 (1 disables logging of CREATE)
#
# Usage examples:
#
# --source create_table.inc -- creates a default table
#
# --let $create_definition = a INT NOT NULL, b CHAR(1) PRIMARY KEY, INDEX(a)
# --let $table_options = AUTO_INCREMENT = 100
# --let $partition_options = PARTITION BY HASH(a) PARTITIONS 2
# --let $as_select = SELECT 1, 'a'
# --source create_table.inc
#
# Additionally, a test can define $extra_tbl_options. The difference with $table_options
# is that its value is persistent and will be used until it is unset explicitly, or
# until the test ends. The purpose of it is to allow one test to call another test,
# when the called test does not know about specific options the calling test might require,
# and thus cannot set them on per-create basis.

--let $create_statement = CREATE

if ($temporary)
{
  --let $create_statement = $create_statement TEMPORARY
}

--let $create_statement = $create_statement TABLE

if ($if_not_exists)
{
  --let $create_statement = $create_statement IF NOT EXISTS
}

if (!$table_name)
{
  --let $table_name = t1
}

--let $create_statement = $create_statement $table_name

if (!$create_definition)
{
  # If $create_definition is not defined, and AS SELECT is requested,
  # we should not set $create_definition to the default value,
  # because it might be inconsistent with the SELECT.
  if (!$as_select)
  {
    --let $create_definition = a $int_col, b $char_col
  }
}

if ($create_definition)
{
  --let $create_statement = $create_statement ($create_definition)
}

# If $default_engine is set, we will rely on the default storage engine

if (!$default_engine)
{
  --let $create_statement = $create_statement ENGINE=$storage_engine
}

# Default table options from define_engine.inc
--let $create_statement = $create_statement $default_tbl_opts

# The calling script could request additional table options
if ($table_options)
{
  --let $create_statement = $create_statement $table_options
}

# The difference between $extra_tbl_opts and $table_options
# is that its $extra_tbl_opts is persistent -- it will not be unset at the end of this file,
# and will be used until it is unset explicitly by the calling test,
# or until the test ends. The purpose of it is to allow one test to call another test,
# when the called test does not know about specific options the calling test might require,
# and thus cannot set them on per-create basis.

if ($extra_tbl_opts)
{
  --let $create_statement = $create_statement $extra_tbl_opts
}

if ($as_select)
{
  --let $create_statement = $create_statement AS $as_select
}

if ($partition_options)
{
  --let $create_statement = $create_statement $partition_options
}

# We now have the complete CREATE statement in $create_statement.
# If your CREATE statement should be composed differently, 
# modify the logic above.

#####################
# Here you can add logic needed BEFORE the main table creation
# (e.g. the table needs a base table, a reference table, etc.).
# Surround it by --disable_query_log/--enable_query_log
# if you don't want it to appear in the result output.
#####################

if ($disable_query_log)
{
  --disable_query_log
}

--source obfuscate.inc

eval $create_statement;
--source strict_check_errors.inc

# Make sure you don't add any statements between the main CREATE (above)
# and saving mysql_errno and mysql_errname (below)
# They are saved in case you want to add more logic after the main CREATE,
# because we need the result code of the table creation.
# Also, do not change $create_statement after it is executed!

--let $my_errno = $mysql_errno
--let $my_errname = $mysql_errname


if ($disable_query_log)
{
  --enable_query_log
}

#####################
# Here you can add logic needed AFTER the main table creation,
# e.g. triggers creation.
# Surround it by --disable_query_log/--enable_query_log
# if you don't want it to appear in the result output.
#####################


# Unset the parameters, we don't want them to be accidentally reused later
--let $create_definition =
--let $table_name = t1
--let $table_options = 
--let $partition_options = 
--let $as_select = 0
--let $error_codes =
--let $if_not_exists = 0
--let $default_engine = 0
--let $temporary = 0
--let $disable_query_log = 0

# Restore the error codes of the main statement
--let $mysql_errno = $my_errno
--let $mysql_errname = $my_errname
# Make sure you don't add any SQL statements after restoring 
# mysql_errno and mysql_errname (above)


Messung V0.5 in Prozent
C=100 H=88 G=94

¤ Dauer der Verarbeitung: 0.11 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126864
#Domains=1897691