mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 17:54:16 +01:00
Added back sql-bench directory, so that one can more easily run benchmarks on a server and add new benchmarks for new optimizations
Fixed memory leak in _db_set() (Bug#24497 Valgrind warning: get_one_option) Don't call net_clear() on COM_QUIT. This avoids a warning from net_clear() after shutdown: "skipped ## bytes from file" BUG#21428: skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown" sql-bench/test-wisconsin.sh: Rename: BitKeeper/deleted/.del-test-wisconsin.sh~c0b86821b5f95f26 -> sql-bench/test-wisconsin.sh sql-bench/test-transactions.sh: Rename: BitKeeper/deleted/.del-test-transactions.sh~c1c892f10c40caf -> sql-bench/test-transactions.sh sql-bench/test-insert.sh: Rename: BitKeeper/deleted/.del-test-insert.sh~893bfac9dedb79a7 -> sql-bench/test-insert.sh sql-bench/test-select.sh: Rename: BitKeeper/deleted/.del-test-select.sh~6d5cc770acf11be6 -> sql-bench/test-select.sh sql-bench/test-create.sh: Rename: BitKeeper/deleted/.del-test-create.sh~f9a1ea38c191b17a -> sql-bench/test-create.sh sql-bench/test-big-tables.sh: Rename: BitKeeper/deleted/.del-test-big-tables.sh~5b1b0c5fb623565a -> sql-bench/test-big-tables.sh sql-bench/test-connect.sh: Rename: BitKeeper/deleted/.del-test-connect.sh~382a728c949ee075 -> sql-bench/test-connect.sh sql-bench/test-ATIS.sh: Rename: BitKeeper/deleted/.del-test-ATIS.sh~e8ebff7086c95773 -> sql-bench/test-ATIS.sh sql-bench/test-alter-table.sh: Rename: BitKeeper/deleted/.del-test-alter-table.sh~eba6cfa9972fcced -> sql-bench/test-alter-table.sh sql-bench/innotest2b.sh: Rename: BitKeeper/deleted/.del-innotest2b.sh~7b99ece835e8dff3 -> sql-bench/innotest2b.sh sql-bench/run-all-tests.sh: Rename: BitKeeper/deleted/.del-run-all-tests.sh~41d6da1cf211ee95 -> sql-bench/run-all-tests.sh sql-bench/innotest2.sh: Rename: BitKeeper/deleted/.del-innotest2.sh~9c14df528285603 -> sql-bench/innotest2.sh sql-bench/innotest2a.sh: Rename: BitKeeper/deleted/.del-innotest2a.sh~e01d016a7cafdc0b -> sql-bench/innotest2a.sh sql-bench/innotest1a.sh: Rename: BitKeeper/deleted/.del-innotest1a.sh~c64f4610ae1e26fe -> sql-bench/innotest1a.sh sql-bench/innotest1b.sh: Rename: BitKeeper/deleted/.del-innotest1b.sh~aafd0819ae84da7b -> sql-bench/innotest1b.sh sql-bench/innotest1.sh: Rename: BitKeeper/deleted/.del-innotest1.sh~aa36bce09ca783c7 -> sql-bench/innotest1.sh sql-bench/crash-me.sh: Rename: BitKeeper/deleted/.del-crash-me.sh~2fa881d0b40339c8 -> sql-bench/crash-me.sh sql-bench/graph-compare-results.sh: Rename: BitKeeper/deleted/.del-graph-compare-results.sh~7e4e28b3591b4542 -> sql-bench/graph-compare-results.sh sql-bench/copy-db.sh: Rename: BitKeeper/deleted/.del-copy-db.sh~e8116afb93144ccd -> sql-bench/copy-db.sh sql-bench/compare-results.sh: Rename: BitKeeper/deleted/.del-compare-results.sh~a9e26e2644c694b3 -> sql-bench/compare-results.sh sql-bench/bench-count-distinct.sh: Rename: BitKeeper/deleted/.del-bench-count-distinct.sh~a92f174271a831d7 -> sql-bench/bench-count-distinct.sh sql-bench/as3ap.sh: Rename: BitKeeper/deleted/.del-as3ap.sh~f54eebbd8d34c9b6 -> sql-bench/as3ap.sh sql-bench/Comments/Informix.crash-me: Rename: BitKeeper/deleted/.del-Informix.crash-me~51ab5b717cefe74 -> sql-bench/Comments/Informix.crash-me sql-bench/Comments/postgres.crash-me: Rename: BitKeeper/deleted/.del-postgres.crash-me~eacac145c3e30f17 -> sql-bench/Comments/postgres.crash-me sql-bench/Comments/Empress.crash-me: Rename: BitKeeper/deleted/.del-Empress.crash-me~bdaff0c68ce10f02 -> sql-bench/Comments/Empress.crash-me sql-bench/Comments/Adabas.crash-me: Rename: BitKeeper/deleted/.del-Adabas.crash-me~ce88ba1a540971ac -> sql-bench/Comments/Adabas.crash-me sql-bench/Comments/Access.crash-me: Rename: BitKeeper/deleted/.del-Access.crash-me~bb457ec282d939b6 -> sql-bench/Comments/Access.crash-me sql-bench/Comments/postgres.benchmark: Rename: BitKeeper/deleted/.del-postgres.benchmark~4d30890732b784a -> sql-bench/Comments/postgres.benchmark sql-bench/Comments/mysql.benchmark: Rename: BitKeeper/deleted/.del-mysql.benchmark~4d8729c0937456fc -> sql-bench/Comments/mysql.benchmark sql-bench/Comments/FrontBase.benchmark: Rename: BitKeeper/deleted/.del-FrontBase.benchmark~217041ef18274c2e -> sql-bench/Comments/FrontBase.benchmark sql-bench/Comments/interbase: Rename: BitKeeper/deleted/.del-interbase~cdad59622b4d6f3 -> sql-bench/Comments/interbase sql-bench/uname.bat: Rename: BitKeeper/deleted/.del-uname.bat~a6d933d2ee9314c -> sql-bench/uname.bat sql-bench/pwd.bat: Rename: BitKeeper/deleted/.del-pwd.bat~9b64050849abf51 -> sql-bench/pwd.bat sql-bench/example.bat: Rename: BitKeeper/deleted/.del-example.bat~22d0170bccf0f030 -> sql-bench/example.bat sql-bench/Makefile.am: Rename: BitKeeper/deleted/.del-Makefile.am~7b07da85b2e9375 -> sql-bench/Makefile.am sql-bench/Data/ATIS/transport.txt: Rename: BitKeeper/deleted/.del-transport.txt~fa4ca40735f8354c -> sql-bench/Data/ATIS/transport.txt sql-bench/Data/ATIS/time_zone.txt: Rename: BitKeeper/deleted/.del-time_zone.txt~4171f9ca732f65c0 -> sql-bench/Data/ATIS/time_zone.txt sql-bench/Data/Wisconsin/tenk.data: Rename: BitKeeper/deleted/.del-tenk.data~6aeaebdd534e458e -> sql-bench/Data/Wisconsin/tenk.data sql-bench/Data/Wisconsin/onek.data: Rename: BitKeeper/deleted/.del-onek.data~6cd1edaf596a7f7 -> sql-bench/Data/Wisconsin/onek.data sql-bench/Data/ATIS/stop1.txt: Rename: BitKeeper/deleted/.del-stop1.txt~f09ba164ad44a288 -> sql-bench/Data/ATIS/stop1.txt sql-bench/Data/ATIS/time_interval.txt: Rename: BitKeeper/deleted/.del-time_interval.txt~a1def62e267a59b2 -> sql-bench/Data/ATIS/time_interval.txt sql-bench/Data/ATIS/stop.txt: Rename: BitKeeper/deleted/.del-stop.txt~31fb564e1f415e34 -> sql-bench/Data/ATIS/stop.txt sql-bench/Data/ATIS/restriction.txt: Rename: BitKeeper/deleted/.del-restriction.txt~6ae208924617784a -> sql-bench/Data/ATIS/restriction.txt sql-bench/Data/ATIS/state.txt: Rename: BitKeeper/deleted/.del-state.txt~9dd470ce14075b90 -> sql-bench/Data/ATIS/state.txt sql-bench/Data/ATIS/restrict_class.txt: Rename: BitKeeper/deleted/.del-restrict_class.txt~2f741bf0ea498f84 -> sql-bench/Data/ATIS/restrict_class.txt sql-bench/Data/ATIS/month_name.txt: Rename: BitKeeper/deleted/.del-month_name.txt~4c44f7a323d57d92 -> sql-bench/Data/ATIS/month_name.txt sql-bench/Data/ATIS/restrict_carrier.txt: Rename: BitKeeper/deleted/.del-restrict_carrier.txt~925b5492f3f9cba3 -> sql-bench/Data/ATIS/restrict_carrier.txt sql-bench/Data/ATIS/ground_service.txt: Rename: BitKeeper/deleted/.del-ground_service.txt~1087e477e86e84c -> sql-bench/Data/ATIS/ground_service.txt sql-bench/Data/ATIS/food_service.txt: Rename: BitKeeper/deleted/.del-food_service.txt~66d95a150c28458 -> sql-bench/Data/ATIS/food_service.txt sql-bench/Data/ATIS/flight_day.txt: Rename: BitKeeper/deleted/.del-flight_day.txt~76868d6d265d441e -> sql-bench/Data/ATIS/flight_day.txt sql-bench/Data/ATIS/flight_fare.txt: Rename: BitKeeper/deleted/.del-flight_fare.txt~d7322593c8530487 -> sql-bench/Data/ATIS/flight_fare.txt sql-bench/Data/ATIS/flight_class.txt: Rename: BitKeeper/deleted/.del-flight_class.txt~1801101474c29098 -> sql-bench/Data/ATIS/flight_class.txt sql-bench/Data/ATIS/fconnection.txt: Rename: BitKeeper/deleted/.del-fconnection.txt~e0ef6a8b5560a713 -> sql-bench/Data/ATIS/fconnection.txt sql-bench/Data/ATIS/flight.txt: Rename: BitKeeper/deleted/.del-flight.txt~e5065423760e99eb -> sql-bench/Data/ATIS/flight.txt sql-bench/Data/ATIS/fare.txt: Rename: BitKeeper/deleted/.del-fare.txt~ea0652f490bc24a6 -> sql-bench/Data/ATIS/fare.txt sql-bench/Data/ATIS/day_name.txt: Rename: BitKeeper/deleted/.del-day_name.txt~f813b215955d894c -> sql-bench/Data/ATIS/day_name.txt sql-bench/Data/ATIS/dual_carrier.txt: Rename: BitKeeper/deleted/.del-dual_carrier.txt~a7dd776224fbd92b -> sql-bench/Data/ATIS/dual_carrier.txt sql-bench/Data/ATIS/date_day.txt: Rename: BitKeeper/deleted/.del-date_day.txt~4e9a282fcf54cfd8 -> sql-bench/Data/ATIS/date_day.txt sql-bench/Data/ATIS/compound_class.txt: Rename: BitKeeper/deleted/.del-compound_class.txt~d4a2f1b7f96340b9 -> sql-bench/Data/ATIS/compound_class.txt sql-bench/Data/ATIS/connect_leg.txt: Rename: BitKeeper/deleted/.del-connect_leg.txt~f97b6e94e108bb36 -> sql-bench/Data/ATIS/connect_leg.txt sql-bench/Data/ATIS/code_description.txt: Rename: BitKeeper/deleted/.del-code_description.txt~f9117373e438b0e2 -> sql-bench/Data/ATIS/code_description.txt sql-bench/Data/ATIS/city.txt: Rename: BitKeeper/deleted/.del-city.txt~d96dd6d073344d2e -> sql-bench/Data/ATIS/city.txt sql-bench/Data/ATIS/class_of_service.txt: Rename: BitKeeper/deleted/.del-class_of_service.txt~21f6b9848b8c76d -> sql-bench/Data/ATIS/class_of_service.txt sql-bench/Data/ATIS/airport_service.txt: Rename: BitKeeper/deleted/.del-airport_service.txt~6ee6d5b852b3e38 -> sql-bench/Data/ATIS/airport_service.txt sql-bench/Data/ATIS/airline.txt: Rename: BitKeeper/deleted/.del-airline.txt~a79f8eadf853f2c8 -> sql-bench/Data/ATIS/airline.txt sql-bench/Data/ATIS/airport.txt: Rename: BitKeeper/deleted/.del-airport.txt~59c78514130e1f45 -> sql-bench/Data/ATIS/airport.txt sql-bench/Data/ATIS/aircraft.txt: Rename: BitKeeper/deleted/.del-aircraft.txt~15e4de7ab37c92d3 -> sql-bench/Data/ATIS/aircraft.txt sql-bench/TODO: Rename: BitKeeper/deleted/.del-TODO~cac6d7a63c426ae5 -> sql-bench/TODO sql-bench/limits/sybase.cfg: Rename: BitKeeper/deleted/.del-sybase.cfg~c4636b12767b3f14 -> sql-bench/limits/sybase.cfg sql-bench/limits/solid-nt4.cfg: Rename: BitKeeper/deleted/.del-solid-nt4.cfg~cca779f0c9e29d31 -> sql-bench/limits/solid-nt4.cfg sql-bench/limits/solid.cfg: Rename: BitKeeper/deleted/.del-solid.cfg~5ae0e4342eadb0fb -> sql-bench/limits/solid.cfg sql-bench/limits/pg.cfg: Rename: BitKeeper/deleted/.del-pg.cfg~db59cf39a5d417be -> sql-bench/limits/pg.cfg sql-bench/limits/mysql.cfg: Rename: BitKeeper/deleted/.del-mysql.cfg~9cab20a8771b93cf -> sql-bench/limits/mysql.cfg sql-bench/limits/oracle.cfg: Rename: BitKeeper/deleted/.del-oracle.cfg~affab21af8f438fd -> sql-bench/limits/oracle.cfg sql-bench/limits/mysql-4.1.cfg: Rename: BitKeeper/deleted/.del-mysql-4.1.cfg~b6c5e74aefc99e3c -> sql-bench/limits/mysql-4.1.cfg sql-bench/limits/mysql-3.23.cfg: Rename: BitKeeper/deleted/.del-mysql-3.23.cfg~3cf9d6be54b77a3c -> sql-bench/limits/mysql-3.23.cfg sql-bench/limits/mysql-4.0.cfg: Rename: BitKeeper/deleted/.del-mysql-4.0.cfg~6c9d63c85b5ef574 -> sql-bench/limits/mysql-4.0.cfg sql-bench/limits/mysql-3.22.cfg: Rename: BitKeeper/deleted/.del-mysql-3.22.cfg~e706f26a161175cd -> sql-bench/limits/mysql-3.22.cfg sql-bench/limits/msql.cfg: Rename: BitKeeper/deleted/.del-msql.cfg~52710b12932cceb9 -> sql-bench/limits/msql.cfg sql-bench/limits/ms-sql65.cfg: Rename: BitKeeper/deleted/.del-ms-sql65.cfg~6b9bc3c460dbee05 -> sql-bench/limits/ms-sql65.cfg sql-bench/limits/mimer.cfg: Rename: BitKeeper/deleted/.del-mimer.cfg~234e6c1c3c47b612 -> sql-bench/limits/mimer.cfg sql-bench/limits/ms-sql.cfg: Rename: BitKeeper/deleted/.del-ms-sql.cfg~1907964264d2786a -> sql-bench/limits/ms-sql.cfg sql-bench/limits/interbase.cfg: Rename: BitKeeper/deleted/.del-interbase.cfg~c6951a0376cc6ff3 -> sql-bench/limits/interbase.cfg sql-bench/limits/interbase-dialect3.cfg: Rename: BitKeeper/deleted/.del-interbase-dialect3.cfg~46277bdfc74c667a -> sql-bench/limits/interbase-dialect3.cfg sql-bench/limits/interbase-superserver.cfg: Rename: BitKeeper/deleted/.del-interbase-superserver.cfg~22501198689243b0 -> sql-bench/limits/interbase-superserver.cfg sql-bench/limits/interbase-dialect1.cfg: Rename: BitKeeper/deleted/.del-interbase-dialect1.cfg~659206b5b9a11036 -> sql-bench/limits/interbase-dialect1.cfg sql-bench/limits/empress.cfg: Rename: BitKeeper/deleted/.del-empress.cfg~1f97f34d6560a499 -> sql-bench/limits/empress.cfg sql-bench/limits/frontbase.cfg: Rename: BitKeeper/deleted/.del-frontbase.cfg~71369e9c002696e -> sql-bench/limits/frontbase.cfg sql-bench/limits/db2.cfg: Rename: BitKeeper/deleted/.del-db2.cfg~711099b4d7906959 -> sql-bench/limits/db2.cfg sql-bench/limits/access.cfg: Rename: BitKeeper/deleted/.del-access.cfg~5239ea3655b7bba0 -> sql-bench/limits/access.cfg sql-bench/limits/access_odbc.cfg: Rename: BitKeeper/deleted/.del-access_odbc.cfg~34b4cf0eda56c4b1 -> sql-bench/limits/access_odbc.cfg sql-bench/limits/Informix.cfg: Rename: BitKeeper/deleted/.del-Informix.cfg~b94188e1ececb51b -> sql-bench/limits/Informix.cfg sql-bench/limits/Adabas.cfg: Rename: BitKeeper/deleted/.del-Adabas.cfg~343ed4e7f8b02111 -> sql-bench/limits/Adabas.cfg sql-bench/README: Rename: BitKeeper/deleted/.del-README~b1aa0c1bf9f5eb5e -> sql-bench/README BitKeeper/deleted/.del-create-pg_fast-Linux_2.2.14_my_SMP_i686-crashed: Delete: sql-bench/Results/create-pg_fast-Linux_2.2.14_my_SMP_i686-crashed Makefile.am: Added back sql-bench configure.in: Added back sql-bench dbug/dbug.c: Fixed memory leak in _db_set() This is not a complete fix as we can still get memory leaks if we do any of the following: mysqld --debug --debug CAll DBUG_SET or DBUG_SET_INITIAL more than once in a program Use SET @@global.debug=xxxx At some point we should fix the above, but this is not critical for normal operation (only for debugging) Bug #24497 Valgrind warning: get_one_option Note that all changes to _db_set_ is only a variable access change, and can be ignored while reviewing the bug fix. mysql-test/t/flush_read_lock_kill-master.opt: Added '+' to option, to be able to use this together with --debug mysql-test/valgrind.supp: Removed warning that is now fixed mysys/ptr_cmp.c: Fixed wrong pointer read (probably never used) scripts/make_binary_distribution.sh: Added back sql_bench sql/field.h: Removed class function that was identical in parent class sql/mysqld.cc: Removed some calls to my_thread_init() / my_thread_end() that was not needed. Only call DBUG_SET_INITAL, not DBUG_SET (Fixes memory leak in dbug) Mark some code as deadcode sql/net_serv.cc: Add information about from where error comes sql-bench/bench-init.pl.sh: Cleaned up help text sql-bench/server-cfg.sh: Don't write '/' after server name of no ssl version sql-common/client.c: Don't call net_clear() on COM_QUIT. This avoids a warning from net_clear() after shutdown: "skipped ## bytes from file" BUG#21428: skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown" sql/sql_parse.cc: Added comment sql/table.h: Removed compiler warning
This commit is contained in:
parent
76b4ccbdf8
commit
ee1c5226b9
109 changed files with 66386 additions and 130 deletions
|
@ -27,7 +27,7 @@ SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
|||
@sql_union_dirs@ unittest storage plugin \
|
||||
@sql_server@ scripts @man_dirs@ tests \
|
||||
netware @libmysqld_dirs@ \
|
||||
mysql-test support-files @tools_dirs@ \
|
||||
mysql-test support-files sql-bench @tools_dirs@ \
|
||||
win
|
||||
|
||||
DIST_SUBDIRS = $(SUBDIRS) BUILD
|
||||
|
|
|
@ -2514,7 +2514,7 @@ AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
|
|||
dbug/Makefile scripts/Makefile include/Makefile dnl
|
||||
tests/Makefile Docs/Makefile support-files/Makefile dnl
|
||||
support-files/MacOSX/Makefile mysql-test/Makefile dnl
|
||||
mysql-test/ndb/Makefile netware/Makefile dnl
|
||||
mysql-test/ndb/Makefile netware/Makefile sql-bench/Makefile dnl
|
||||
include/mysql_version.h plugin/Makefile win/Makefile)
|
||||
|
||||
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
|
||||
|
|
224
dbug/dbug.c
224
dbug/dbug.c
|
@ -258,7 +258,7 @@ static void DBUGCloseFile(CODE_STATE *cs, FILE *fp);
|
|||
/* Push current debug settings */
|
||||
static void PushState(CODE_STATE *cs);
|
||||
/* Free memory associated with debug state. */
|
||||
static void FreeState (CODE_STATE *cs, struct settings *state);
|
||||
static void FreeState (CODE_STATE *cs, struct settings *state, int free_state);
|
||||
/* Test for tracing enabled */
|
||||
static BOOLEAN DoTrace(CODE_STATE *cs);
|
||||
|
||||
|
@ -396,7 +396,7 @@ static CODE_STATE *code_state(void)
|
|||
*
|
||||
* SYNOPSIS
|
||||
*
|
||||
* VOID _db_push_(name)
|
||||
* VOID _process_(name)
|
||||
* char *name;
|
||||
*
|
||||
*/
|
||||
|
@ -448,49 +448,51 @@ void _db_set_(CODE_STATE *cs, const char *control)
|
|||
{
|
||||
const char *end;
|
||||
int rel=0;
|
||||
struct settings *stack;
|
||||
|
||||
get_code_state_or_return;
|
||||
stack= cs->stack;
|
||||
|
||||
if (control[0] == '-' && control[1] == '#')
|
||||
control+=2;
|
||||
|
||||
rel= control[0] == '+' || control[0] == '-';
|
||||
if (!rel || (!cs->stack->out_file && !cs->stack->next))
|
||||
if ((!rel || (!stack->out_file && !stack->next)))
|
||||
{
|
||||
cs->stack->flags= 0;
|
||||
cs->stack->delay= 0;
|
||||
cs->stack->maxdepth= 0;
|
||||
cs->stack->sub_level= 0;
|
||||
cs->stack->out_file= stderr;
|
||||
cs->stack->prof_file= NULL;
|
||||
cs->stack->functions= NULL;
|
||||
cs->stack->p_functions= NULL;
|
||||
cs->stack->keywords= NULL;
|
||||
cs->stack->processes= NULL;
|
||||
stack->flags= 0;
|
||||
stack->delay= 0;
|
||||
stack->maxdepth= 0;
|
||||
stack->sub_level= 0;
|
||||
stack->out_file= stderr;
|
||||
stack->prof_file= NULL;
|
||||
stack->functions= NULL;
|
||||
stack->p_functions= NULL;
|
||||
stack->keywords= NULL;
|
||||
stack->processes= NULL;
|
||||
}
|
||||
else if (!cs->stack->out_file)
|
||||
else if (!stack->out_file)
|
||||
{
|
||||
cs->stack->flags= cs->stack->next->flags;
|
||||
cs->stack->delay= cs->stack->next->delay;
|
||||
cs->stack->maxdepth= cs->stack->next->maxdepth;
|
||||
cs->stack->sub_level= cs->stack->next->sub_level;
|
||||
strcpy(cs->stack->name, cs->stack->next->name);
|
||||
cs->stack->out_file= cs->stack->next->out_file;
|
||||
cs->stack->prof_file= cs->stack->next->prof_file;
|
||||
if (cs->stack->next == &init_settings)
|
||||
stack->flags= stack->next->flags;
|
||||
stack->delay= stack->next->delay;
|
||||
stack->maxdepth= stack->next->maxdepth;
|
||||
stack->sub_level= stack->next->sub_level;
|
||||
strcpy(stack->name, stack->next->name);
|
||||
stack->out_file= stack->next->out_file;
|
||||
stack->prof_file= stack->next->prof_file;
|
||||
if (stack->next == &init_settings)
|
||||
{
|
||||
/* never share with the global parent - it can change under your feet */
|
||||
cs->stack->functions= ListCopy(init_settings.functions);
|
||||
cs->stack->p_functions= ListCopy(init_settings.p_functions);
|
||||
cs->stack->keywords= ListCopy(init_settings.keywords);
|
||||
cs->stack->processes= ListCopy(init_settings.processes);
|
||||
stack->functions= ListCopy(init_settings.functions);
|
||||
stack->p_functions= ListCopy(init_settings.p_functions);
|
||||
stack->keywords= ListCopy(init_settings.keywords);
|
||||
stack->processes= ListCopy(init_settings.processes);
|
||||
}
|
||||
else
|
||||
{
|
||||
cs->stack->functions= cs->stack->next->functions;
|
||||
cs->stack->p_functions= cs->stack->next->p_functions;
|
||||
cs->stack->keywords= cs->stack->next->keywords;
|
||||
cs->stack->processes= cs->stack->next->processes;
|
||||
stack->functions= stack->next->functions;
|
||||
stack->p_functions= stack->next->p_functions;
|
||||
stack->keywords= stack->next->keywords;
|
||||
stack->processes= stack->next->processes;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -507,158 +509,158 @@ void _db_set_(CODE_STATE *cs, const char *control)
|
|||
case 'd':
|
||||
if (sign < 0 && control == end)
|
||||
{
|
||||
if (!is_shared(cs->stack, keywords))
|
||||
FreeList(cs->stack->keywords);
|
||||
cs->stack->keywords=NULL;
|
||||
cs->stack->flags &= ~DEBUG_ON;
|
||||
if (!is_shared(stack, keywords))
|
||||
FreeList(stack->keywords);
|
||||
stack->keywords=NULL;
|
||||
stack->flags &= ~DEBUG_ON;
|
||||
break;
|
||||
}
|
||||
if (rel && is_shared(cs->stack, keywords))
|
||||
cs->stack->keywords= ListCopy(cs->stack->keywords);
|
||||
if (rel && is_shared(stack, keywords))
|
||||
stack->keywords= ListCopy(stack->keywords);
|
||||
if (sign < 0)
|
||||
{
|
||||
if (DEBUGGING)
|
||||
cs->stack->keywords= ListDel(cs->stack->keywords, control, end);
|
||||
stack->keywords= ListDel(stack->keywords, control, end);
|
||||
break;
|
||||
}
|
||||
cs->stack->keywords= ListAdd(cs->stack->keywords, control, end);
|
||||
cs->stack->flags |= DEBUG_ON;
|
||||
stack->keywords= ListAdd(stack->keywords, control, end);
|
||||
stack->flags |= DEBUG_ON;
|
||||
break;
|
||||
case 'D':
|
||||
cs->stack->delay= atoi(control);
|
||||
stack->delay= atoi(control);
|
||||
break;
|
||||
case 'f':
|
||||
if (sign < 0 && control == end)
|
||||
{
|
||||
if (!is_shared(cs->stack,functions))
|
||||
FreeList(cs->stack->functions);
|
||||
cs->stack->functions=NULL;
|
||||
if (!is_shared(stack,functions))
|
||||
FreeList(stack->functions);
|
||||
stack->functions=NULL;
|
||||
break;
|
||||
}
|
||||
if (rel && is_shared(cs->stack,functions))
|
||||
cs->stack->functions= ListCopy(cs->stack->functions);
|
||||
if (rel && is_shared(stack,functions))
|
||||
stack->functions= ListCopy(stack->functions);
|
||||
if (sign < 0)
|
||||
cs->stack->functions= ListDel(cs->stack->functions, control, end);
|
||||
stack->functions= ListDel(stack->functions, control, end);
|
||||
else
|
||||
cs->stack->functions= ListAdd(cs->stack->functions, control, end);
|
||||
stack->functions= ListAdd(stack->functions, control, end);
|
||||
break;
|
||||
case 'F':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~FILE_ON;
|
||||
stack->flags &= ~FILE_ON;
|
||||
else
|
||||
cs->stack->flags |= FILE_ON;
|
||||
stack->flags |= FILE_ON;
|
||||
break;
|
||||
case 'i':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~PID_ON;
|
||||
stack->flags &= ~PID_ON;
|
||||
else
|
||||
cs->stack->flags |= PID_ON;
|
||||
stack->flags |= PID_ON;
|
||||
break;
|
||||
#ifndef THREAD
|
||||
case 'g':
|
||||
if (OpenProfile(cs, PROF_FILE))
|
||||
{
|
||||
cs->stack->flags |= PROFILE_ON;
|
||||
cs->stack->p_functions= ListAdd(cs->stack->p_functions, control, end);
|
||||
stack->flags |= PROFILE_ON;
|
||||
stack->p_functions= ListAdd(stack->p_functions, control, end);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case 'L':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~LINE_ON;
|
||||
stack->flags &= ~LINE_ON;
|
||||
else
|
||||
cs->stack->flags |= LINE_ON;
|
||||
stack->flags |= LINE_ON;
|
||||
break;
|
||||
case 'n':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~DEPTH_ON;
|
||||
stack->flags &= ~DEPTH_ON;
|
||||
else
|
||||
cs->stack->flags |= DEPTH_ON;
|
||||
stack->flags |= DEPTH_ON;
|
||||
break;
|
||||
case 'N':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~NUMBER_ON;
|
||||
stack->flags &= ~NUMBER_ON;
|
||||
else
|
||||
cs->stack->flags |= NUMBER_ON;
|
||||
stack->flags |= NUMBER_ON;
|
||||
break;
|
||||
case 'A':
|
||||
case 'O':
|
||||
cs->stack->flags |= FLUSH_ON_WRITE;
|
||||
stack->flags |= FLUSH_ON_WRITE;
|
||||
/* fall through */
|
||||
case 'a':
|
||||
case 'o':
|
||||
if (sign < 0)
|
||||
{
|
||||
if (!is_shared(cs->stack, out_file))
|
||||
DBUGCloseFile(cs, cs->stack->out_file);
|
||||
cs->stack->flags &= ~FLUSH_ON_WRITE;
|
||||
cs->stack->out_file= stderr;
|
||||
if (!is_shared(stack, out_file))
|
||||
DBUGCloseFile(cs, stack->out_file);
|
||||
stack->flags &= ~FLUSH_ON_WRITE;
|
||||
stack->out_file= stderr;
|
||||
break;
|
||||
}
|
||||
if (c == 'a' || c == 'A')
|
||||
cs->stack->flags |= OPEN_APPEND;
|
||||
stack->flags |= OPEN_APPEND;
|
||||
else
|
||||
cs->stack->flags &= ~OPEN_APPEND;
|
||||
stack->flags &= ~OPEN_APPEND;
|
||||
if (control != end)
|
||||
DBUGOpenFile(cs, control, end, cs->stack->flags & OPEN_APPEND);
|
||||
DBUGOpenFile(cs, control, end, stack->flags & OPEN_APPEND);
|
||||
else
|
||||
DBUGOpenFile(cs, "-",0,0);
|
||||
break;
|
||||
case 'p':
|
||||
if (sign < 0 && control == end)
|
||||
{
|
||||
if (!is_shared(cs->stack,processes))
|
||||
FreeList(cs->stack->processes);
|
||||
cs->stack->processes=NULL;
|
||||
if (!is_shared(stack,processes))
|
||||
FreeList(stack->processes);
|
||||
stack->processes=NULL;
|
||||
break;
|
||||
}
|
||||
if (rel && is_shared(cs->stack, processes))
|
||||
cs->stack->processes= ListCopy(cs->stack->processes);
|
||||
if (rel && is_shared(stack, processes))
|
||||
stack->processes= ListCopy(stack->processes);
|
||||
if (sign < 0)
|
||||
cs->stack->processes= ListDel(cs->stack->processes, control, end);
|
||||
stack->processes= ListDel(stack->processes, control, end);
|
||||
else
|
||||
cs->stack->processes= ListAdd(cs->stack->processes, control, end);
|
||||
stack->processes= ListAdd(stack->processes, control, end);
|
||||
break;
|
||||
case 'P':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~PROCESS_ON;
|
||||
stack->flags &= ~PROCESS_ON;
|
||||
else
|
||||
cs->stack->flags |= PROCESS_ON;
|
||||
stack->flags |= PROCESS_ON;
|
||||
break;
|
||||
case 'r':
|
||||
cs->stack->sub_level= cs->level;
|
||||
stack->sub_level= cs->level;
|
||||
break;
|
||||
case 't':
|
||||
if (sign < 0)
|
||||
{
|
||||
if (control != end)
|
||||
cs->stack->maxdepth-= atoi(control);
|
||||
stack->maxdepth-= atoi(control);
|
||||
else
|
||||
cs->stack->maxdepth= 0;
|
||||
stack->maxdepth= 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (control != end)
|
||||
cs->stack->maxdepth+= atoi(control);
|
||||
stack->maxdepth+= atoi(control);
|
||||
else
|
||||
cs->stack->maxdepth= MAXDEPTH;
|
||||
stack->maxdepth= MAXDEPTH;
|
||||
}
|
||||
if (cs->stack->maxdepth > 0)
|
||||
cs->stack->flags |= TRACE_ON;
|
||||
if (stack->maxdepth > 0)
|
||||
stack->flags |= TRACE_ON;
|
||||
else
|
||||
cs->stack->flags &= ~TRACE_ON;
|
||||
stack->flags &= ~TRACE_ON;
|
||||
break;
|
||||
case 'T':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~TIMESTAMP_ON;
|
||||
stack->flags &= ~TIMESTAMP_ON;
|
||||
else
|
||||
cs->stack->flags |= TIMESTAMP_ON;
|
||||
stack->flags |= TIMESTAMP_ON;
|
||||
break;
|
||||
case 'S':
|
||||
if (sign < 0)
|
||||
cs->stack->flags &= ~SANITY_CHECK_ON;
|
||||
stack->flags &= ~SANITY_CHECK_ON;
|
||||
else
|
||||
cs->stack->flags |= SANITY_CHECK_ON;
|
||||
stack->flags |= SANITY_CHECK_ON;
|
||||
break;
|
||||
}
|
||||
if (!*end)
|
||||
|
@ -712,10 +714,10 @@ void _db_push_(const char *control)
|
|||
|
||||
void _db_set_init_(const char *control)
|
||||
{
|
||||
CODE_STATE cs;
|
||||
bzero((char*) &cs,sizeof(cs));
|
||||
cs.stack=&init_settings;
|
||||
_db_set_(&cs, control);
|
||||
CODE_STATE tmp_cs;
|
||||
bzero((char*) &tmp_cs, sizeof(tmp_cs));
|
||||
tmp_cs.stack= &init_settings;
|
||||
_db_set_(&tmp_cs, control);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -746,7 +748,7 @@ void _db_pop_()
|
|||
if (discard->next != NULL)
|
||||
{
|
||||
cs->stack= discard->next;
|
||||
FreeState(cs, discard);
|
||||
FreeState(cs, discard, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1426,16 +1428,15 @@ static void PushState(CODE_STATE *cs)
|
|||
*
|
||||
* static void FreeState (state)
|
||||
* struct state *state;
|
||||
* int free_state;
|
||||
*
|
||||
* DESCRIPTION
|
||||
*
|
||||
* Deallocates the memory allocated for various information in a
|
||||
* state.
|
||||
* state. If free_state is set, also free 'state'
|
||||
*
|
||||
*/
|
||||
static void FreeState (
|
||||
CODE_STATE *cs,
|
||||
struct settings *state)
|
||||
static void FreeState(CODE_STATE *cs, struct settings *state, int free_state)
|
||||
{
|
||||
if (!is_shared(state, keywords))
|
||||
FreeList(state->keywords);
|
||||
|
@ -1449,7 +1450,8 @@ struct settings *state)
|
|||
DBUGCloseFile(cs, state->out_file);
|
||||
if (state->prof_file)
|
||||
DBUGCloseFile(cs, state->prof_file);
|
||||
free((char *) state);
|
||||
if (free_state)
|
||||
free((char *) state);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1470,19 +1472,37 @@ struct settings *state)
|
|||
* To be called at the very end of the program.
|
||||
*
|
||||
*/
|
||||
void _db_end_ ()
|
||||
void _db_end_()
|
||||
{
|
||||
struct settings *discard;
|
||||
static struct settings tmp;
|
||||
CODE_STATE *cs=0;
|
||||
|
||||
get_code_state_or_return;
|
||||
|
||||
while((discard= cs->stack) != NULL) {
|
||||
if(discard == &init_settings)
|
||||
while ((discard= cs->stack))
|
||||
{
|
||||
if (discard == &init_settings)
|
||||
break;
|
||||
cs->stack= discard->next;
|
||||
FreeState (cs, discard);
|
||||
FreeState(cs, discard, 1);
|
||||
}
|
||||
tmp= init_settings;
|
||||
|
||||
/* Use mutex lock to make it less likely anyone access out_file */
|
||||
pthread_mutex_lock(&THR_LOCK_dbug);
|
||||
init_settings.flags= OPEN_APPEND;
|
||||
init_settings.out_file= stderr;
|
||||
init_settings.prof_file= stderr;
|
||||
init_settings.maxdepth= 0;
|
||||
init_settings.delay= 0;
|
||||
init_settings.sub_level= 0;
|
||||
init_settings.functions= 0;
|
||||
init_settings.p_functions= 0;
|
||||
init_settings.keywords= 0;
|
||||
init_settings.processes= 0;
|
||||
pthread_mutex_unlock(&THR_LOCK_dbug);
|
||||
FreeState(cs, &tmp, 0);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
--loose-debug=d,make_global_read_lock_block_commit_loop
|
||||
--loose-debug=+d,make_global_read_lock_block_commit_loop
|
||||
|
|
|
@ -469,15 +469,6 @@
|
|||
# Safe warnings, that may happen because of thread scheduling
|
||||
#
|
||||
|
||||
{
|
||||
dbug initialization
|
||||
Memcheck:Leak
|
||||
fun:malloc
|
||||
fun:DbugMalloc
|
||||
fun:ListAdd
|
||||
fun:_db_set_
|
||||
}
|
||||
|
||||
{
|
||||
dbug initialization by kill_server
|
||||
Memcheck:Leak
|
||||
|
|
|
@ -185,7 +185,7 @@ my_off_t my_get_ptr(byte *ptr, uint pack_length)
|
|||
case 4: pos= (my_off_t) mi_uint4korr(ptr); break;
|
||||
case 3: pos= (my_off_t) mi_uint3korr(ptr); break;
|
||||
case 2: pos= (my_off_t) mi_uint2korr(ptr); break;
|
||||
case 1: pos= (my_off_t) mi_uint2korr(ptr); break;
|
||||
case 1: pos= (my_off_t) *(uchar*) ptr; break;
|
||||
default: DBUG_ASSERT(0);
|
||||
}
|
||||
return pos;
|
||||
|
|
|
@ -97,7 +97,7 @@ mkdir $BASE $BASE/bin $BASE/docs \
|
|||
$BASE/mysql-test/extra/binlog_tests $BASE/mysql-test/extra/rpl_tests
|
||||
|
||||
if [ $BASE_SYSTEM != "netware" ] ; then
|
||||
mkdir $BASE/share/mysql $BASE/tests $BASE/man \
|
||||
mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \
|
||||
$BASE/man/man1 $BASE/man/man8 $BASE/data $BASE/data/mysql $BASE/data/test
|
||||
|
||||
chmod o-rwx $BASE/data $BASE/data/*
|
||||
|
@ -275,7 +275,8 @@ if [ $BASE_SYSTEM != "netware" ] ; then
|
|||
mv $BASE/support-files/binary-configure $BASE/configure
|
||||
chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-* \
|
||||
$BASE/support-files/mysql.server $BASE/configure
|
||||
rm -f $BASE/lib/*.la
|
||||
$CP -r sql-bench/* $BASE/sql-bench
|
||||
rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la
|
||||
rm -f $BASE/bin/*.sql
|
||||
fi
|
||||
|
||||
|
@ -320,6 +321,7 @@ fi
|
|||
# Clean up if we did this from a bk tree
|
||||
if [ -d $BASE/share/SCCS ] ; then
|
||||
find $BASE/share -name SCCS -print | xargs rm -rf
|
||||
find $BASE/sql-bench -name SCCS -print | xargs rm -rf
|
||||
fi
|
||||
|
||||
# NDB Cluster
|
||||
|
|
40
sql-bench/Comments/Access.crash-me
Normal file
40
sql-bench/Comments/Access.crash-me
Normal file
|
@ -0,0 +1,40 @@
|
|||
Access 97 tested through ODBC 1998.04.19, by monty@mysql.com
|
||||
|
||||
Access 97 has a bug when on executes a SELECT follwed very fast with a
|
||||
DROP TABLE or a DROP INDEX command:
|
||||
|
||||
[Microsoft][ODBC Microsoft Access 97 Driver] The database engine couldn't lock table 'crash_q' because it's already in use by another person or process. (SQL-S1
|
||||
000)(DBD: st_execute/SQLExecute err=-1)
|
||||
|
||||
Debugging SQL queries in Access 97 is terrible because most error messages
|
||||
are of type:
|
||||
|
||||
Error: [Microsoft][ODBC Microsoft Access 97 Driver] Syntax error in CREATE TABLE statement. (SQL-37000)(DBD: st_prepare/SQLPrepare err=-1)
|
||||
|
||||
Which doesn't tell a thing!
|
||||
|
||||
--------------
|
||||
|
||||
Access 2000 tested through ODBC 2000.01.02, by monty@mysql.com
|
||||
|
||||
crash-me takes a LONG time to run under Access 2000.
|
||||
|
||||
The '1+NULL' and the 'OR and AND in WHERE' tests kills
|
||||
Activestate Perl, build 521, DBI-DBC with an OUT OF MEMORY error.
|
||||
The later test also kills perl/access with some internal errors.
|
||||
To go around this one must run crash-me repeatedly with the --restart option.
|
||||
|
||||
Testing of the 'constant string size' (< 500K) takes a LOT of memory
|
||||
in Access (at least 250M on My computer).
|
||||
|
||||
Testing of number of 'simple expressions' takes REALLY a lot of time
|
||||
and memory; At some point I was up to 350M of used memory!
|
||||
|
||||
To fix the above, I modified crash-me to have lower max limits in the
|
||||
above tests.
|
||||
|
||||
Benchmarks (under Win98):
|
||||
|
||||
Running the connect-test will take up all available memory and this
|
||||
will not be freed even after quitting perl! There is probably some
|
||||
bug in the Access connect code that eats memory!
|
36
sql-bench/Comments/Adabas.crash-me
Normal file
36
sql-bench/Comments/Adabas.crash-me
Normal file
|
@ -0,0 +1,36 @@
|
|||
|
||||
I did not spend much time for tuning crash-me or the limits file. In short,
|
||||
here's what I did:
|
||||
|
||||
- Put engine into ANSI SQL mode by using the following odbc.ini:
|
||||
|
||||
[ODBC Data Sources]
|
||||
test
|
||||
|
||||
[test]
|
||||
ServerDB=test
|
||||
ServerNode=
|
||||
SQLMode=3
|
||||
|
||||
- Grabbed the db_Oracle package and copied it to db_Adabas
|
||||
- Implemented a 'version' method.
|
||||
- Ran crash-me with the --restart option; it failed when guessing the
|
||||
query_size.
|
||||
- Reran crash-me 3 or 4 times until it succeeded. At some point it
|
||||
justified its name; I had to restart the Adabas server in the
|
||||
table name length test ...
|
||||
- Finally crash-me succeeded.
|
||||
|
||||
That's it, folks. The benchmarks have been running on my P90 machine,
|
||||
32 MB RAM, with Red Hat Linux 5.0 (Kernel 2.0.33, glibc-2.0.7-6).
|
||||
Mysql was version 3.21.30, Adabas was version 6.1.15.42 (the one from
|
||||
the promotion CD of 1997). I was using X11 and Emacs while benchmarking.
|
||||
|
||||
An interesting note: The mysql server had 4 processes, the three usual
|
||||
ones and a process for serving me, each about 2 MB RAM, including a
|
||||
shared memory segment of about 900K. Adabas had 10 processes running from
|
||||
the start, each about 16-20 MB, including a shared segment of 1-5 MB. You
|
||||
guess which one I prefer ... :-)
|
||||
|
||||
|
||||
Jochen Wiedmann, joe@ispsoft.de
|
102
sql-bench/Comments/Empress.crash-me
Normal file
102
sql-bench/Comments/Empress.crash-me
Normal file
|
@ -0,0 +1,102 @@
|
|||
*****************************************************************
|
||||
NOTE:
|
||||
This is an old comment about how it was to run crash-me on empress
|
||||
the first time. I think it was on Empress 6.0
|
||||
*****************************************************************
|
||||
|
||||
start testing empress ...
|
||||
added a nice line for the max join ....
|
||||
strip the as out of the from field ...
|
||||
that's working on empress ....
|
||||
|
||||
at this moment with ....
|
||||
max constant string size in where .... taking a lot of memory ...
|
||||
at this moment (it's still growing just waiting till it stops ..) 99mb ..
|
||||
sorry it started growing again ...
|
||||
max 170 mb ... then it gives an error ...
|
||||
Yes it crashed .....
|
||||
at max constant string size in where ... with IOT trap/Abort(core dumped) :-)
|
||||
nice isn't it ... hope it saved the things ....
|
||||
I outcommented the sig story because I could see how the script is running
|
||||
and I wasn't sure if SIG{PIPE} ='DEFAULT' ... is working ...
|
||||
restarting with limit 8333xxx ... couldn't see it any more ...
|
||||
query is printed ...(200000 lines ..). mmm Nice IOT trap/Abort ...
|
||||
and again ..and again ...
|
||||
aha ... and now it's going further ...
|
||||
max constant string string size in select: ...
|
||||
taking 100 mb
|
||||
crashing over and over again ....
|
||||
max simple expressions ...
|
||||
is taking ... 82 mb ...
|
||||
mmmm this is taking very very very long .... after 10 minutes I will kill it and run it again ... I think he can't proces this query that fast ... and will crash any way ...
|
||||
still growing very slow to the 90 mb ...
|
||||
killed it ... strange is ... it don't react on ctrl-c ... but kill 15 does work
|
||||
mmm still bussy with killing his self ... memory is growing to 128 mb ...
|
||||
sorry .. 150 mb .. and then the output ..
|
||||
maybe something for the extra things for crash-me ...
|
||||
if debug ....
|
||||
if length $query > 300 ... just print $errstr .. else print $query + $errstr ..
|
||||
at this moment he is still bussy printing ....
|
||||
first clear all locks ... with empadm test lockclear ... else it will give me
|
||||
the error with a lock ...
|
||||
restarting at 4194297 .... mmm a bit high I think ...
|
||||
after 5 minutes I will kill it ...
|
||||
mmm have to kill it again ... took 30 mb ..now growing to 42 mb ..
|
||||
restarting at 838859 ... hope this will crash normaly ... :-)
|
||||
I will give it again 5 minutes to complete ...
|
||||
taking 12 mb .... will kill it ... after 4 minutes ....
|
||||
restarting at 167771 ... taking 6 mb ... give it again 5 minutes ....
|
||||
will kill it again ... else it becomes to late tonight ...
|
||||
mmm started with 33xxxx and it crashes ...:-) yes ...
|
||||
can't we build in a function which will restart his self again ...
|
||||
mmmm this is really boring .. start it over and over again ...
|
||||
WHO .... NICE >>>>
|
||||
Restarting this with high limit: 4097
|
||||
.................
|
||||
*** Program Bug *** setexpr: unknown EXPR = 1254 (4e6)
|
||||
isn't it ... starting it again ...
|
||||
finally finished with 4092 ....
|
||||
now max big expression .....
|
||||
directly taking .. 85 mb ... give it again 5 minutes ...
|
||||
mmm I am going to kill it again ... mmm it grows to 146 mb ...
|
||||
restarting with 1026 ... taking 25 mb ..
|
||||
won't give him that long ... because it will crash any way (just a ques) ..
|
||||
killed it ...
|
||||
restarting at 205 ... hope this will work ....
|
||||
won't think so ... give it 2 minutes ... taking 12 mb ...
|
||||
killed it ...restarting at ... 40 ... yes it crashes ...
|
||||
7 is crashing ... 1 ....is good .. finaly ... a long way ...
|
||||
now max stacked expressions ....
|
||||
taking 80 mb ... mmmm what sort of test is this ...it looks more like a harddisk test .. but it crashes .. nice ...
|
||||
mmm a YACC overflow ... that's a nice error ...
|
||||
but it goes on ... yep it didn't crashed just an error ...
|
||||
mmm
|
||||
my patch for the join didn't work ... let's take a look what goes wrong ...
|
||||
saw it ... forgot some little thing .. mm not .. them ... another little typo
|
||||
mmm again a really nice bug ...
|
||||
Restarting this with high limit: 131
|
||||
...
|
||||
*** Program Bug *** xflkadd: too many read locks
|
||||
them the lock forgotten ....
|
||||
mmmm bigger problem ...
|
||||
with empadm test lockinfo ... gives ...
|
||||
*** System Problem *** no more clients can be registered in coordinator
|
||||
|
||||
*** User Error *** '/usr/local/empress/rdbms/bin/test' is not a valid database
|
||||
that's really really nice ....
|
||||
hmmm after coordclear ... it's fine again ...
|
||||
strange ...
|
||||
after restarting it again the script ... it is going further ....
|
||||
the overflow trick is nice and working good ...
|
||||
now I have table 'crash_q' does not exist for every thing ...
|
||||
normal ...???? mmm went after all good .. so I think it's normal ...
|
||||
mmmm a lot of table 'crash_q' does not exist ... again ...
|
||||
sometimes when the overflow is there ... I restart it and it is saying ...
|
||||
restarting at xxxx that's not good ... but hey ... what the hack ...
|
||||
maybe that's good because if one test run's more then 200 times ....
|
||||
it won't exceeds that test ...
|
||||
....
|
||||
yes finally the end of crash-me ...
|
||||
at last ... crash-me safe: yes ...
|
||||
yep don't think so he ....
|
||||
|
59
sql-bench/Comments/FrontBase.benchmark
Normal file
59
sql-bench/Comments/FrontBase.benchmark
Normal file
|
@ -0,0 +1,59 @@
|
|||
# This file describes how to run benchmarks and crash-me with FrontBase
|
||||
|
||||
Installed components:
|
||||
|
||||
- FrontBase-2.1-8.rpm
|
||||
(had to run with rpm -i --nodeps; the rpm wanted libreadline.so.4.0,
|
||||
but only libreadline.so.4.1 was available)
|
||||
|
||||
- DBD-FB-0.03.tar.gz
|
||||
(perl Makefile.Pl;
|
||||
make;
|
||||
make test;
|
||||
make install;)
|
||||
|
||||
- DBI-1.14.tar.gz
|
||||
(perl Makefile.Pl;
|
||||
make;
|
||||
make test;
|
||||
make install;)
|
||||
|
||||
- Msql-Mysql-modules-1.2215.tar.gz
|
||||
(perl Makefile.Pl;
|
||||
make;
|
||||
make test;
|
||||
make install;)
|
||||
|
||||
After installations:
|
||||
|
||||
- cd /etc/rc.d
|
||||
FBWeb start
|
||||
FrontBase start
|
||||
|
||||
- cd /usr/local/mysql/sql-bench
|
||||
- FBExec &
|
||||
- FrontBase test
|
||||
|
||||
crash-me:
|
||||
|
||||
There were a lot of troubles running the crash-me; FrontBase core
|
||||
dumped several tens of times while crash-me was trying to determine
|
||||
the maximum values in different areas.
|
||||
|
||||
The crash-me program itself was also needed to be tuned quite a lot
|
||||
for FB. There were also some bugs/lacking features in the crash-me
|
||||
program, which are now fixed to the new version.
|
||||
|
||||
After we finally got the limits, we runned the benchmarks.
|
||||
|
||||
benchmarks:
|
||||
|
||||
Problems again. Frontbase core dumped with every part of the
|
||||
benchmark (8/8) tests. After a lot of fine-tuning we got the
|
||||
benchmarks to run through. The maximum values had to be dropped
|
||||
down a lot in many of the tests.
|
||||
|
||||
The benchmarks were run with the following command:
|
||||
|
||||
perl run-all-tests --server=frontbase --host=prima
|
||||
--cmp=frontbase,mysql --tcpip --log
|
26
sql-bench/Comments/Informix.crash-me
Normal file
26
sql-bench/Comments/Informix.crash-me
Normal file
|
@ -0,0 +1,26 @@
|
|||
*****************************************************************
|
||||
NOTE:
|
||||
I, Monty, pulled this comment out from the public mail I got from
|
||||
Honza when he published the first crash-me run on Informix
|
||||
*****************************************************************
|
||||
|
||||
Also attached are diffs from server-cfg and crash-me -- some of
|
||||
them are actual bugs in the code, some add extensions for Informix,
|
||||
some of the comment-outs were necessary to finish the test. Some of
|
||||
the problematic pieces that are commented out sent Informix to
|
||||
veeeery long load 1 on the machine (max_conditions for example), so
|
||||
could be considered crashes, but I'd prefer that someone checks the
|
||||
code before giving out such a conclusion.
|
||||
|
||||
Some of the code that is commented out failed with some other SQL
|
||||
error message which might mean a problem with the sequence of commands
|
||||
in crash-me. Interesting thing, some of the tests failed for the
|
||||
first time but in the next or third run went OK, so the results are
|
||||
results of more iterations (like column doesn't exist in the first
|
||||
try but the second pass goes OK).
|
||||
|
||||
I'd like to hear your comments on the bug fixes and Informix specific
|
||||
code before we go into debugging the problems.
|
||||
|
||||
Yours,
|
||||
Honza Pazdziora
|
18
sql-bench/Comments/interbase
Normal file
18
sql-bench/Comments/interbase
Normal file
|
@ -0,0 +1,18 @@
|
|||
Running crash-me on Interbase:
|
||||
I
|
||||
- got opensource version of interbase 6.0.1
|
||||
(both mode, classic and superserver),
|
||||
- set up DBD::InterBase from cpan,
|
||||
- created database "test" and set sql_dialect for that database to 3
|
||||
- executed crash-me for both interbase's models (classic and superserver).
|
||||
|
||||
There were some problems during the execution:
|
||||
1) Sometimes client side got SIGSEGV , At that moment server side
|
||||
writes
|
||||
gds__alloc: non-positive size allocation request
|
||||
to log file.
|
||||
This problem has both models. I am not shure if it's interbase or
|
||||
DBD:InterBase problem (though DBD::InterBase made all nesessary
|
||||
tests during the installation without any problem)
|
||||
|
||||
2) In "superserver" mode ibserver several times died (and ibguard restarted it)
|
39
sql-bench/Comments/mysql.benchmark
Normal file
39
sql-bench/Comments/mysql.benchmark
Normal file
|
@ -0,0 +1,39 @@
|
|||
# This file describes how to run MySQL benchmarks with MySQL
|
||||
#
|
||||
|
||||
# The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory,
|
||||
# 9G hard disk. The OS is Suse 6.4, with Linux 2.2.14 compiled with SMP
|
||||
# support
|
||||
# Both the perl client and the database server is run
|
||||
# on the same machine. No other cpu intensive process was used during
|
||||
# the benchmark.
|
||||
|
||||
#
|
||||
#
|
||||
# First, install MySQL from RPM or compile it according to the
|
||||
# recommendations in the MySQL manual
|
||||
#
|
||||
|
||||
# Start MySQL
|
||||
|
||||
bin/safe_mysqld -O key_buffer=16M &
|
||||
|
||||
#
|
||||
# Now we run the test that can be found in the sql-bench directory in the
|
||||
# MySQL 3.23 source distribution with and without --fast
|
||||
#
|
||||
# Note that if you want to make a results that is comparead to some database,
|
||||
# You should add "--cmp=databasename" as an extra option to the test
|
||||
#
|
||||
$CMP=--cmp=pg
|
||||
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, key_buffer=16M" $CMP
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, key_buffer=16M" --fast $CMP
|
||||
|
||||
# If you want to store the results in a output/RUN-xxx file, you should
|
||||
# repeate the benchmark with the extra option --log --use-old-result
|
||||
# This will create a the RUN file based of the previous results
|
||||
#
|
||||
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, key_buffer=16M" --log --use-old-result $CMP
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, key_buffer=16M" --fast --log --use-old-result $CMP
|
107
sql-bench/Comments/postgres.benchmark
Normal file
107
sql-bench/Comments/postgres.benchmark
Normal file
|
@ -0,0 +1,107 @@
|
|||
# This file describes how to run MySQL benchmark suite with PostgreSQL
|
||||
#
|
||||
# WARNING:
|
||||
#
|
||||
# Don't run the --fast test on a PostgreSQL 7.1.1 database on
|
||||
# which you have any critical data; During one of our test runs
|
||||
# PostgreSQL got a corrupted database and all data was destroyed!
|
||||
# When we tried to restart postmaster, It died with a
|
||||
# 'no such file or directory' error and never recovered from that!
|
||||
#
|
||||
# Another time vacuum() filled our system disk with had 6G free
|
||||
# while vaccuming a table of 60 M.
|
||||
#
|
||||
# WARNING
|
||||
|
||||
# The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory,
|
||||
# 9G hard disk. The OS is Suse 7.1, with Linux 2.4.2 compiled with SMP
|
||||
# support
|
||||
# Both the perl client and the database server is run
|
||||
# on the same machine. No other cpu intensive process was used during
|
||||
# the benchmark.
|
||||
#
|
||||
# During the test we run PostgreSQL with -o -F, not async mode (not ACID safe)
|
||||
# because when we started postmaster without -o -F, PostgreSQL log files
|
||||
# filled up a 9G disk until postmaster crashed.
|
||||
# We did however notice that with -o -F, PostgreSQL was a magnitude slower
|
||||
# than when not using -o -F.
|
||||
|
||||
#
|
||||
# First, install postgresql-7.1.2.tar.gz
|
||||
|
||||
# Adding the following lines to your ~/.bash_profile or
|
||||
# corresponding file. If you are using csh, use ´setenv´.
|
||||
|
||||
export POSTGRES_INCLUDE=/usr/local/pg/include
|
||||
export POSTGRES_LIB=/usr/local/pg/lib
|
||||
|
||||
PATH=$PATH:/usr/local/pg/bin
|
||||
MANPATH=$MANPATH:/usr/local/pg/man
|
||||
|
||||
#
|
||||
# Add the following line to /etc/ld.so.conf:
|
||||
#
|
||||
|
||||
/usr/local/pg/lib
|
||||
|
||||
# and run:
|
||||
|
||||
ldconfig
|
||||
|
||||
# untar the postgres source distribution, cd to postgresql-*
|
||||
# and run the following commands:
|
||||
|
||||
CFLAGS=-O3 ./configure
|
||||
gmake
|
||||
gmake install
|
||||
|
||||
mkdir /usr/local/pg/data
|
||||
chown postgres /usr/local/pg/data
|
||||
su - postgres
|
||||
/usr/local/pg/bin/initdb -D /usr/local/pg/data
|
||||
/usr/local/pg/bin/postmaster -o -F -D /usr/local/pg/data &
|
||||
/usr/local/pg/bin/createdb test
|
||||
exit
|
||||
|
||||
#
|
||||
# Second, install packages DBD-Pg-1.00.tar.gz and DBI-1.18.tar.gz,
|
||||
# available from http://www.perl.com/CPAN/
|
||||
|
||||
export POSTGRES_LIB=/usr/local/pg/lib/
|
||||
export POSTGRES_INCLUDE=/usr/local/pg/include/postgresql
|
||||
perl Makefile.PL
|
||||
make
|
||||
make install
|
||||
|
||||
#
|
||||
# Now we run the test that can be found in the sql-bench directory in the
|
||||
# MySQL 3.23 source distribution.
|
||||
#
|
||||
# We did run two tests:
|
||||
# The standard test
|
||||
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql
|
||||
|
||||
# When running with --fast we run the following vacuum commands on
|
||||
# the database between each major update of the tables:
|
||||
# vacuum anlyze table
|
||||
# vacuum table
|
||||
# or
|
||||
# vacuum analyze
|
||||
# vacuum
|
||||
|
||||
# The time for vacuum() is accounted for in the book-keeping() column, not
|
||||
# in the test that updates the database.
|
||||
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast
|
||||
|
||||
# If you want to store the results in a output/RUN-xxx file, you should
|
||||
# repeate the benchmark with the extra option --log --use-old-result
|
||||
# This will create a the RUN file based of the previous results
|
||||
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --log --use-old-result
|
||||
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512MG, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast --log --use-old-result
|
||||
|
||||
# Between running the different tests we dropped and recreated the PostgreSQL
|
||||
# database to ensure that PostgreSQL should get a clean start,
|
||||
# independent of the previous runs.
|
30
sql-bench/Comments/postgres.crash-me
Normal file
30
sql-bench/Comments/postgres.crash-me
Normal file
|
@ -0,0 +1,30 @@
|
|||
*****************************************************************
|
||||
NOTE:
|
||||
This is an old comment about how it was to run crash-me on postgreSQL
|
||||
the first time. I think it was on pg 6.2
|
||||
*****************************************************************
|
||||
|
||||
mmm memory use of postgres is very very much ...
|
||||
at this moment I am testing it ...
|
||||
and the tables in join: is taking 200MB memory ...
|
||||
I am happy to have 400mb swap ... so he can do have it ...
|
||||
but other programs will give some errors ...
|
||||
just a second ago ... vim core dumped .. XFree crashed full ... to the prompt
|
||||
the menu bar of redhat disappeared ....
|
||||
at this momemt the max is 215 mb memore postgres is taking ...
|
||||
|
||||
the problem with postgres is the following error:
|
||||
PQexec() -- Request was sent to backend, but backend closed the channel before r
|
||||
esponding. This probably means the backend terminated abnormally before or whil
|
||||
e processing the request
|
||||
|
||||
I think we can solve this with a goto command ... to go back again ... after
|
||||
the connect again ...
|
||||
postgres is taking 377 mb .... mmm allmost out of memory ... 53mb left ..
|
||||
mmm it's growing ... 389 mb ..393 mb ... 397 mb .. better can wait for the out of memory ... i think 409 412 max ...
|
||||
|
||||
ps added some nice code for the channel closing ...
|
||||
it must now do again the query when the error is the above error ...
|
||||
hopes this helps ...
|
||||
after crashing my X again ...
|
||||
I stopped testing postgres
|
135
sql-bench/Data/ATIS/aircraft.txt
Normal file
135
sql-bench/Data/ATIS/aircraft.txt
Normal file
|
@ -0,0 +1,135 @@
|
|||
'ATR','AEROSPATIALE/AERITALIA (ALL SERIES)',2,'TURBOPROP','NO',80.58,73.83,32446,49,10603,277,0,'YES'
|
||||
'SSC','AEROSPATIALE-BRITISH AEROSPACE (BAC) CONCORDE',4,'JET','NO',83.83,203.75,400000,128,25000,1400,3800,'YES'
|
||||
'CRV','AEROSPATIALE CARAVELLE (ALL SERIES)',2,'JET','NO',112.50,118.83,127870,140,29100,512,2150,'YES'
|
||||
'ND2','AEROSPATIALE N 262/FRAKES MOHAWK 298',2,'TURBOPROP','NO',71.83,63.25,23370,27,5810,240,500,'YES'
|
||||
'NDH','AEROSPATIALE SA 365 DAUPHIN 2',1,'HELICOPTER','NO',0.00,43.50,6615,14,0,196,423,'NO'
|
||||
'AGH','AGUSTA A 109 A',2,'HELICOPTER','NO',36.08,35.14,5402,6,0,165,351,'NO'
|
||||
'AB3','AIRBUS INDUSTRIE (ALL SERIES)',2,'JET','YES',147.08,175.91,313060,345,68000,576,2100,'YES'
|
||||
'AN2','ANTONOV AN22 FREIGHTER',4,'TURBOPROP','YES',211.29,189.62,551156,28,99280,375,3107,''
|
||||
'AN4','ANTONOV AN24',2,'TURBOPROP','NO',95.83,77.25,42997,50,8150,295,807,'NO'
|
||||
'AN6','ANTONOV AN26 FREIGHTER',2,'TURBOPROP','NO',95.79,77.20,49297,50,0,280,342,''
|
||||
'BEC','BEECHCRAFT (ALL SERIES)',2,'TURBOPROP','NO',0.00,0.00,0,0,0,0,0,'NO'
|
||||
'BEB','BEECHCRAFT BARON',2,'PROPELLER','NO',37.83,28.00,5120,6,1965,225,1085,'NO'
|
||||
'BEQ','BEECHCRAFT QUEEN AIR',2,'PROPELLER','NO',50.25,35.50,8800,11,3578,214,1185,'NO'
|
||||
'BEO','BEECHCRAFT TWIN BONANZA',2,'PROPELLER','NO',45.95,31.50,6300,5,2230,201,1110,'NO'
|
||||
'BE8','BEECHCRAFT 18/VOLPAR TURBO 18',2,'PROPELLER','NO',49.66,35.25,9900,15,4055,256,1515,'NO'
|
||||
'BE9','BEECHCRAFT C99 AIRLINER',2,'TURBOPROP','NO',45.66,44.50,10900,15,5123,280,1150,'NO'
|
||||
'BH2','BELL (ALL SERIES)',1,'HELICOPTER','NO',33.25,39.08,3200,4,860,140,341,'NO'
|
||||
'DHP','BOEING CANADA DHC-2 BEAVER',1,'PROPELLER','NO',48.00,30.25,5100,10,1800,143,733,''
|
||||
'DHB','BOEING CANADA DHC-2 TURBO BEAVER',1,'TURBOPROP','NO',48.00,35.25,5370,10,1800,157,750,'NO'
|
||||
'DHO','BOEING CANADA DHC-3 OTTER',1,'PROPELLER','NO',58.00,41.83,8000,10,2100,132,960,'NO'
|
||||
'DHT','BOEING CANADA DHC-6 TWIN OTTER',2,'TURBOPROP','NO',65.00,51.75,12500,20,4420,209,745,'NO'
|
||||
'DH7','BOEING CANADA DHC-7 DASH-7 PASSENGER',4,'TURBOPROP','NO',93.00,80.58,43000,50,15000,275,850,'YES'
|
||||
'DH8','BOEING CANADA DHC-8 DASH-8 (ALL SERIES)',2,'TURBOPROP','NO',84.00,75.00,0,32,0,300,691,''
|
||||
'707','BOEING 707 PASSENGER (ALL SERIES)',4,'JET','NO',130.83,145.08,258000,181,52000,615,6325,'YES'
|
||||
'70M','BOEING 707-320C MIXED CONFIGURATION',4,'JET','NO',145.75,152.91,336000,145,83447,615,5750,'YES'
|
||||
'727','BOEING 727 PASSENGER (ALL SERIES)',3,'JET','NO',108.00,133.16,170000,131,35900,622,3000,'YES'
|
||||
'72M','BOEING 727-100C/100QC MIXED CONFIGURATION',3,'JET','NO',108.00,133.16,160000,96,30500,600,0,'YES'
|
||||
'72S','BOEING 727-200 (ALL SERIES)',3,'JET','NO',108.00,153.16,191000,145,40670,622,2400,'YES'
|
||||
'737','BOEING 737 PASSENGER (ALL SERIES)',2,'JET','NO',93.00,94.00,111000,138,29093,577,1300,'YES'
|
||||
'73M','BOEING 737-200C/200QC MIXED CONFIGURATION',2,'JET','NO',93.00,100.16,125000,130,33561,573,1800,'YES'
|
||||
'73S','BOEING 737 PASSENGER (ALL 200/200C SERIES)',2,'JET','NO',93.00,100.16,120000,130,34050,577,2300,'YES'
|
||||
'733','BOEING 737-300',2,'JET','NO',94.75,105.58,135000,138,35500,550,2500,'YES'
|
||||
'74M','BOEING 747 MIXED CONFIGURATION (ALL SERIES)',4,'JET','YES',195.66,231.83,78500,238,165710,600,5500,'YES'
|
||||
'747','BOEING 747 PASSENGER (ALL SERIES)',4,'JET','YES',195.66,321.83,833000,452,134000,557,7500,'YES'
|
||||
'74L','BOEING 747SP',4,'JET','YES',195.66,184.75,700000,430,98000,564,6730,'YES'
|
||||
'757','BOEING 757-200 PASSENGER',2,'JET','NO',124.50,155.25,220000,224,38940,560,2440,'YES'
|
||||
'767','BOEING 767 (ALL SERIES)',2,'JET','YES',156.08,159.16,312000,290,69000,550,4500,'YES'
|
||||
'B11','BRITISH AEROSPACE (BAC) ONE-ELEVEN (ALL SERIES)',2,'JET','NO',88.50,93.50,78500,79,17600,550,1430,'YES'
|
||||
'VGP','BRITISH AEROSPACE (BAC-VICKERS) VANGUARD PASSENGER',4,'TURBOPROP','NO',118.00,122.87,146500,139,21500,405,2910,'YES'
|
||||
'VCV','BRITISH AEROSPACE (BAC-VICKERS) VISCOUNT (ALL SERIES)',4,'TURBOPROP','NO',93.70,85.66,72500,75,14500,352,1725,'YES'
|
||||
'HPH','BRITISH AEROSPACE (HANDLEY PAGE) HERALD',2,'TURBOPROP','NO',113.00,96.83,82000,74,12000,266,3150,'YES'
|
||||
'HPJ','BRITISH AEROSPACE (HANDLEY PAGE) JETSTREAM 1/200',2,'TURBOPROP','NO',52.00,47.08,12550,18,4100,250,1440,'YES'
|
||||
'DHH','BRITISH AEROSPACE (HAWKER SIDDELEY) HERON',4,'PROPELLER','NO',71.50,48.50,13500,17,2100,195,0,'NO'
|
||||
'TRD','BRITISH AEROSPACE (HAWKER SIDDELEY) TRIDENT (ALL SERIES)',3,'JET','NO',95.00,114.75,135500,103,24500,606,2700,'YES'
|
||||
'HS7','BRITISH AEROSPACE (HAWKER SIDDELEY) 748 PASSENGER',2,'TURBOPROP','NO',98.50,67.00,46500,56,11363,275,850,'YES'
|
||||
'J31','BRITISH AEROSPACE JETSTREAM 31',2,'TURBOPROP','NO',52.00,47.12,12566,18,0,282,1380,'YES'
|
||||
'141','BRITISH AEROSPACE 146-100',4,'JET','NO',86.41,85.83,74600,88,17277,460,1450,'YES'
|
||||
'142','BRITISH AEROSPACE 146-200 PASSENGER',4,'JET','NO',86.41,93.66,89500,100,21000,460,1450,'YES'
|
||||
'BNI','BRITTEN-NORMAN BN-2A/B ISLANDER/BN-2T TURBINE ISLANDER',2,'PROPELLER','NO',49.00,35.66,6300,10,2000,260,425,'NO'
|
||||
'BNT','BRITTEN-NORMAN BN-2A MK III TRISLANDER',3,'PROPELLER','NO',53.00,43.75,9350,18,4000,180,0,'NO'
|
||||
'CS2','CASA C-212/NUSANTARA NC-212 AVIOCAR',2,'TURBOPROP','NO',62.50,45.83,16427,28,6077,230,1400,'NO'
|
||||
'CNA','CESSNA (ALL SERIES)',1,'TURBOPROP','NO',0.00,0.00,0,0,0,0,0,'NO'
|
||||
'CN2','CESSNA STATIONAIR/TURBO STATIONAIR 6',1,'PROPELLER','NO',35.83,28.00,3600,7,1792,169,702,'NO'
|
||||
'CNT','CESSNA STATIONAIR 207/TURBO STATIONAIR 7/8',1,'PROPELLER','NO',35.83,31.75,3800,7,1729,185,581,'NO'
|
||||
'CN4','CESSNA 402/402 UTILILINER',2,'PROPELLER','NO',39.91,36.08,6300,8,2436,239,562,'NO'
|
||||
'CVR','CONVAIR (ALL SERIES)',2,'TURBOPROP','NO',105.33,79.16,54600,56,11200,350,1100,'YES'
|
||||
'CWC','CURTISS C-46 COMMANDO',2,'PROPELLER','NO',108.08,76.33,40000,60,12000,220,1600,'NO'
|
||||
'DAM','DASSAULT-BREGUET MERCURE',2,'JET','NO',100.25,114.25,120150,0,32850,574,1094,'YES'
|
||||
'DOS','DORNIER DO 28',2,'PROPELLER','NO',51.02,37.02,8852,15,3000,160,708,''
|
||||
'DO8','DORNIER 228 (ALL SERIES)',2,'TURBOPROP','NO',55.58,49.25,12570,19,6000,231,1065,'NO'
|
||||
'EMB','EMBRAER EMP-110 BANDEIRANTE',2,'TURBOPROP','NO',50.16,49.41,12500,19,5000,262,900,'NO'
|
||||
'EM2','EMBRAER EMP-120 BRASILIA',2,'TURBOPROP','NO',64.89,64.70,12295,30,0,288,628,'YES'
|
||||
'FK7','FAIRCHILD INDUSTRIES FH-227',2,'TURBOPROP','NO',95.16,83.08,43500,52,11500,294,1520,'YES'
|
||||
'SWM','FAIRCHILD (SWEARINGEN) METRO/MERLIN',2,'TURBOPROP','NO',46.25,59.33,12500,19,3950,294,2139,'YES'
|
||||
'F27','FOKKER F27 FRIENDSHIP/FAIRCHILD (ALL SERIES)',2,'TURBOPROP','NO',95.16,82.16,45000,56,13500,265,1450,'YES'
|
||||
'F28','FOKKER F28 FELLOWSHIP (ALL SERIES)',2,'JET','NO',82.25,96.16,73000,85,19623,523,1055,'YES'
|
||||
'CD2','GOVERNMENT AIRCRAFT FACTORIES N22B/N24A NOMAD',2,'TURBOPROP','NO',54.00,43.00,8500,16,3000,165,850,'NO'
|
||||
'GRA','GRUMMAN G-111 ALBATROSS G-111',2,'AMPHIBIAN','NO',96.66,61.25,31000,28,7965,160,1500,'NO'
|
||||
'GRG','GRUMMAN G-21 GOOSE',2,'AMPHIBIAN','NO',49.00,38.33,8000,10,2000,160,825,'NO'
|
||||
'GRM','GRUMMAN G-73 MALLARD',2,'AMPHIBIAN','NO',66.66,48.33,12750,10,1950,180,1245,'NO'
|
||||
'GRS','GULFSTREAM AEROSPACE (GRUMMAN) GULFSTREAM 1/1-C',2,'TURBOPROP','NO',78.33,63.75,36000,37,4300,345,2300,'YES'
|
||||
'IL4','ILYUSHIN IL14',2,'PROPELLER','NO',104.00,69.91,36380,24,4800,224,1250,'NO'
|
||||
'IL8','ILYUSHIN IL18',4,'TURBOPROP','NO',122.70,117.79,119000,125,30860,403,1860,'YES'
|
||||
'IL6','ILYUSHIN IL62/62M',4,'JET','NO',141.29,174.16,347224,186,50706,528,5716,'YES'
|
||||
'ILW','ILYUSHIN IL86',4,'JET','YES',157.68,197.54,454152,350,0,575,0,'YES'
|
||||
'LOM','LOCKHEED L188 ELECTRA MIXED CONFIGURATION',4,'TURBOPROP','NO',99.00,104.50,116000,0,0,390,2200,''
|
||||
'LOE','LOCKHEED L188 ELECTRA PASSENGER',4,'TURBOPROP','NO',99.00,104.54,116000,104,22000,405,2750,'YES'
|
||||
'L10','LOCKHEED L1011 (ALL SERIES)',3,'JET','YES',155.25,177.58,430000,400,95500,615,3450,'YES'
|
||||
'L15','LOCKHEED L1011-500 TRISTAR',3,'JET','YES',155.33,164.20,496000,330,115000,580,5998,'YES'
|
||||
'MR4','MARTIN 404',2,'PROPELLER','NO',93.25,74.58,44900,44,9500,255,900,'YES'
|
||||
'DC3','MCDONNELL DOUGLAS DC3/C47 DAKOTA PASSENGER',2,'PROPELLER','NO',95.00,64.50,25200,30,7380,207,1330,'NO'
|
||||
'DC4','MCDONNELL DOUGLAS DOUGLAS DC4/C-54 SKYMASTER PASSENGER',4,'PROPELLER','NO',117.50,93.91,73800,80,11440,230,2750,'NO'
|
||||
'DC6','MCDONNELL DOUGLAS DC6 (ALL SERIES)',4,'PROPELLER','NO',117.50,101.50,93200,80,12310,309,3070,'YES'
|
||||
'D8M','MCDONNELL DOUGLAS DC8 MIXED CONFIGURATION (ALL SEIRES)',4,'JET','NO',142.33,187.41,325000,259,66665,600,3700,'YES'
|
||||
'DC8','MCDONNELL DOUGLAS DC8 PASSENGER (ALL 20-50 SERIES)',4,'JET','NO',142.25,150.41,315000,176,34000,544,7010,'YES'
|
||||
'D8S','MCDONNELL DOUGLAS DC8 (ALL 60/70 SERIES)',4,'JET','NO',142.25,187.33,325000,259,66665,580,7150,'YES'
|
||||
'DC9','MCDONNELL DOUGLAS DC9 (ALL 10 & 20 SERIES)',2,'JET','NO',93.25,104.33,98000,90,20850,593,2200,'YES'
|
||||
'D95','MCDONNELL DOUGLAS DC9-50',2,'JET','NO',93.25,133.41,12200,139,32615,593,2550,'YES'
|
||||
'D10','MCDONNELL DOUGLAS DC10 (ALL SERIES)',3,'JET','YES',155.25,182.25,455000,380,98490,608,6350,'YES'
|
||||
'M80','MCDONNELL DOUGLAS (MD-80 SERIES)',2,'JET','NO',107.83,147.83,140000,172,0,579,3060,'YES'
|
||||
'MIH','MIL MI-8',2,'HELICOPTER','NO',50.20,108.85,26455,28,0,140,311,''
|
||||
'MU2','MITSUBISHI MU2/MARQUISE/SOLITARE',2,'TURBOPROP','NO',39.16,39.41,11575,8,0,347,1606,''
|
||||
'YS1','NAMC YS-11',2,'TURBOPROP','NO',105.00,86.25,51800,60,12550,292,1980,'YES'
|
||||
'PN6','PARTENAVIA P.68 VICTOR',2,'PROPELLER','NO',39.37,31.33,4387,7,0,185,1312,''
|
||||
'PL6','PILATUS PC-6 TURBO-PORTER',1,'TURBOPROP','NO',49.66,35.75,4850,0,0,151,644,''
|
||||
'PA6','PIPER AEROSTAR',2,'TURBOPROP','NO',34.16,54.75,5500,6,240,250,1400,'YES'
|
||||
'PAZ','PIPER APACHE/AZTEC',2,'PROPELLER','NO',37.33,31.16,5200,6,2151,206,1519,'NO'
|
||||
'PAC','PIPER CHEROKEE',1,'PROPELLER','NO',32.83,27.66,3400,7,1544,167,856,'NO'
|
||||
'PAH','PIPER NAVAJO/MOHAVE/CHIEFTAIN',2,'PROPELLER','NO',40.50,34.50,7000,8,0,254,1019,'NO'
|
||||
'PAS','PIPER SENECA',2,'PROPELLER','NO',38.91,28.50,4570,7,1747,219,1036,'NO'
|
||||
'PA1','PIPER T-1020/1040',2,'TURBOPROP','NO',41.08,36.66,9000,9,3800,250,900,'NO'
|
||||
'ACD','ROCKWELL COMMANDER (ALL SERIES)',2,'PROPELLER','NO',49.50,35.08,6750,7,2750,205,1220,'YES'
|
||||
'SF3','SAAB-FAIRCHILD 340',2,'TURBOPROP','NO',70.33,63.75,25020,34,0,300,920,'YES'
|
||||
'SA2','SAUNDERS ST-27',2,'TURBOPROP','NO',71.50,59.00,13500,23,0,230,0,'NO'
|
||||
'SHP','SHORTS SKYLINER',2,'TURBOPROP','NO',64.91,40.00,12500,19,4600,188,694,'YES'
|
||||
'SHS','SHORTS SKYVAN',2,'TURBOPROP','NO',64.91,40.08,12500,19,0,188,694,''
|
||||
'SH3','SHORTS 330 PASSENGER',2,'TURBOPROP','NO',74.66,58.00,22000,30,7500,218,1137,'NO'
|
||||
'SH6','SHORTS 360',2,'TURBOPROP','NO',74.83,70.83,26000,36,7500,244,1151,'NO'
|
||||
'S58','SIKORSKY S58T',1,'HELICOPTER','NO',56.00,47.25,13000,16,0,127,278,'NO'
|
||||
'S61','SIKORSKY S61',2,'HELICOPTER','NO',62.00,72.00,20500,30,5500,139,282,'NO'
|
||||
'TU3','TUPOLEV TU134',2,'JET','NO',95.16,112.71,98100,72,14300,546,1490,'YES'
|
||||
'TU5','TUPOLEV TU154',3,'JET','NO',123.20,157.14,198410,164,44090,605,3280,'YES'
|
||||
'WLH','WESTLAND 30',2,'HELICOPTER','NO',43.66,52.16,12350,21,0,0,100,''
|
||||
'YK4','YAKOVLEV YAK-40',3,'JET','NO',82.08,66.75,35270,40,5070,342,1240,'YES'
|
||||
'YK2','YAKOVLEV YAK-42',3,'JET','NO',112.20,119.35,114640,120,2000,510,621,'YES'
|
||||
'100','FOKKER 100',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'146','BRITISH AEROSPACE 146 (ALL SERIES)',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'310','AIRBUS INDUSTRIE A310 (ALL SERIES)',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'320','AIRBUS INDUSTRIE A320 (ALL SERIES)',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'734','BOEING 737-400',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'743','BOEING 737-300 PASSENGER',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'744','BOEING 747-400 PASSENGER',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'74E','BOEING 747-400 MIXED CONFIGURATION',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'763','BOEING 767-300/300ER',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'BE1','BEECHCRAFT 1900',0,'TURBOPROP','',0.00,0.00,0,0,0,0,0,''
|
||||
'BUS','BUS',0,'','',0.00,0.00,0,0,0,0,0,''
|
||||
'CNJ','CESSNA CITATION',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'D3M','DOUGLAS DC3/C-47 DAKOTA MIXED CONFIGURATION',0,'PROPELLER','',0.00,0.00,0,0,0,0,0,''
|
||||
'D9S','MCDONNELL DOUGLAS DC9 (ALL 30/40/50 & 80 SERIES)',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'DHM','BOEING CANADA DHC-7 DASH 7 MIXED CONFIGURATION',0,'TURBOPROP','',0.00,0.00,0,0,0,0,0,''
|
||||
'LMO','LIMOSINE',0,'','',0.00,0.00,0,0,0,0,0,''
|
||||
'M87','MCDONNELL DOUGLAS MD-87',0,'JET','',0.00,0.00,0,0,0,0,0,''
|
||||
'NDE','AEROSPATIALE AS 350 ECUREUIL/AS 355 ECUREUIL 2',1,'TURBOPROP','',0.00,0.00,0,0,0,0,0,''
|
||||
'PAG','PIPER (ALL SERIES)',0,'PROPELLER','',0.00,0.00,0,0,0,0,0,''
|
||||
'S76','SIKORSKY S76',1,'TURBOPROP','',0.00,0.00,0,0,0,0,0,''
|
314
sql-bench/Data/ATIS/airline.txt
Normal file
314
sql-bench/Data/ATIS/airline.txt
Normal file
|
@ -0,0 +1,314 @@
|
|||
'AA','AMERICAN AIRLINES',''
|
||||
'AC','AIR CANADA',''
|
||||
'AD','EXEC EXPRESS II,INC.',''
|
||||
'AF','AIR FRANCE',''
|
||||
'AG','ATLANTIC AIRWAYS LIMITED',''
|
||||
'AM','AEROMEXICO - AEROVIAS DE MEXICO S.A. DE C.V.',''
|
||||
'AP','ASPEN AIRWAYS,INC.',''
|
||||
'AQ','ALOHA AIRLINES INC.',''
|
||||
'AR','AEROLINEAS ARGENTINAS',''
|
||||
'AS','ALASKA AIRLINES',''
|
||||
'AT','ROYAL AIR MAROC',''
|
||||
'AV','AVIANCA',''
|
||||
'AY','FINNAIR',''
|
||||
'AZ','ALITALIA',''
|
||||
'BA','BRITISH AIRWAYS',''
|
||||
'BE','ENTERPRISE AIRLINES,INC.',''
|
||||
'BF','MARKAIR,INC.',''
|
||||
'BK','CHALKS/PARADISE ISLAND AIRLINES',''
|
||||
'BL','AIR BVI,LTD.',''
|
||||
'BW','BWIA INTERNATIONAL',''
|
||||
'CA','CAAC',''
|
||||
'CD','TRANS-PROVINCIAL AIRLINES LTD.',''
|
||||
'CH','BEMIDJI AIRLINES',''
|
||||
'CI','CHINA AIRLINES LTD.',''
|
||||
'CO','CONTINENTAL AIRLINES',''
|
||||
'CP','CANADIAN AIRLINES INTERNATIONAL LTD.',''
|
||||
'CS','AIR TORONTO',''
|
||||
'CT','MIDCONTINENT AIRLINES INC.',''
|
||||
'CU','CUBANA AIRLINES',''
|
||||
'CX','CATHAY PACIFIC AIRWAYS LTD.',''
|
||||
'DD','COMMAND AIRWAYS,INC.',''
|
||||
'DE','PRIME AIR,INC.',''
|
||||
'DF','AERO COACH AVIATION INTERNATIONAL,INC.',''
|
||||
'DL','DELTA AIR LINES,INC.',''
|
||||
'DO','DOMINICANA DE AVIACION',''
|
||||
'DQ','COASTAL AIR TRANSPORT',''
|
||||
'DV','NANTUCKET AIRLINES',''
|
||||
'EA','EASTERN AIR LINES,INC.',''
|
||||
'ED','CCAIR INC.',''
|
||||
'EI','AER LINGUS P.L.C.',''
|
||||
'EJ','NEW ENGLAND AIRLINES,INC.',''
|
||||
'EM','EMPIRE AIRWAYS',''
|
||||
'EU','EMPRESA ECUATORIANA DE AVIACION',''
|
||||
'EV','ATLANTIC SOUTHEAST AIRLINES,INC.',''
|
||||
'FC','CHAPARRAL AIRLINES,INC.',''
|
||||
'FH','MALL AIRWAYS INC.',''
|
||||
'FI','ICELANDAIR',''
|
||||
'FK','FLAMENCO AIRWAYS,INC.',''
|
||||
'FN','SFO HEICOPTER AIRLINES,INC.',''
|
||||
'FQ','AIR ARUBA',''
|
||||
'FX','EXPRESS AIR,INC.',''
|
||||
'FY','METROFLIGHT AIRLINES',''
|
||||
'GA','GARUDA INDONESIAN AIRWAYS',''
|
||||
'GM','AIR AMERICA',''
|
||||
'GQ','BIG SKY AIRLINES',''
|
||||
'GS','BAS AIRLINES',''
|
||||
'GU','AVIATECA S.A.',''
|
||||
'HA','HAWAIIAN AIR LINES',''
|
||||
'HD','NEW YORK HELICOPTER CORPORATION',''
|
||||
'HE','KEYSTONE AIR SERVICE LTD.',''
|
||||
'HG','HARBOR AIRLINES,INC',''
|
||||
'HI','GRAND CANYON HELICOPTERS',''
|
||||
'HP','AMERICA WEST AIRLINES,INC.',''
|
||||
'HQ','BUSINESS EXPRESS',''
|
||||
'HY','METRO AIRLINES',''
|
||||
'IB','IBERIA',''
|
||||
'IF','INTERFUG',''
|
||||
'IH','CHANNEL FLYING,INC.','SERVICE TEMPORARILY SUSPENDED'
|
||||
'IN','EAST HAMPTON AIRE',''
|
||||
'IU','HELITRANS AIR SERVICE,INC.',''
|
||||
'JB','HELIJET AIRWAYS',''
|
||||
'JC','ROCKY MOUNTAIN AIRWAYS',''
|
||||
'JF','L.A.B. FYING SERVICE,INC.','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'JI','JET EXPRESS',''
|
||||
'JL','JAPAN AIRLINES',''
|
||||
'JM','AIR JAMAICA LIMITED',''
|
||||
'JO','HOLIDAY AIRLINES,INC.',''
|
||||
'JQ','TRANS-JAMAICAN AIRLINES LTD.',''
|
||||
'JR','AERO CALIFORNIA',''
|
||||
'JT','IOWA AIRWAYS,INC.',''
|
||||
'JU','YUGOSLAV AIRLINES (JAT)',''
|
||||
'JV','BEARSKIN LAKE AIR SERVICE LIMITED',''
|
||||
'KE','KOREAN AIR',''
|
||||
'KI','TIME AIR LTD.',''
|
||||
'KL','KLM-ROYAL DUTCH AIRLINES',''
|
||||
'KS','PENINSULA AIRWAYS,INC.',''
|
||||
'KW','CARNIVAL AIR LINES',''
|
||||
'KX','CAYMAN AIRWAYS,LTD.',''
|
||||
'LA','LAN CHILE S.A.',''
|
||||
'LH','LUFTHANSA GERMAN AIRLINES',''
|
||||
'LI','LIAT (1974) LTD.',''
|
||||
'LM','ALM-ANTILLEAN AIRLINES',''
|
||||
'LR','LACSA',''
|
||||
'LS','ILIAMNA AIR TAXI,INC.',''
|
||||
'LV','LAV-LINEA AEROPOSTAL VENEZOLANA',''
|
||||
'LW','AIR NEVADA',''
|
||||
'LY','EL AL ISRAEL AIRLINES',''
|
||||
'MG','MGM GRAND AIR,INC.',''
|
||||
'MH','MALAYSIAN AIRLINE SYSTEM',''
|
||||
'ML','MIDWAY AIRLINES,INC.',''
|
||||
'MO','CALM AIR INTERNATIONAL LTD.',''
|
||||
'MQ','SIMMONS AIRLINES',''
|
||||
'MX','MEXICANA DE AVIACION',''
|
||||
'NA','EXECUTIVE AIR CHARTER',''
|
||||
'ND','INTAIR',''
|
||||
'NN','C.A.A.A.-AIR MARTINIQUE',''
|
||||
'NQ','CUMBERLAND AIRLINES',''
|
||||
'NR','NORONTAIR',''
|
||||
'NV','NORTHWEST TERRITORIAL AIRWAYS,LTD.',''
|
||||
'NW','NORTHWEST AIRLINES,INC.',''
|
||||
'OA','OLYMPIC AIRWAYS',''
|
||||
'OB','TEMPUS AIR LTD.','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'OE','WESTAIR AIRLINES',''
|
||||
'OG','AIR GUADELOUPE',''
|
||||
'OH','COMAIR,INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'OJ','AIR ST.-BARTHELEMY',''
|
||||
'OK','CZECHOSLOVAK AIRLINES',''
|
||||
'OO','SKY WEST AIRLINES',''
|
||||
'OQ','AEROLIBERTAD S.A. DE C.V.',''
|
||||
'OT','EVERGREEN ALASKA',''
|
||||
'OU','CITY EXPRESS',''
|
||||
'OY','SUNAIRE',''
|
||||
'PA','PAN AMERICAN WORLD AIRWAYS,INC.',''
|
||||
'PD','PEM AIR LIMITED',''
|
||||
'PK','PAKISTAN INTERNATIONAL AIRLINES',''
|
||||
'PN','COASTAL AIRWAYS',''
|
||||
'PQ','HOLIDAY AIRWAYS','SERVICE TEMPORARILY SUSPENDED'
|
||||
'PR','PHILIPPINE AIRLINES,INC.',''
|
||||
'PS','CENTRAL STATES AIRLINES,INC.',''
|
||||
'PT','PBA-PROVINCETOWN-BOSTON AIRLINE,INC.',''
|
||||
'PV','PANORAMA AIR',''
|
||||
'PY','SURINAM AIRWAYS LTD.',''
|
||||
'QA','AERO CARIBE',''
|
||||
'QB','INTER-QUEBEC',''
|
||||
'QD','GRAND AIRWAYS,INC.',''
|
||||
'QF','QANTAS AIRWAYS LTD.',''
|
||||
'QO','BAR HARBOR AIRLINES',''
|
||||
'QQ','DRUMMOND ISLAND AIR','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'QR','AIR SATELLITE,INC.',''
|
||||
'QS','PROPHETER AVIATION',''
|
||||
'QW','TURKS AND CAICOS NATIONAL AIRLINE',''
|
||||
'QX','HORIZON AIR',''
|
||||
'QY','AERO VIRGIN ISLANDS CORP',''
|
||||
'RG','VARIG,S.A.',''
|
||||
'RH','REGAL BAHAMAS INTERNATIONAL AIRLINES',''
|
||||
'RJ','ROYAL JORDANIAN',''
|
||||
'RM','WINGS WEST AIRLINE,INC.',''
|
||||
'RP','PRECISION AIRLINES',''
|
||||
'RV','REEVE ALEUTIAN AIRWAYS,INC.',''
|
||||
'SE','WINGS OF ALASKA',''
|
||||
'SK','SCANDINAVIAN AIRLINES SYSTEM',''
|
||||
'SN','SABENA BELGIAN WORLD AIRLINES',''
|
||||
'SQ','SINGAPORE AIRLINES',''
|
||||
'SR','SWISSAIR',''
|
||||
'SS','METRO AIRLINES NORTHEAST INC.',''
|
||||
'SU','AEROFLOT-SOVIET AIRLINES',''
|
||||
'SV','SAUDI ARABIAN AIRLINES',''
|
||||
'SX','CHRISTMAN AIR SYSTEM',''
|
||||
'TB','TRUMP SHUTTLE,INC.',''
|
||||
'TE','AIR NEW ZEALAND-INTERNATIONAL',''
|
||||
'TG','THAI AIRWAYS INTERNATIONAL,LTD.',''
|
||||
'TO','ALKAN AIR LTD.',''
|
||||
'TP','TAP AIR PORTUGAL',''
|
||||
'TV','HAITI TRANS AIR S.A.',''
|
||||
'TW','TRANS WORLD AIRLINES,INC.',''
|
||||
'TZ','AMERICAN TRANS AIR',''
|
||||
'UA','UNITED AIRLINES',''
|
||||
'UC','LADECO-LINEA AEREA DEL COBRE',''
|
||||
'UE','AIR LA',''
|
||||
'UJ','AIR SEDONA',''
|
||||
'UO','DIRECT AIR,INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'UP','BAHAMASAIR',''
|
||||
'US','USAIR',''
|
||||
'UT','U.T.A. - UNION DE TRANSPORTS AERIENS',''
|
||||
'UW','PERIMETER AIRLINES (INLAND) LTD.',''
|
||||
'VA','VIASA',''
|
||||
'VI','VIEQUES AIR LINK,INC.',''
|
||||
'VW','TRANSPORTES AEROMAR,S.A. DE C.V.',''
|
||||
'WD','WARDAIR',''
|
||||
'WJ','LABRADOR AIRWAYS,LTD.',''
|
||||
'WM','WINDWARD ISLAND AIRWAYS INTERNATIONAL N.V.',''
|
||||
'WN','SOUTHWEST AIRLINES',''
|
||||
'WP','ALOHA ISLANDAIR,INC.',''
|
||||
'WQ','WINGS AIRWAYS','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'WS','WESTATES AIRLINES','SERVICE TEMPORARILY SUSPENDED'
|
||||
'WV','MIDWEST AVIATION',''
|
||||
'XE','SOUTHCENTRAL AIR,INC.',''
|
||||
'XJ','MESABA AVIATION',''
|
||||
'XK','RESORT COMMUTER,INC.',''
|
||||
'XQ','ACTION AIRLINES',''
|
||||
'XV','PRESIDENTIAL AIRWAYS,INC.',''
|
||||
'XW','WALKER\'S INTERNATIONAL',''
|
||||
'XY','RYAN AIR,INC.',''
|
||||
'YE','GRAND CANYON AIRLINES,INC.','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'YI','AIR SUNSHINE INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'YL','LONG ISLAND AIRLINES',''
|
||||
'YN','AIR CREEBEC INC.',''
|
||||
'YR','SCENIC AIRLINES INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'YS','SAN JUAN AIRLINES',''
|
||||
'YU','AEROLINEAS DOMINICANAS,S.A. - DOMINAIR',''
|
||||
'YV','MESA AIRLINES',''
|
||||
'YW','STATESWEST AIRLINES,INC.',''
|
||||
'YX','MIDWEST EXPRESS AIRLINES,INC.',''
|
||||
'ZD','ROSS AVIATION,INC.','NATL AIR TRANSPORTATION ASSOC,INC'
|
||||
'ZE','AIR CARIBE INTERNATIONAL,INC.',''
|
||||
'ZK','GREAT LAKES AVIATION,LTD.',''
|
||||
'ZO','MOHAWK AIRLINES',''
|
||||
'ZP','VIRGIN AIR,INC.',''
|
||||
'ZS','HISPANIOLA AIRWAYS C. POR A.',''
|
||||
'ZV','AIR MIDWEST',''
|
||||
'ZW','AIR WISCONSIN',''
|
||||
'ZX','AIR BC,LTD.',''
|
||||
'2E','HERMENS/MARKAIR EXPRESS',''
|
||||
'2F','FRONTIER FLYING SERVICE',''
|
||||
'2P','PRAIRIE FLYING SERVICE (1976) LTD.',''
|
||||
'2Q','AQUILA AIR LTD',''
|
||||
'2V','NORTHEAST EXPRESS REGIONAL AIRLINES','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'2Z','SERVICIOS AEROS LITORAL S.A. DE C.V.',''
|
||||
'3A','ALLIANCE AIRLINES',''
|
||||
'3C','CAMAI AIR',''
|
||||
'3G','VIRGIN ISLANDS SEAPLANE SHUTTLE','SERVICE TEMPORARILY SUSPENDED'
|
||||
'3H','AIR INUIT (1985) LTD.',''
|
||||
'3L','AIR-LIFT ASSOCIATES,INC',''
|
||||
'3N','PAC AIR',''
|
||||
'3R','AIR MOLOKAI - TROPIC AIRLINES','SERVICE TEMPORARILY SUSPENDED'
|
||||
'3S','SHUSWAP AIR',''
|
||||
'3V','WAGLISLA AIR INC.',''
|
||||
'4A','AIRWAYS INTERNATIONAL,INC.',''
|
||||
'4B','OLSON AIR SERVICE,INC.',''
|
||||
'4E','TANANA AIR SERVICE',''
|
||||
'4F','FRONTIER AIR',''
|
||||
'4G','INLET AIRLINES,INC.',''
|
||||
'4K','KENN BOREK AIR LTD.',''
|
||||
'4L','AIR ALMA INC.',''
|
||||
'4N','AIR NORTH',''
|
||||
'4T','PACIFIC RIM AIRLINES LTD.',''
|
||||
'4V','VOYAGEUR AIRWAYS LTD.',''
|
||||
'4W','WRANGELL AIR SERVICE',''
|
||||
'4Y','YUTE AIR ALASKA,INC.','SERVICE TEMPORARILY SUSPENDED'
|
||||
'5A','ALPINE AVIATION,INC.',''
|
||||
'5B','BELLAIR INC.',''
|
||||
'5E','HUB EXPRESS,INC.',''
|
||||
'5K','KENMORE AIR HARBOR,INC.',''
|
||||
'5L','LAREDO AIR,INC.',''
|
||||
'5N','SEAGULL AIR SERVICE,INC.','SERVICE TEMPORARILY SUSPENDED'
|
||||
'5P','PTARMIGAN AIRWAYS LTD',''
|
||||
'5S','AIRSPEED AVIATION INC.',''
|
||||
'5T','AVIACION DEL NOROESTE',''
|
||||
'5U','SKAGWAY AIR SERVICE,INC.',''
|
||||
'5V','AVIAIR AVIATION (1984) LTD.',''
|
||||
'5W','CHARTAIR,INC.',''
|
||||
'6A','PANAMA AIRWAYS',''
|
||||
'6B','BAXTER AVIATION',''
|
||||
'6C','CAPE SMYTHE AIR SERVICE,INC.',''
|
||||
'6D','ALASKA ISLAND AIR,INC.',''
|
||||
'6E','BURRARD AIR LTD.',''
|
||||
'6G','LAS VEGAS AIRLINES',''
|
||||
'6J','SOUTHERN JERSEY AIRWAYS,INC.',''
|
||||
'6K','KEEWATIN AIR LIMITED',''
|
||||
'6L','AKLAK AIR LTD.',''
|
||||
'6M','40-MILE AIR,LTD.',''
|
||||
'6P','PROPAIR INC.',''
|
||||
'6Q','BARROW AIR,INC.',''
|
||||
'6S','KETCHIKAN AIR SERVICE,INC.',''
|
||||
'6T','TYEE AIRWAYS LIMITED',''
|
||||
'6V','AIR VEGAS,INC.',''
|
||||
'6W','WILDERNESS AIRLINE (1975) LTD.',''
|
||||
'7A','HAINES AIRWAYS,INC.',''
|
||||
'7D','TRUMP AIR',''
|
||||
'7F','FIRST AIR',''
|
||||
'7G','GULFSTREAM AIRLINES,INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'7H','ERA AVIATION',''
|
||||
'7K','LARRY\'S FLYING SERVICE,INC',''
|
||||
'7L','LAKE UNION AIR SERVICE',''
|
||||
'7N','NORTHLAND AIR MANITOBA LIMITED',''
|
||||
'7Q','CALIFORNIA AIR SHUTTLE',''
|
||||
'7R','GCS AIR SERVICE,INC.',''
|
||||
'7T','TRANS COTE INC.',''
|
||||
'7V','ALPHA AIR',''
|
||||
'7W','AIR SASK AVIATION',''
|
||||
'8B','BAKER AVIATION,INC.',''
|
||||
'8D','SKYLINK AIRLINES','SERVICE TEMPORARILY SUSPENDED'
|
||||
'8E','BERING AIR,INC.',''
|
||||
'8F','WILBUR\'S INC.',''
|
||||
'8G','GP EXPRESS AIRLINES,INC.',''
|
||||
'8H','HARBOR AIR SERVICE',''
|
||||
'8K','AIR MUSKOKA',''
|
||||
'8L','SERVICIO AEREO LEO LOPEZ',''
|
||||
'8M','APEX AIRLINES',''
|
||||
'8N','NASHVILLE EAGLE,INC.',''
|
||||
'8P','POCONO AIRLINES',''
|
||||
'8R','WRA,INC.',''
|
||||
'8T','TRI AIR,INC.','SERVICE TEMPORARILY SUSPENDED'
|
||||
'8V','WRIGHT AIR SERVICE,INC.',''
|
||||
'9A','AIR ATLANTIC LTD.',''
|
||||
'9C','ICARUS FLYING SERVICE,LTD.',''
|
||||
'9D','DELTA AIR CHARTER LTD.',''
|
||||
'9E','EXPRESS AIRLINES I,INC.',''
|
||||
'9F','SKYCRAFT AIR TRANSPORT INC.',''
|
||||
'9K','CAPE AIR',''
|
||||
'9M','CENTRAL MOUNTAIN AIR LTD.',''
|
||||
'9N','TRANS STATES AIRLINES,INC.',''
|
||||
'9Q','TAQUAN AIR SERVICE,INC.',''
|
||||
'9S','SABOURIN LAKE AIRWAYS LTD.',''
|
||||
'9V','AIR SCHEFFERVILLE','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'GD','AIR SOUTH,INC.','NATL AIR TRANSPORTATION ASSOC,INC.'
|
||||
'VL','SUN PACIFIC AIRLINES,INC.',''
|
||||
'3D','EDGARTOWN AIR,INC.',''
|
||||
'4Q','TRANS NORTH AVIATION,LTD.','CARRIER PERFORMS SEASONAL SERVICE ONLY'
|
||||
'4R','RAVEN AIR,INC.',''
|
||||
'4X','L\'EXPRESS AIRLINES',''
|
||||
'5C','CONQUEST AIRLINES CORP.',''
|
||||
'7C','SIERRA VISTA AVIATION','SERVICE TEMPORARILY SUSPENDED'
|
||||
'MC','MILITARY AIRLIFT COMMAND (MAC)-U.S. DEPARTMENT OF THE AIR FORCE',''
|
9
sql-bench/Data/ATIS/airport.txt
Normal file
9
sql-bench/Data/ATIS/airport.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
'ATL','WILLIAM B. HARTSFIELD','ATLANTA,GEORGIA','GA','USA','EST'
|
||||
'BOS','LOGAN INTERNATIONAL','BOSTON,MASSACHUSETTS','MA','USA','EST'
|
||||
'BWI','BALTIMORE/WASHINGTON INTERNATIONAL','BALTIMORE,MARYLAND','MD','USA','EST'
|
||||
'DEN','STAPLETON INTERNATIONAL','DENVER,COLORADO','CO','USA','MST'
|
||||
'DFW','DALLAS/FORT WORTH INTERNATIONAL','DALLAS/FT. WORTH,TEXAS','TX','USA','CST'
|
||||
'OAK','METROPOLITAN OAKLAND INTERNATIONAL','OAKLAND,CALIFORNIA','CA','USA','PST'
|
||||
'PHL','PHILADELPHIA INTERNATIONAL','PHILADELPHIA PA/WILM\'TON,DE','PA','USA','EST'
|
||||
'PIT','GREATER PITTSBURGH','PITTSBURGH,PENNSYLVANIA','PA','USA','EST'
|
||||
'SFO','SAN FRANCISCO INTERNATIONAL','SAN FRANCISCO,CALIFORNIA','CA','USA','PST'
|
14
sql-bench/Data/ATIS/airport_service.txt
Normal file
14
sql-bench/Data/ATIS/airport_service.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
'MATL','ATL',9.0,'S',45
|
||||
'BBOS','BOS',3.0,'NE',30
|
||||
'DDFW','DFW',13.0,'NW',70
|
||||
'FDFW','DFW',17.0,'E',55
|
||||
'DDEN','DEN',6.5,'NE',30
|
||||
'PPHL','PHL',7.0,'SW',35
|
||||
'PPIT','PIT',17.0,'W',55
|
||||
'OOAK','OAK',10.0,'SE',15
|
||||
'OOAK','SFO',24.0,'SW',60
|
||||
'SSFO','SFO',8.0,'SE',30
|
||||
'SSFO','OAK',18.0,'SE',60
|
||||
'WWAS','BWI',32.0,'NE',50
|
||||
'BBWI','BWI',10.0,'S',25
|
||||
'','',0.0,'',0
|
11
sql-bench/Data/ATIS/city.txt
Normal file
11
sql-bench/Data/ATIS/city.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
'MATL','ATLANTA','GA','USA','EST'
|
||||
'BBOS','BOSTON','MA','USA','EST'
|
||||
'DDFW','DALLAS','TX','USA','CST'
|
||||
'FDFW','FORT WORTH','TX','USA','CST'
|
||||
'DDEN','DENVER','CO','USA','MST'
|
||||
'PPHL','PHILADELPHIA','PA','USA','EST'
|
||||
'PPIT','PITTSBURGH','PA','USA','EST'
|
||||
'SSFO','SAN FRANCISCO','CA','USA','PST'
|
||||
'OOAK','OAKLAND','CA','USA','PST'
|
||||
'WWAS','WASHINGTON','DC','USA','EST'
|
||||
'BBWI','BALTIMORE','MD','USA','EST'
|
27
sql-bench/Data/ATIS/class_of_service.txt
Normal file
27
sql-bench/Data/ATIS/class_of_service.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
'R',1,'SUPERSONIC AIRCRAFT'
|
||||
'P',2,'FIRST CLASS PREMIUM'
|
||||
'F',3,'FIRST CLASS'
|
||||
'A',4,'FIRST CLASS DISCOUNTED'
|
||||
'J',5,'BUSINESS CLASS PREMIUM'
|
||||
'C',6,'BUSINESS CLASS'
|
||||
'D',7,'BUSINESS CLASS DISCOUNTED'
|
||||
'S',8,'STANDARD CLASS'
|
||||
'W',9,'COACH ECONOMY CLASS PREMIUM'
|
||||
'FN',10,'FIRST CLASS NIGHT SERVICE'
|
||||
'Y',11,'COACH ECONOMY CLASS'
|
||||
'CN',12,'BUSINESS CLASS NIGHT SERVICE'
|
||||
'YN',13,'COACH ECONOMY CLASS NIGHT SERVICE'
|
||||
'B',14,'COACH ECONOMY CLASS DISCOUNTED'
|
||||
'H',15,'COACH ECONOMY CLASS DISCOUNTED'
|
||||
'Q',16,'COACH ECONOMY CLASS DISCOUNTED'
|
||||
'M',17,'COACH ECONOMY CLASS DISCOUNTED'
|
||||
'T',18,'COACH ECONOMY CLASS DISCOUNTED'
|
||||
'K',19,'THRIFT ECONOMY CLASS'
|
||||
'L',20,'THRIFT ECONOMY CLASS DISCOUNTED'
|
||||
'V',21,'THRIFT ECONOMY CLASS DISCOUNTED'
|
||||
'BN',22,'COACH ECONOMY CLASS DISCOUNTED NIGHT SERVICE'
|
||||
'QN',23,'COACH ECONOMY CLASS DISCOUNTED NIGHT SERVICE'
|
||||
'KN',24,'THRIFT ECONOMY CLASS DISCOUNTED NIGHT SERVICE'
|
||||
'VN',25,'THRIFT ECONOMY CLASS DISCOUNTED NIGHT SERVICE'
|
||||
'U',26,'SHUTTLE SERVICE (NO RESERVATION NEEDED - SEAT GUARANTEED)'
|
||||
'E',27,'SHUTTLE SERVICE (NO RESERVATION ALLOWED - SEAT TO BE CONFIRMED AT CHECK-IN)'
|
15
sql-bench/Data/ATIS/code_description.txt
Normal file
15
sql-bench/Data/ATIS/code_description.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
'-','A DASH IN A DAY CODE POSITION INDICATES NON-OPERATION ON THAT DAY'
|
||||
'AP','ADVANCE PURCHASE EXCURSION FARE'
|
||||
'CAD','CANADIAN DOLLARS'
|
||||
'EX','EXCURSION FARE'
|
||||
'H','HIGHEST LEVEL OF FARE HAVING MORE THAN ONE SEASONAL LEVEL'
|
||||
'J','THIRD LEVEL OF FARE HAVING MORE THAN THREE SEASONAL LEVELS'
|
||||
'K','SECOND LEVEL OF A FARE HAVING MORE THAN TWO SEASONAL LEVELS'
|
||||
'L','LOWEST LEVEL OF FARE HAVING MORE THAN ONE SEASONAL LEVEL'
|
||||
'MEP','MEXICAN PESOS'
|
||||
'O','SECOND LEVEL OF A FARE HAVING MORE THAN TWO SEASONAL LEVELS'
|
||||
'N','NIGHT SERVICE'
|
||||
'VU','VISIT USA FARE'
|
||||
'W','WHEN USED AS PART OF A FARE CLASS SUCH AS YW,INDICATES WEEKEND APPLICATION.'
|
||||
'X','WHEN USED AS PART OF A FARE CLASS SUCH AS YX,INDICATES WEEKDAY APPLICATION.'
|
||||
'U.S.','48 CONTIGUOUS STATES (NOT INCLUDING ALASKA AND HAWAII) UNLESS OTHERWISE NOTED.'
|
149
sql-bench/Data/ATIS/compound_class.txt
Normal file
149
sql-bench/Data/ATIS/compound_class.txt
Normal file
|
@ -0,0 +1,149 @@
|
|||
'A','A','FIRST','NO','NO','YES','NO','NONE','1234567'
|
||||
'AH','A','FIRST','NO','NO','YES','NO','HIGH','1234567'
|
||||
'AJ','A','FIRST','NO','NO','YES','NO','MID','1234567'
|
||||
'AL','A','FIRST','NO','NO','YES','NO','LOW','1234567'
|
||||
'B','B','COACH','NO','YES','YES','NO','NONE','1234567'
|
||||
'BH','B','COACH','NO','YES','YES','NO','HIGH','1234567'
|
||||
'BHW','B','COACH','NO','YES','YES','NO','HIGH','-----67'
|
||||
'BHX','B','COACH','NO','YES','YES','NO','HIGH','12345--'
|
||||
'BL','B','COACH','NO','YES','YES','NO','LOW','1234567'
|
||||
'BLW','B','COACH','NO','YES','YES','NO','LOW','-----67'
|
||||
'BLX','B','COACH','NO','YES','YES','NO','LOW','12345--'
|
||||
'BN','BN','COACH','NO','YES','YES','YES','NONE','1234567'
|
||||
'BO','B','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'BOW','B','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'BOX','B','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'BW','B','COACH','NO','YES','YES','NO','NONE','-----67'
|
||||
'BX','B','COACH','NO','YES','YES','NO','NONE','12345--'
|
||||
'C','C','BUSINESS','NO','NO','NO','NO','NONE','1234567'
|
||||
'CH','C','BUSINESS','NO','NO','NO','NO','HIGH','1234567'
|
||||
'CHW','C','BUSINESS','NO','NO','NO','NO','HIGH','-----67'
|
||||
'CHX','C','BUSINESS','NO','NO','NO','NO','HIGH','12345--'
|
||||
'CL','C','BUSINESS','NO','NO','NO','NO','LOW','1234567'
|
||||
'CLW','C','BUSINESS','NO','NO','NO','NO','LOW','-----67'
|
||||
'CLX','C','BUSINESS','NO','NO','NO','NO','LOW','12345--'
|
||||
'CN','CN','BUSINESS','NO','NO','NO','YES','NONE','1234567'
|
||||
'CO','C','BUSINESS','NO','NO','NO','NO','MID','1234567'
|
||||
'CW','C','BUSINESS','NO','NO','NO','NO','NONE','-----67'
|
||||
'CX','C','BUSINESS','NO','NO','NO','NO','NONE','12345--'
|
||||
'D','D','BUSINESS','NO','NO','YES','NO','NONE','1234567'
|
||||
'F','F','FIRST','NO','NO','NO','NO','NONE','1234567'
|
||||
'FH','F','FIRST','NO','NO','NO','NO','HIGH','1234567'
|
||||
'FHW','F','FIRST','NO','NO','NO','NO','HIGH','-----67'
|
||||
'FHX','F','FIRST','NO','NO','NO','NO','HIGH','12345--'
|
||||
'FL','F','FIRST','NO','NO','NO','NO','LOW','1234567'
|
||||
'FLW','F','FIRST','NO','NO','NO','NO','LOW','-----67'
|
||||
'FLX','F','FIRST','NO','NO','NO','NO','LOW','12345--'
|
||||
'FN','FN','FIRST','NO','NO','NO','YES','NONE','1234567'
|
||||
'FO','F','FIRST','NO','NO','NO','NO','MID','1234567'
|
||||
'FW','F','FIRST','NO','NO','NO','NO','NONE','-----67'
|
||||
'FX','F','FIRST','NO','NO','NO','NO','NONE','12345--'
|
||||
'H','H','COACH','NO','YES','YES','NO','NONE','1234567'
|
||||
'HH','H','COACH','NO','YES','YES','NO','HIGH','1234567'
|
||||
'HHW','H','COACH','NO','YES','YES','NO','HIGH','-----67'
|
||||
'HHX','H','COACH','NO','YES','YES','NO','HIGH','12345--'
|
||||
'HK','H','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'HKW','H','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'HKX','H','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'HL','H','COACH','NO','YES','YES','NO','LOW','1234567'
|
||||
'HLW','H','COACH','NO','YES','YES','NO','LOW','-----67'
|
||||
'HLX','H','COACH','NO','YES','YES','NO','LOW','12345--'
|
||||
'HO','H','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'HOW','H','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'HOX','H','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'HW','H','COACH','NO','YES','YES','NO','NONE','-----67'
|
||||
'HX','H','COACH','NO','YES','YES','NO','NONE','12345--'
|
||||
'J','J','BUSINESS','YES','NO','NO','NO','NONE','1234567'
|
||||
'JH','J','BUSINESS','YES','NO','NO','NO','HIGH','1234567'
|
||||
'JK','J','BUSINESS','YES','NO','NO','NO','MID','1234567'
|
||||
'JL','J','BUSINESS','YES','NO','NO','NO','LOW','1234567'
|
||||
'JO','J','BUSINESS','YES','NO','NO','NO','MID','1234567'
|
||||
'K','K','THRIFT','NO','YES','NO','NO','NONE','1234567'
|
||||
'KH','K','THRIFT','NO','YES','NO','NO','HIGH','1234567'
|
||||
'KHW','K','THRIFT','NO','YES','NO','NO','HIGH','-----67'
|
||||
'KHX','K','THRIFT','NO','YES','NO','NO','HIGH','12345--'
|
||||
'KL','K','THRIFT','NO','YES','NO','NO','LOW','1234567'
|
||||
'KLW','K','THRIFT','NO','YES','NO','NO','LOW','-----67'
|
||||
'KLX','K','THRIFT','NO','YES','NO','NO','LOW','12345--'
|
||||
'KN','KN','THRIFT','NO','YES','YES','YES','NONE','1234567'
|
||||
'KO','K','THRIFT','NO','YES','NO','NO','MID','1234567'
|
||||
'KW','K','THRIFT','NO','YES','NO','NO','NONE','-----67'
|
||||
'KX','K','THRIFT','NO','YES','NO','NO','NONE','12345--'
|
||||
'L','L','THRIFT','NO','YES','YES','NO','NONE','1234567'
|
||||
'LH','L','THRIFT','NO','YES','YES','NO','HIGH','1234567'
|
||||
'LHW','L','THRIFT','NO','YES','YES','NO','HIGH','-----67'
|
||||
'LHX','L','THRIFT','NO','YES','YES','NO','HIGH','12345--'
|
||||
'LL','L','THRIFT','NO','YES','YES','NO','LOW','1234567'
|
||||
'LLW','L','THRIFT','NO','YES','YES','NO','LOW','-----67'
|
||||
'LLX','L','THRIFT','NO','YES','YES','NO','LOW','12345--'
|
||||
'LO','L','THRIFT','NO','YES','YES','NO','MID','1234567'
|
||||
'LOW','L','THRIFT','NO','YES','YES','NO','MID','-----67'
|
||||
'LOX','L','THRIFT','NO','YES','YES','NO','MID','12345--'
|
||||
'LW','L','THRIFT','NO','YES','YES','NO','NONE','-----67'
|
||||
'LX','L','THRIFT','NO','YES','YES','NO','NONE','12345--'
|
||||
'M','M','COACH','NO','YES','YES','NO','NONE','1234567'
|
||||
'MH','M','COACH','NO','YES','YES','NO','HIGH','1234567'
|
||||
'MHW','M','COACH','NO','YES','YES','NO','HIGH','-----67'
|
||||
'MHX','M','COACH','NO','YES','YES','NO','HIGH','12345--'
|
||||
'MKW','M','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'MKX','M','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'ML','M','COACH','NO','YES','YES','NO','LOW','1234567'
|
||||
'MLW','M','COACH','NO','YES','YES','NO','LOW','-----67'
|
||||
'MLX','M','COACH','NO','YES','YES','NO','LOW','12345--'
|
||||
'MO','M','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'MOW','M','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'MOX','M','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'MW','M','COACH','NO','YES','YES','NO','NONE','-----67'
|
||||
'MX','M','COACH','NO','YES','YES','NO','NONE','12345--'
|
||||
'P','P','FIRST','YES','NO','NO','NO','NONE','1234567'
|
||||
'Q','Q','COACH','NO','YES','YES','NO','NONE','1234567'
|
||||
'QH','Q','COACH','NO','YES','YES','NO','HIGH','1234567'
|
||||
'QHW','Q','COACH','NO','YES','YES','NO','HIGH','-----67'
|
||||
'QHX','Q','COACH','NO','YES','YES','NO','HIGH','12345--'
|
||||
'QL','Q','COACH','NO','YES','YES','NO','LOW','1234567'
|
||||
'QLW','Q','COACH','NO','YES','YES','NO','LOW','-----67'
|
||||
'QLX','Q','COACH','NO','YES','YES','NO','LOW','12345--'
|
||||
'QN','QN','COACH','NO','YES','YES','YES','NONE','1234567'
|
||||
'QO','Q','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'QOW','Q','COACH','NO','YES','YES','NO','MID','-----67'
|
||||
'QOX','Q','COACH','NO','YES','YES','NO','MID','12345--'
|
||||
'QW','Q','COACH','NO','YES','YES','NO','NONE','-----67'
|
||||
'QX','Q','COACH','NO','YES','YES','NO','NONE','12345--'
|
||||
'R','R','SUPERSONIC','NO','NO','NO','NO','NONE','1234567'
|
||||
'S','S','STANDARD','NO','NO','NO','NO','NONE','1234567'
|
||||
'SH','S','STANDARD','NO','NO','NO','NO','HIGH','1234567'
|
||||
'SL','S','STANDARD','NO','NO','NO','NO','LOW','1234567'
|
||||
'T','T','COACH','NO','YES','YES','NO','NONE','1234567'
|
||||
'TH','T','COACH','NO','YES','YES','NO','HIGH','1234567'
|
||||
'TL','T','COACH','NO','YES','YES','NO','LOW','1234567'
|
||||
'TO','T','COACH','NO','YES','YES','NO','MID','1234567'
|
||||
'V','V','THRIFT','NO','YES','YES','NO','NONE','1234567'
|
||||
'VH','V','THRIFT','NO','YES','YES','NO','HIGH','1234567'
|
||||
'VHW','V','THRIFT','NO','YES','YES','NO','HIGH','-----67'
|
||||
'VHX','V','THRIFT','NO','YES','YES','NO','HIGH','12345--'
|
||||
'VK','V','THRIFT','NO','YES','YES','NO','MID','1234567'
|
||||
'VL','V','THRIFT','NO','YES','YES','NO','LOW','1234567'
|
||||
'VLW','V','THRIFT','NO','YES','YES','NO','LOW','-----67'
|
||||
'VLX','V','THRIFT','NO','YES','YES','NO','LOW','12345--'
|
||||
'VO','V','THRIFT','NO','YES','YES','NO','MID','1234567'
|
||||
'VOW','V','THRIFT','NO','YES','YES','NO','MID','-----67'
|
||||
'VOX','V','THRIFT','NO','YES','YES','NO','MID','12345--'
|
||||
'VW','V','THRIFT','NO','YES','YES','NO','NONE','-----67'
|
||||
'VX','V','THRIFT','NO','YES','YES','NO','NONE','12345--'
|
||||
'Y','Y','COACH','NO','YES','NO','NO','NONE','1234567'
|
||||
'YH','Y','COACH','NO','YES','NO','NO','HIGH','1234567'
|
||||
'YHW','Y','COACH','NO','YES','NO','NO','HIGH','-----67'
|
||||
'YHX','Y','COACH','NO','YES','NO','NO','HIGH','12345--'
|
||||
'YJ','Y','COACH','NO','YES','NO','NO','MID','1234567'
|
||||
'YJW','Y','COACH','NO','YES','NO','NO','MID','-----67'
|
||||
'YJX','Y','COACH','NO','YES','NO','NO','MID','12345--'
|
||||
'YK','Y','COACH','NO','YES','NO','NO','MID','1234567'
|
||||
'YL','Y','COACH','NO','YES','NO','NO','LOW','1234567'
|
||||
'YLW','Y','COACH','NO','YES','NO','NO','LOW','-----67'
|
||||
'YLX','Y','COACH','NO','YES','NO','NO','LOW','12345--'
|
||||
'YN','YN','COACH','NO','YES','NO','YES','NONE','1234567'
|
||||
'YO','Y','COACH','NO','YES','NO','NO','MID','1234567'
|
||||
'YOW','Y','COACH','NO','YES','NO','NO','MID','-----67'
|
||||
'YOX','Y','COACH','NO','YES','NO','NO','MID','12345--'
|
||||
'YW','Y','COACH','NO','YES','NO','NO','NONE','-----67'
|
||||
'YX','Y','COACH','NO','YES','NO','NO','NONE','12345--'
|
351
sql-bench/Data/ATIS/connect_leg.txt
Normal file
351
sql-bench/Data/ATIS/connect_leg.txt
Normal file
|
@ -0,0 +1,351 @@
|
|||
305276,1,106231
|
||||
305276,2,137225
|
||||
305277,1,106237
|
||||
305277,2,137231
|
||||
305280,1,106247
|
||||
305280,2,137237
|
||||
305416,1,112030
|
||||
305416,1,112031
|
||||
305416,2,112773
|
||||
305424,1,112033
|
||||
305424,2,112784
|
||||
305429,1,112040
|
||||
305429,2,112793
|
||||
305429,2,112794
|
||||
305435,1,112046
|
||||
305435,2,112806
|
||||
305436,1,112051
|
||||
305436,2,112808
|
||||
306026,1,133430
|
||||
306026,2,111891
|
||||
306031,1,133432
|
||||
306031,2,111896
|
||||
306304,1,144155
|
||||
306304,2,112766
|
||||
306307,1,144143
|
||||
306307,2,111891
|
||||
306309,1,144158
|
||||
306309,2,112784
|
||||
306314,1,144163
|
||||
306314,2,112793
|
||||
306314,2,112794
|
||||
306317,1,144167
|
||||
306317,2,112805
|
||||
306318,1,144150
|
||||
306318,2,111896
|
||||
306319,1,144169
|
||||
306319,2,112808
|
||||
308292,1,112766
|
||||
308292,2,101952
|
||||
308296,1,112773
|
||||
308296,2,101953
|
||||
308301,1,112784
|
||||
308301,2,101955
|
||||
308304,1,112793
|
||||
308304,1,112794
|
||||
308304,2,101958
|
||||
308320,1,112030
|
||||
308320,1,112031
|
||||
308320,2,112904
|
||||
308330,1,111892
|
||||
308330,2,101955
|
||||
308334,1,112040
|
||||
308334,2,112907
|
||||
308924,1,133432
|
||||
308924,2,111941
|
||||
309189,1,144060
|
||||
309189,2,101955
|
||||
309198,1,144163
|
||||
309198,2,112907
|
||||
309204,1,144150
|
||||
309204,2,111941
|
||||
312733,1,102767
|
||||
312733,2,137320
|
||||
312734,1,102771
|
||||
312734,2,137326
|
||||
312737,1,102777
|
||||
312737,2,137335
|
||||
313006,1,112805
|
||||
313006,2,101929
|
||||
313024,1,111886
|
||||
313024,2,101909
|
||||
313025,1,112030
|
||||
313025,1,112031
|
||||
313025,2,112866
|
||||
313025,2,112867
|
||||
313030,1,111888
|
||||
313030,2,101916
|
||||
313030,2,101917
|
||||
313034,1,112033
|
||||
313034,2,112870
|
||||
313037,1,111892
|
||||
313037,2,101922
|
||||
313041,1,112040
|
||||
313041,2,112873
|
||||
313048,1,111895
|
||||
313048,2,101929
|
||||
313867,1,133430
|
||||
313867,2,111928
|
||||
314256,1,144143
|
||||
314256,2,111928
|
||||
314259,1,144158
|
||||
314259,2,112870
|
||||
314263,1,144060
|
||||
314263,2,101922
|
||||
314268,1,144163
|
||||
314268,2,112873
|
||||
314269,1,144148
|
||||
314269,2,111931
|
||||
329933,1,107159
|
||||
329933,2,102144
|
||||
329937,1,107162
|
||||
329937,2,102150
|
||||
329941,1,107165
|
||||
329941,2,102166
|
||||
329944,1,107166
|
||||
329944,2,102177
|
||||
329947,1,107168
|
||||
329947,2,102191
|
||||
330865,1,133430
|
||||
330865,2,112034
|
||||
330867,1,133431
|
||||
330867,2,112043
|
||||
330870,1,133432
|
||||
330870,2,112049
|
||||
330947,1,137221
|
||||
330947,2,102144
|
||||
330956,1,137224
|
||||
330956,2,102150
|
||||
330962,1,137228
|
||||
330962,2,102166
|
||||
330964,1,137230
|
||||
330964,2,102173
|
||||
330967,1,137233
|
||||
330967,2,102177
|
||||
330971,1,137235
|
||||
330971,2,102190
|
||||
330974,1,137238
|
||||
330974,2,102191
|
||||
330977,1,138817
|
||||
330977,2,102144
|
||||
330981,1,138821
|
||||
330981,2,102150
|
||||
330984,1,138823
|
||||
330984,2,102166
|
||||
330989,1,138830
|
||||
330989,1,138831
|
||||
330989,2,102191
|
||||
331132,1,144143
|
||||
331132,2,112034
|
||||
331133,1,144148
|
||||
331133,2,112043
|
||||
331134,1,144150
|
||||
331134,2,112049
|
||||
333051,1,102136
|
||||
333051,1,102137
|
||||
333051,2,112992
|
||||
333054,1,102148
|
||||
333054,2,113000
|
||||
333059,1,102162
|
||||
333059,1,102163
|
||||
333059,2,113003
|
||||
333067,1,102190
|
||||
333067,2,113012
|
||||
333067,2,113013
|
||||
333086,1,107159
|
||||
333086,2,102122
|
||||
333091,1,107258
|
||||
333091,2,113000
|
||||
333099,1,107165
|
||||
333099,2,102127
|
||||
333110,1,107168
|
||||
333110,2,102135
|
||||
333153,1,105700
|
||||
333153,2,107255
|
||||
333158,1,105592
|
||||
333158,2,102127
|
||||
333168,1,105599
|
||||
333168,2,102135
|
||||
334183,1,137221
|
||||
334183,2,102122
|
||||
334190,1,137354
|
||||
334190,2,107255
|
||||
334198,1,137233
|
||||
334198,2,102133
|
||||
334202,1,137238
|
||||
334202,2,102135
|
||||
334210,1,138817
|
||||
334210,2,102122
|
||||
334218,1,138879
|
||||
334218,2,107255
|
||||
334222,1,138823
|
||||
334222,2,102127
|
||||
334230,1,138830
|
||||
334230,1,138831
|
||||
334230,2,102135
|
||||
393490,1,102125
|
||||
393490,2,112352
|
||||
393507,1,107254
|
||||
393507,2,112352
|
||||
393546,1,105794
|
||||
393546,2,112352
|
||||
393547,1,105795
|
||||
393547,2,112352
|
||||
393553,1,105799
|
||||
393553,2,112354
|
||||
393637,1,112991
|
||||
393637,2,112351
|
||||
393641,1,113004
|
||||
393641,2,112353
|
||||
393643,1,113008
|
||||
393643,2,112354
|
||||
393950,1,137407
|
||||
393950,2,112352
|
||||
393953,1,137412
|
||||
393953,2,112354
|
||||
402327,1,112766
|
||||
402327,2,102770
|
||||
402332,1,112773
|
||||
402332,2,102773
|
||||
402339,1,112784
|
||||
402339,2,102776
|
||||
402343,1,112790
|
||||
402343,2,102779
|
||||
402346,1,112793
|
||||
402346,1,112794
|
||||
402346,2,102782
|
||||
402350,1,112805
|
||||
402350,2,102784
|
||||
402376,1,112030
|
||||
402376,1,112031
|
||||
402376,2,113577
|
||||
402382,1,111888
|
||||
402382,2,102773
|
||||
402388,1,111892
|
||||
402388,2,102776
|
||||
402391,1,111939
|
||||
402391,2,107478
|
||||
402397,1,112046
|
||||
402397,2,113583
|
||||
402398,1,111895
|
||||
402398,2,102784
|
||||
403125,1,133430
|
||||
403125,2,112415
|
||||
403128,1,133431
|
||||
403128,2,112417
|
||||
403468,1,144143
|
||||
403468,2,112415
|
||||
403472,1,144158
|
||||
403472,2,113579
|
||||
403474,1,144060
|
||||
403474,2,102776
|
||||
403479,1,144148
|
||||
403479,2,112417
|
||||
403481,1,144062
|
||||
403481,1,144063
|
||||
403481,2,102782
|
||||
403485,1,144167
|
||||
403485,2,113583
|
||||
403486,1,144066
|
||||
403486,2,102784
|
||||
403488,1,144067
|
||||
403488,2,102766
|
||||
405211,1,112773
|
||||
405211,2,102800
|
||||
405214,1,112784
|
||||
405214,2,102802
|
||||
405214,2,102803
|
||||
405217,1,112793
|
||||
405217,1,112794
|
||||
405217,2,102807
|
||||
405219,1,112805
|
||||
405219,2,102809
|
||||
405235,1,111886
|
||||
405235,2,102795
|
||||
405236,1,111886
|
||||
405236,2,102796
|
||||
405241,1,111888
|
||||
405241,2,102800
|
||||
405250,1,111892
|
||||
405250,2,102802
|
||||
405250,2,102803
|
||||
405253,1,111939
|
||||
405253,2,107492
|
||||
405258,1,111895
|
||||
405258,2,102809
|
||||
405963,1,144060
|
||||
405963,2,102802
|
||||
405963,2,102803
|
||||
405970,1,144066
|
||||
405970,2,102809
|
||||
405971,1,144067
|
||||
405971,2,102796
|
||||
420730,1,102136
|
||||
420730,1,102137
|
||||
420730,2,113705
|
||||
420735,1,102148
|
||||
420735,2,113712
|
||||
420736,1,102125
|
||||
420736,2,112516
|
||||
420739,1,102162
|
||||
420739,1,102163
|
||||
420739,2,113715
|
||||
420745,1,102173
|
||||
420745,2,113719
|
||||
420747,1,102129
|
||||
420747,2,112526
|
||||
420751,1,102190
|
||||
420751,2,113721
|
||||
420782,1,107486
|
||||
420782,2,139353
|
||||
420783,1,107258
|
||||
420783,2,113712
|
||||
420785,1,107254
|
||||
420785,2,112516
|
||||
420791,1,107165
|
||||
420791,2,102929
|
||||
420792,1,107487
|
||||
420792,2,139355
|
||||
420798,1,107489
|
||||
420798,2,139356
|
||||
420887,1,105802
|
||||
420887,2,113712
|
||||
420888,1,105794
|
||||
420888,2,112516
|
||||
420893,1,105805
|
||||
420893,2,113715
|
||||
420894,1,106266
|
||||
420894,2,139355
|
||||
420903,1,105595
|
||||
420903,2,102932
|
||||
420911,1,105799
|
||||
420911,2,112526
|
||||
420912,1,105812
|
||||
420912,2,113721
|
||||
421176,1,112991
|
||||
421176,2,112513
|
||||
421177,1,112998
|
||||
421177,2,112516
|
||||
421179,1,113004
|
||||
421179,2,112524
|
||||
421180,1,113008
|
||||
421180,2,112526
|
||||
421181,1,113010
|
||||
421181,2,112527
|
||||
422233,1,137221
|
||||
422233,2,102923
|
||||
422233,2,102924
|
||||
422240,1,137415
|
||||
422240,2,113712
|
||||
422241,1,137407
|
||||
422241,2,112516
|
||||
422249,1,137228
|
||||
422249,2,102929
|
||||
422262,1,137412
|
||||
422262,2,112526
|
||||
422263,1,137423
|
||||
422263,2,113721
|
||||
422277,1,138821
|
||||
422277,2,102927
|
||||
422281,1,138823
|
||||
422281,2,102929
|
1826
sql-bench/Data/ATIS/date_day.txt
Normal file
1826
sql-bench/Data/ATIS/date_day.txt
Normal file
File diff suppressed because it is too large
Load diff
7
sql-bench/Data/ATIS/day_name.txt
Normal file
7
sql-bench/Data/ATIS/day_name.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
1,'MONDAY'
|
||||
2,'TUESDAY'
|
||||
3,'WEDNESDAY'
|
||||
4,'THURSDAY'
|
||||
5,'FRIDAY'
|
||||
6,'SATURDAY'
|
||||
7,'SUNDAY'
|
114
sql-bench/Data/ATIS/dual_carrier.txt
Normal file
114
sql-bench/Data/ATIS/dual_carrier.txt
Normal file
|
@ -0,0 +1,114 @@
|
|||
'AA','AA',3000,5799,'AMERICAN EAGLE'
|
||||
'AC','RJ',1001,1010,'AIR CANADA'
|
||||
'AC','CS',1100,1199,'AIR CANADA'
|
||||
'AC','GX',1200,1499,'AIR CANADA'
|
||||
'AC','ZX',1500,1799,'AIR CANADA'
|
||||
'AC','QK',1800,1899,'AIR CANADA'
|
||||
'AC','3J',1900,1949,'AIR CANADA'
|
||||
'AC','3J',1977,1981,'AIR CANADA'
|
||||
'AC','3J',1990,1999,'AIR CANADA'
|
||||
'AC','NV',1950,1976,'AIR CANADA'
|
||||
'AC','NV',1982,1989,'AIR CANADA'
|
||||
'AQ','WP',1000,1999,'ALOHA AIRLINES,INC'
|
||||
'AS','QX',2000,2199,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','QX',2260,2999,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','BF',2200,2259,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','BF',4000,4199,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','JF',4400,4499,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','KN',4500,4599,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','8E',4600,4699,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'AS','7H',4800,4899,'ALASKA AIRLINES COMMUTER SERVICE'
|
||||
'BA','BE',8001,8002,'BRITISH AIRWAYS'
|
||||
'BA','BE',8004,8004,'BRITISH AIRWAYS'
|
||||
'BA','UA',8022,8022,'BRITISH AIRWAYS'
|
||||
'BA','UA',8154,8155,'BRITISH AIRWAYS'
|
||||
'BA','UA',8159,8159,'BRITISH AIRWAYS'
|
||||
'BA','UA',8235,8235,'BRITISH AIRWAYS'
|
||||
'BA','UA',8243,8243,'BRITISH AIRWAYS'
|
||||
'BA','UA',8246,8246,'BRITISH AIRWAYS'
|
||||
'BA','UA',8064,8064,'BRITISH AIRWAYS'
|
||||
'BA','UA',8269,8269,'BRITISH AIRWAYS'
|
||||
'BA','UA',8300,8300,'BRITISH AIRWAYS'
|
||||
'BF','2E',1100,1399,'MARKAIR,INC.'
|
||||
'BF','2E',1800,1899,'MARKAIR,INC.'
|
||||
'CO','CO',950,967,'CONTINENTAL AIRLINES/AIR MICRONESIA'
|
||||
'CO','CO',970,997,'CONTINENTAL AIRLINES/AIR MICRONESIA'
|
||||
'CO','CO',1880,1899,'CONTINENTAL AIRLINES/AIR MICRONESIA'
|
||||
'CO','CO',3300,3399,'CONTINENTAL AIRLINES/AIR MICRONESIA'
|
||||
'CO','SK',8900,8949,'CONTINENTAL AIRLINES/SAS SCANDINAVIAN AIRLINES SYSTEM'
|
||||
'CO','SK',9000,9125,'CONTINENTAL AIRLINES/SAS SCANDINAVIAN AIRLINES SYSTEM'
|
||||
'CO','SK',9370,9435,'CONTINENTAL AIRLINES/SAS SCANDINAVIAN AIRLINES SYSTEM'
|
||||
'CO','JC',2000,2499,'CONTINENTAL EXPRESS'
|
||||
'CO','RU',2500,2799,'CONTINENTAL EXPRESS'
|
||||
'CO','RU',3000,3025,'CONTINENTAL EXPRESS'
|
||||
'CO','RU',4400,4999,'CONTINENTAL EXPRESS'
|
||||
'CO','CO',2800,2999,'CONTINENTAL EXPRESS/RESORT EXPRESS'
|
||||
'CO','CO',3026,3099,'CONTINENTAL EXPRESS/HOME JAMES'
|
||||
'CO','CO',3100,3199,'CONTINENTAL EXPRESS/COLORADO MOUNTAIN EXPRESS'
|
||||
'CO','6J',3200,3299,'CONTINENTAL EXPRESS/SOUTHERN JERSEY AIRWAYS,INC.'
|
||||
'CO','QO',3400,3999,'CONTINENTAL EXPRESS/BAR HARBOR AIRLINES'
|
||||
'CP','SK',68,69,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','LH',144,145,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',950,951,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',954,955,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',957,958,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',960,961,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',963,964,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',967,968,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',983,983,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',986,986,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',988,988,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',991,992,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','WD',994,995,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','PJ',1001,1010,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','KI',1100,1272,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','KI',1274,1274,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','KI',1276,1276,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','KI',1278,1283,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','KI',1285,1288,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','MO',1300,1359,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','9A',1400,1499,'CANADIAN AIRLINES INTERNATIONAL LTD. CANADIAN PARTNERS'
|
||||
'CP','CP',1800,1999,'CANADIAN AIRLINES INTERNATIONAL LTD./ONTARIO EXPRESS LTD.'
|
||||
'DL','EV',2000,2999,'DELTA CONNECTION'
|
||||
'DL','OH',3000,3699,'DELTA CONNECTION'
|
||||
'DL','HQ',4300,4999,'DELTA CONNECTION'
|
||||
'DL','OO',5200,5999,'DELTA CONNECTION'
|
||||
'EA','LI',2300,2399,'EASTERN EXPRESS'
|
||||
'EA','HY',2900,3299,'EASTERN EXPRESS'
|
||||
'EA','QO',3700,3999,'EASTERN EXPRESS'
|
||||
'KL','UK',2843,2843,'KLM-ROYAL DUTCH AIRLINES'
|
||||
'KL','UK',2845,2845,'KLM-ROYAL DUTCH AIRLINES'
|
||||
'KL','UK',2847,2847,'KLM-ROYAL DUTCH AIRLINES'
|
||||
'ML','JT',1500,1550,'THE MIDWAY CONNECTION/IOWA AIRWAYS'
|
||||
'ML','ML',1600,1999,'THE MIDWAY CONNECTION/MIDWAY COMMUTER/FISCHER BROS. AVIATION'
|
||||
'ND','QR',240,259,'INTAIR'
|
||||
'ND','ND',940,959,'INTAIR/ALEXANDAIR,INC.'
|
||||
'NW','QX',2000,2399,'NORTHWEST AIRLINES'
|
||||
'NW','US',4000,4999,'NORTHWEST AIRLINES'
|
||||
'NW','9E',2500,2999,'NORTHWEST AIRLINK'
|
||||
'NW','XJ',3000,3399,'NORTHWEST AIRLINK'
|
||||
'NW','RP',3500,3799,'NORTHWEST AIRLINK'
|
||||
'NW','GQ',3800,3999,'NORTHWEST AIRLINK'
|
||||
'PA','RZ',270,271,'PAN AM EXPRESS,INC.'
|
||||
'PA','RZ',4500,4999,'PAN AM EXPRESS,INC.'
|
||||
'PA','MA',4072,4073,'PAN AMERICAN WORLD AIRWAYS,INC./MALEV-HUNGARIAN AIRLINES'
|
||||
'PA','JP',4076,4077,'PAN AMERICAN WORLD AIRWAYS,INC./ADRIA AIRWAYS'
|
||||
'QF','AA',301,302,'QANTAS AIRWAYS LTD.'
|
||||
'QK','QK',803,804,'AIR NOVA INC./NEWFOUNDLAND LABRADOR AIR TRANSPORT,LTD.'
|
||||
'QY','QY',600,615,'AERO VIRGIN ISLANDS CORP./TAINO AIRWAYS'
|
||||
'TW','US',8150,8155,'TRANS WORLD AIRLINES,INC.'
|
||||
'TW','US',8156,8199,'TRANS WORLD AIRLINES,INC.'
|
||||
'TW','9N',7000,7199,'TRANS WORLD EXPRESS,'
|
||||
'TW','ZV',7300,7499,'TRANS WORLD EXPRESS,'
|
||||
'TW','JI',7550,7569,'TRANS WORLD EXPRESS,'
|
||||
'TW','8P',7570,7699,'TRANS WORLD EXPRESS,'
|
||||
'TW','SS',7750,7949,'TRANS WORLD EXPRESS,'
|
||||
'UA','XV',2100,2349,'UNITED EXPRESS'
|
||||
'UA','NO',2375,2624,'UNITED EXPRESS'
|
||||
'UA','ZW',2640,3099,'UNITED EXPRESS'
|
||||
'UA','OE',3100,3569,'UNITED EXPRESS'
|
||||
'UA','AP',3640,3999,'UNITED EXPRESS'
|
||||
'US','US',3000,4999,'USAIR EXPRESS'
|
||||
'YX','YX',1000,1999,'MIDWEST EXPRESS CONNECTION/SKYWAY AIRLINES INC.'
|
||||
'2F','2F',526,529,'FRONTIER FLYING SERVICE/TATONDUK AIR SERVICE'
|
||||
'','',0,0,''
|
534
sql-bench/Data/ATIS/fare.txt
Normal file
534
sql-bench/Data/ATIS/fare.txt
Normal file
|
@ -0,0 +1,534 @@
|
|||
'7100001','ATL','BOS','F','','',497.00,994.00
|
||||
'7100002','ATL','BOS','FN','','',348.00,696.00
|
||||
'7100003','ATL','BOS','Y','','',331.00,662.00
|
||||
'7100004','ATL','BOS','YN','','',266.00,532.00
|
||||
'7100005','ATL','BOS','K','','AP/57',0.00,388.00
|
||||
'7100006','ATL','BOS','KO','','AP/57',0.00,368.00
|
||||
'7100007','ATL','BOS','QW','','AP/57',0.00,268.00
|
||||
'7100008','ATL','BOS','QX','','AP/57',0.00,248.00
|
||||
'7100009','ATL','BOS','B','','VU/1',230.00,0.00
|
||||
'7100010','ATL','BOS','Y','','VU/1',226.00,0.00
|
||||
'7100011','ATL','BWI','F','','',428.00,856.00
|
||||
'7100012','ATL','BWI','FN','','',299.00,598.00
|
||||
'7100013','ATL','BWI','Y','','',286.00,572.00
|
||||
'7100014','ATL','BWI','YN','','',230.00,460.00
|
||||
'7100015','ATL','BWI','QW','','AP/57',0.00,248.00
|
||||
'7100016','ATL','BWI','QX','','AP/57',0.00,208.00
|
||||
'7100017','ATL','BWI','B','','VU/1',199.00,0.00
|
||||
'7100018','ATL','BWI','Y','','VU/1',196.00,0.00
|
||||
'7100019','ATL','DEN','F','UA','',685.00,1370.00
|
||||
'7100020','ATL','DEN','F','','',677.00,1354.00
|
||||
'7100021','ATL','DEN','FN','','',475.00,950.00
|
||||
'7100022','ATL','DEN','Y','UA','',457.00,914.00
|
||||
'7100023','ATL','DEN','Y','','',452.00,904.00
|
||||
'7100024','ATL','DEN','B','DL','',435.00,870.00
|
||||
'7100025','ATL','DEN','H','EA','',410.00,820.00
|
||||
'7100026','ATL','DEN','M','DL','',410.00,820.00
|
||||
'7100027','ATL','DEN','YN','','',361.00,722.00
|
||||
'7100028','ATL','DEN','MW','','AP/57',0.00,438.00
|
||||
'7100029','ATL','DEN','MX','','AP/57',0.00,378.00
|
||||
'7100030','ATL','DEN','QW','','AP/57',0.00,298.00
|
||||
'7100031','ATL','DEN','QX','','AP/57',0.00,238.00
|
||||
'7100032','ATL','DEN','B','','VU/1',314.00,0.00
|
||||
'7100033','ATL','DEN','Y','','VU/1',314.00,0.00
|
||||
'7100034','ATL','DEN','B','','AP/55',304.00,0.00
|
||||
'7100035','ATL','DEN','H','','AP/55',228.00,0.00
|
||||
'7100036','ATL','DFW','F','AA','',512.00,1024.00
|
||||
'7100037','ATL','DFW','F','DL','',504.00,1008.00
|
||||
'7100038','ATL','DFW','F','','',503.00,1006.00
|
||||
'7100039','ATL','DFW','FN','AA','',360.00,720.00
|
||||
'7100040','ATL','DFW','FN','','',352.00,704.00
|
||||
'7100041','ATL','DFW','Y','','',341.00,682.00
|
||||
'7100042','ATL','DFW','Y','DL','',336.00,672.00
|
||||
'7100043','ATL','DFW','YN','AA','',277.00,554.00
|
||||
'7100044','ATL','DFW','YN','','',272.00,544.00
|
||||
'7100045','ATL','DFW','QW','','AP/80',0.00,268.00
|
||||
'7100046','ATL','DFW','QX','','AP/80',0.00,228.00
|
||||
'7100047','ATL','DFW','B','','VU/1',233.00,0.00
|
||||
'7100048','ATL','DFW','Y','AA','VU/1',233.00,0.00
|
||||
'7100049','ATL','DFW','M','','VU/1',233.00,0.00
|
||||
'7100050','ATL','DFW','Y','','VU/1',222.00,0.00
|
||||
'7100051','ATL','OAK','F','UA','',843.00,1686.00
|
||||
'7100052','ATL','OAK','Y','UA','',557.00,1114.00
|
||||
'7100053','ATL','OAK','QW','','AP/80',0.00,398.00
|
||||
'7100054','ATL','OAK','QX','','AP/80',0.00,348.00
|
||||
'7100055','ATL','OAK','B','','AP/68',503.00,0.00
|
||||
'7100056','ATL','OAK','B','','VU/1',387.00,0.00
|
||||
'7100057','ATL','OAK','Y','','VU/1',376.00,0.00
|
||||
'7100058','ATL','PHL','F','US','',465.00,930.00
|
||||
'7100059','ATL','PHL','F','','',449.00,898.00
|
||||
'7100060','ATL','PHL','FN','','',314.00,628.00
|
||||
'7100061','ATL','PHL','Y','','',295.00,590.00
|
||||
'7100062','ATL','PHL','Y','US','',290.00,580.00
|
||||
'7100063','ATL','PHL','YN','','',243.00,486.00
|
||||
'7100064','ATL','PHL','KW','','AP/57',0.00,268.00
|
||||
'7100065','ATL','PHL','QW','','AP/80',0.00,268.00
|
||||
'7100066','ATL','PHL','QW','','AP/57',0.00,268.00
|
||||
'7100067','ATL','PHL','KX','','AP/57',0.00,228.00
|
||||
'7100068','ATL','PHL','QX','','AP/57',0.00,228.00
|
||||
'7100069','ATL','PHL','QX','','AP/80',0.00,228.00
|
||||
'7100070','ATL','PHL','B','','VU/1',205.00,0.00
|
||||
'7100071','ATL','PHL','Y','','VU/1',205.00,0.00
|
||||
'7100072','ATL','PIT','F','','',416.00,832.00
|
||||
'7100073','ATL','PIT','FN','','',291.00,582.00
|
||||
'7100074','ATL','PIT','Y','','',274.00,548.00
|
||||
'7100075','ATL','PIT','YN','','',217.00,434.00
|
||||
'7100076','ATL','PIT','KW','','AP/57',0.00,268.00
|
||||
'7100077','ATL','PIT','QW','','AP/57',0.00,248.00
|
||||
'7100078','ATL','PIT','KX','','AP/57',0.00,228.00
|
||||
'7100079','ATL','PIT','QX','','AP/57',0.00,208.00
|
||||
'7100080','ATL','PIT','B','','VU/1',190.00,0.00
|
||||
'7100081','ATL','PIT','Y','','VU/1',190.00,0.00
|
||||
'7100082','ATL','SFO','F','','',828.00,1656.00
|
||||
'7100083','ATL','SFO','Y','','',552.00,1104.00
|
||||
'7100084','ATL','SFO','QW','','AP/57',0.00,398.00
|
||||
'7100085','ATL','SFO','QX','','AP/57',0.00,358.00
|
||||
'7100086','ATL','SFO','K','','AP/68',435.00,0.00
|
||||
'7100087','ATL','SFO','Q','','AP/68',435.00,0.00
|
||||
'7100088','ATL','SFO','B','','VU/1',383.00,0.00
|
||||
'7100089','ATL','SFO','Y','','VU/1',376.00,0.00
|
||||
'7100090','BOS','ATL','F','','',497.00,994.00
|
||||
'7100091','BOS','ATL','FN','','',348.00,696.00
|
||||
'7100092','BOS','ATL','Y','','',331.00,662.00
|
||||
'7100093','BOS','ATL','YN','','',266.00,532.00
|
||||
'7100094','BOS','ATL','K','','AP/57',0.00,388.00
|
||||
'7100095','BOS','ATL','KO','','AP/57',0.00,368.00
|
||||
'7100096','BOS','ATL','QW','','AP/57',0.00,268.00
|
||||
'7100097','BOS','ATL','QX','','AP/57',0.00,248.00
|
||||
'7100098','BOS','ATL','B','','VU/1',230.00,0.00
|
||||
'7100099','BOS','ATL','Y','','VU/1',226.00,0.00
|
||||
'7100100','BOS','BWI','F','','',368.00,736.00
|
||||
'7100101','BOS','BWI','Y','','',161.00,322.00
|
||||
'7100102','BOS','BWI','Y','','VU/1',109.00,0.00
|
||||
'7100103','BOS','DEN','F','','',713.00,1426.00
|
||||
'7100104','BOS','DEN','Y','','',475.00,950.00
|
||||
'7100105','BOS','DEN','QW','','AP/80',0.00,378.00
|
||||
'7100106','BOS','DEN','QX','','AP/80',0.00,338.00
|
||||
'7100107','BOS','DEN','B','','VU/1',379.00,0.00
|
||||
'7100108','BOS','DEN','Y','','VU/1',326.00,0.00
|
||||
'7100109','BOS','DFW','F','AA','',773.00,1546.00
|
||||
'7100110','BOS','DFW','F','DL','',765.00,1530.00
|
||||
'7100111','BOS','DFW','Y','AA','',515.00,1030.00
|
||||
'7100112','BOS','DFW','Y','DL','',510.00,1020.00
|
||||
'7100113','BOS','DFW','B','','VU/1',354.00,0.00
|
||||
'7100114','BOS','DFW','Y','','VU/1',354.00,0.00
|
||||
'7100115','BOS','PHL','F','','',210.00,420.00
|
||||
'7100116','BOS','PHL','Y','DL','',147.00,294.00
|
||||
'7100117','BOS','PHL','B','DL','',140.00,280.00
|
||||
'7100118','BOS','PHL','K','','',140.00,280.00
|
||||
'7100119','BOS','PHL','Y','DL','',140.00,280.00
|
||||
'7100120','BOS','PHL','Y','','',140.00,280.00
|
||||
'7100121','BOS','PHL','B','','AP/75',0.00,270.00
|
||||
'7100122','BOS','PHL','B','DL','',129.00,258.00
|
||||
'7100123','BOS','PHL','B','US','',109.00,218.00
|
||||
'7100124','BOS','PHL','M','ML','',109.00,218.00
|
||||
'7100125','BOS','PHL','Q','','AP/27',0.00,188.00
|
||||
'7100126','BOS','PHL','B','','AP/44',129.00,0.00
|
||||
'7100127','BOS','PHL','B','','VU/1',102.00,0.00
|
||||
'7100128','BOS','PHL','Y','','VU/1',97.00,0.00
|
||||
'7100129','BOS','PIT','F','','',330.00,660.00
|
||||
'7100130','BOS','PIT','Y','','',240.00,480.00
|
||||
'7100131','BOS','PIT','Y','','VU/1',153.00,0.00
|
||||
'7100132','BOS','SFO','F','','',860.00,1720.00
|
||||
'7100133','BOS','SFO','F','AA','',852.00,1704.00
|
||||
'7100134','BOS','SFO','C','','',635.00,1270.00
|
||||
'7100135','BOS','SFO','Y','TW','',605.00,1210.00
|
||||
'7100136','BOS','SFO','Y','UA','',605.00,1210.00
|
||||
'7100137','BOS','SFO','Y','','',573.00,1146.00
|
||||
'7100138','BOS','SFO','B','AA','',508.00,1016.00
|
||||
'7100139','BOS','SFO','KW','','AP/57',0.00,418.00
|
||||
'7100140','BOS','SFO','QW','','AP/80',0.00,418.00
|
||||
'7100141','BOS','SFO','KX','','AP/57',0.00,378.00
|
||||
'7100142','BOS','SFO','QX','','AP/80',0.00,378.00
|
||||
'7100143','BOS','SFO','B','','VU/1',412.00,0.00
|
||||
'7100144','BOS','SFO','M','','VU/1',394.00,0.00
|
||||
'7100145','BOS','SFO','Y','','VU/1',394.00,0.00
|
||||
'7100146','BWI','ATL','F','','',428.00,856.00
|
||||
'7100147','BWI','ATL','FN','','',299.00,598.00
|
||||
'7100148','BWI','ATL','Y','','',286.00,572.00
|
||||
'7100149','BWI','ATL','YN','','',230.00,460.00
|
||||
'7100150','BWI','ATL','QW','','AP/57',0.00,248.00
|
||||
'7100151','BWI','ATL','QX','','AP/57',0.00,208.00
|
||||
'7100152','BWI','ATL','B','','VU/1',199.00,0.00
|
||||
'7100153','BWI','ATL','Y','','VU/1',196.00,0.00
|
||||
'7100154','BWI','BOS','F','','',368.00,736.00
|
||||
'7100155','BWI','BOS','Y','','',161.00,322.00
|
||||
'7100156','BWI','BOS','Y','','VU/1',109.00,0.00
|
||||
'7100157','BWI','DEN','F','US','',653.00,1306.00
|
||||
'7100158','BWI','DEN','F','','',645.00,1290.00
|
||||
'7100159','BWI','DEN','Y','UA','',424.00,848.00
|
||||
'7100160','BWI','DEN','Y','','',420.00,840.00
|
||||
'7100161','BWI','DEN','Q','US','',238.00,476.00
|
||||
'7100162','BWI','DEN','QW','','AP/80',0.00,306.00
|
||||
'7100163','BWI','DEN','QX','','AP/80',0.00,256.00
|
||||
'7100164','BWI','DEN','Y','','VU/1',280.00,0.00
|
||||
'7100165','BWI','DFW','F','AA','',630.00,1260.00
|
||||
'7100166','BWI','DFW','F','','',622.00,1244.00
|
||||
'7100167','BWI','DFW','Y','AA','',420.00,840.00
|
||||
'7100168','BWI','DFW','Y','','',415.00,830.00
|
||||
'7100169','BWI','DFW','B','','VU/1',288.00,0.00
|
||||
'7100170','BWI','DFW','Y','','VU/1',288.00,0.00
|
||||
'7100171','BWI','PHL','Y','','',165.00,330.00
|
||||
'7100172','BWI','PHL','M','','',106.00,212.00
|
||||
'7100173','BWI','PHL','Y','','VU/1',115.00,0.00
|
||||
'7100174','BWI','PIT','F','','',172.00,344.00
|
||||
'7100175','BWI','PIT','Y','','',119.00,238.00
|
||||
'7100176','BWI','PIT','Y','','VU/1',80.00,0.00
|
||||
'7100177','DEN','ATL','F','UA','',685.00,1370.00
|
||||
'7100178','DEN','ATL','F','','',677.00,1354.00
|
||||
'7100179','DEN','ATL','FN','','',475.00,950.00
|
||||
'7100180','DEN','ATL','Y','UA','',457.00,914.00
|
||||
'7100181','DEN','ATL','Y','','',452.00,904.00
|
||||
'7100182','DEN','ATL','B','DL','',435.00,870.00
|
||||
'7100183','DEN','ATL','H','','',410.00,820.00
|
||||
'7100184','DEN','ATL','M','DL','',410.00,820.00
|
||||
'7100185','DEN','ATL','YN','','',361.00,722.00
|
||||
'7100186','DEN','ATL','MW','','AP/57',0.00,438.00
|
||||
'7100187','DEN','ATL','MX','','AP/57',0.00,378.00
|
||||
'7100188','DEN','ATL','QW','','AP/57',0.00,298.00
|
||||
'7100189','DEN','ATL','QX','','AP/57',0.00,238.00
|
||||
'7100190','DEN','ATL','B','','VU/1',314.00,0.00
|
||||
'7100191','DEN','ATL','Y','','VU/1',314.00,0.00
|
||||
'7100192','DEN','ATL','B','','AP/55',304.00,0.00
|
||||
'7100193','DEN','BOS','F','','',713.00,1426.00
|
||||
'7100194','DEN','BOS','F','US','',705.00,1410.00
|
||||
'7100195','DEN','BOS','Y','','',475.00,950.00
|
||||
'7100196','DEN','BOS','Y','US','',470.00,940.00
|
||||
'7100197','DEN','BOS','B','US','',382.00,764.00
|
||||
'7100198','DEN','BOS','M','DL','',295.00,590.00
|
||||
'7100199','DEN','BOS','Q','US','',295.00,590.00
|
||||
'7100200','DEN','BOS','Q','DL','',238.00,476.00
|
||||
'7100201','DEN','BOS','KW','','AP/57',0.00,378.00
|
||||
'7100202','DEN','BOS','QW','','AP/80',0.00,378.00
|
||||
'7100203','DEN','BOS','KX','','AP/57',0.00,338.00
|
||||
'7100204','DEN','BOS','QX','','AP/80',0.00,338.00
|
||||
'7100205','DEN','BOS','B','','VU/1',379.00,0.00
|
||||
'7100206','DEN','BOS','Y','','VU/1',326.00,0.00
|
||||
'7100207','DEN','BWI','F','US','',653.00,1306.00
|
||||
'7100208','DEN','BWI','F','UA','',645.00,1290.00
|
||||
'7100209','DEN','BWI','Y','','',424.00,848.00
|
||||
'7100210','DEN','BWI','Y','US','',420.00,840.00
|
||||
'7100211','DEN','BWI','Q','US','',238.00,476.00
|
||||
'7100212','DEN','BWI','QW','','AP/80',0.00,306.00
|
||||
'7100213','DEN','BWI','QX','','AP/80',0.00,256.00
|
||||
'7100214','DEN','BWI','M','','VU/1',296.00,0.00
|
||||
'7100215','DEN','BWI','Y','','VU/1',280.00,0.00
|
||||
'7100216','DEN','DFW','F','','',489.00,978.00
|
||||
'7100217','DEN','DFW','F','DL','',481.00,962.00
|
||||
'7100218','DEN','DFW','FN','AA','',344.00,688.00
|
||||
'7100219','DEN','DFW','FN','','',336.00,672.00
|
||||
'7100220','DEN','DFW','Y','','',305.00,610.00
|
||||
'7100221','DEN','DFW','Y','DL','',300.00,600.00
|
||||
'7100222','DEN','DFW','YN','AA','',261.00,522.00
|
||||
'7100223','DEN','DFW','YN','','',256.00,512.00
|
||||
'7100224','DEN','DFW','QW','','AP/80',0.00,268.00
|
||||
'7100225','DEN','DFW','QX','','AP/80',0.00,228.00
|
||||
'7100226','DEN','DFW','B','','VU/1',208.00,0.00
|
||||
'7100227','DEN','DFW','Y','','VU/1',208.00,0.00
|
||||
'7100228','DEN','OAK','F','','',488.00,976.00
|
||||
'7100229','DEN','OAK','Y','','',325.00,650.00
|
||||
'7100230','DEN','OAK','QW','','AP/80',0.00,288.00
|
||||
'7100231','DEN','OAK','QX','','AP/80',0.00,248.00
|
||||
'7100232','DEN','OAK','Y','','VU/1',222.00,0.00
|
||||
'7100233','DEN','PHL','F','','',706.00,1412.00
|
||||
'7100234','DEN','PHL','Y','','',470.00,940.00
|
||||
'7100235','DEN','PHL','FN','','',441.00,882.00
|
||||
'7100236','DEN','PHL','YN','','',336.00,672.00
|
||||
'7100237','DEN','PHL','KW','','AP/57',0.00,488.00
|
||||
'7100238','DEN','PHL','KX','','AP/57',0.00,418.00
|
||||
'7100239','DEN','PHL','QW','','AP/80',0.00,348.00
|
||||
'7100240','DEN','PHL','QX','','AP/80',0.00,278.00
|
||||
'7100241','DEN','PHL','Y','','VU/1',323.00,0.00
|
||||
'7100242','DEN','PHL','B','','VU/1',297.00,0.00
|
||||
'7100243','DEN','PIT','F','','',647.00,1294.00
|
||||
'7100244','DEN','PIT','Y','','',412.00,824.00
|
||||
'7100245','DEN','PIT','Q','','',287.00,574.00
|
||||
'7100246','DEN','PIT','Y','','VU/1',285.00,0.00
|
||||
'7100247','DEN','SFO','F','','',488.00,976.00
|
||||
'7100248','DEN','SFO','Y','','',325.00,650.00
|
||||
'7100249','DEN','SFO','YN','','',325.00,650.00
|
||||
'7100250','DEN','SFO','QW','','AP/80',0.00,288.00
|
||||
'7100251','DEN','SFO','QX','','AP/80',0.00,248.00
|
||||
'7100252','DEN','SFO','B','','VU/1',222.00,0.00
|
||||
'7100253','DEN','SFO','Y','','VU/1',222.00,0.00
|
||||
'7100254','DFW','ATL','F','AA','',512.00,1024.00
|
||||
'7100255','DFW','ATL','F','DL','',504.00,1008.00
|
||||
'7100256','DFW','ATL','F','','',488.00,976.00
|
||||
'7100257','DFW','ATL','FN','AA','',360.00,720.00
|
||||
'7100258','DFW','ATL','FN','','',352.00,704.00
|
||||
'7100259','DFW','ATL','Y','AA','',341.00,682.00
|
||||
'7100260','DFW','ATL','Y','DL','',336.00,672.00
|
||||
'7100261','DFW','ATL','YN','AA','',277.00,554.00
|
||||
'7100262','DFW','ATL','YN','','',272.00,544.00
|
||||
'7100263','DFW','ATL','QW','','AP/80',0.00,268.00
|
||||
'7100264','DFW','ATL','QX','','AP/80',0.00,228.00
|
||||
'7100265','DFW','ATL','B','','VU/1',233.00,0.00
|
||||
'7100266','DFW','ATL','Y','AA','VU/1',233.00,0.00
|
||||
'7100267','DFW','ATL','Y','','VU/1',222.00,0.00
|
||||
'7100268','DFW','BOS','F','AA','',773.00,1546.00
|
||||
'7100269','DFW','BOS','F','','',765.00,1530.00
|
||||
'7100270','DFW','BOS','Y','AA','',515.00,1030.00
|
||||
'7100271','DFW','BOS','Y','DL','',510.00,1020.00
|
||||
'7100272','DFW','BOS','B','','VU/1',354.00,0.00
|
||||
'7100273','DFW','BOS','Y','AA','VU/1',354.00,0.00
|
||||
'7100274','DFW','BOS','Y','','VU/1',341.00,0.00
|
||||
'7100275','DFW','BWI','F','AA','',630.00,1260.00
|
||||
'7100276','DFW','BWI','F','','',622.00,1244.00
|
||||
'7100277','DFW','BWI','Y','AA','',420.00,840.00
|
||||
'7100278','DFW','BWI','Y','','',415.00,830.00
|
||||
'7100279','DFW','BWI','B','','VU/1',288.00,0.00
|
||||
'7100280','DFW','BWI','Y','','VU/1',288.00,0.00
|
||||
'7100281','DFW','DEN','F','','',489.00,978.00
|
||||
'7100282','DFW','DEN','F','DL','',481.00,962.00
|
||||
'7100283','DFW','DEN','FN','AA','',344.00,688.00
|
||||
'7100284','DFW','DEN','FN','','',336.00,672.00
|
||||
'7100285','DFW','DEN','Y','','',305.00,610.00
|
||||
'7100286','DFW','DEN','Y','DL','',300.00,600.00
|
||||
'7100287','DFW','DEN','YN','AA','',261.00,522.00
|
||||
'7100288','DFW','DEN','YN','','',256.00,512.00
|
||||
'7100289','DFW','DEN','QW','','AP/80',0.00,268.00
|
||||
'7100290','DFW','DEN','QX','','AP/80',0.00,228.00
|
||||
'7100291','DFW','DEN','B','','VU/1',208.00,0.00
|
||||
'7100292','DFW','DEN','Y','','VU/1',208.00,0.00
|
||||
'7100293','DFW','OAK','F','AA','',717.00,1434.00
|
||||
'7100294','DFW','OAK','F','','',646.00,1292.00
|
||||
'7100295','DFW','OAK','FN','','',504.00,1008.00
|
||||
'7100296','DFW','OAK','Y','AA','',478.00,956.00
|
||||
'7100297','DFW','OAK','Y','','',467.00,934.00
|
||||
'7100298','DFW','OAK','YN','','',386.00,772.00
|
||||
'7100299','DFW','OAK','QW','','AP/80',0.00,378.00
|
||||
'7100300','DFW','OAK','QX','','AP/80',0.00,338.00
|
||||
'7100301','DFW','OAK','Y','','VU/1',328.00,0.00
|
||||
'7100302','DFW','PHL','F','AA','',745.00,1490.00
|
||||
'7100303','DFW','PHL','F','','',737.00,1474.00
|
||||
'7100304','DFW','PHL','FN','','',516.00,1032.00
|
||||
'7100305','DFW','PHL','Y','AA','',496.00,992.00
|
||||
'7100306','DFW','PHL','Y','DL','',491.00,982.00
|
||||
'7100307','DFW','PHL','YN','','',396.00,792.00
|
||||
'7100308','DFW','PHL','B','','VU/1',341.00,0.00
|
||||
'7100309','DFW','PHL','Y','','VU/1',341.00,0.00
|
||||
'7100310','DFW','PIT','F','','',611.00,1222.00
|
||||
'7100311','DFW','PIT','Y','AA','',420.00,840.00
|
||||
'7100312','DFW','PIT','Y','AA','',380.00,760.00
|
||||
'7100313','DFW','PIT','Y','','',375.00,750.00
|
||||
'7100314','DFW','PIT','B','','VU/1',279.00,0.00
|
||||
'7100315','DFW','PIT','Y','','VU/1',260.00,0.00
|
||||
'7100316','DFW','SFO','F','','',717.00,1434.00
|
||||
'7100317','DFW','SFO','F','DL','',709.00,1418.00
|
||||
'7100318','DFW','SFO','FN','AA','',504.00,1008.00
|
||||
'7100319','DFW','SFO','FN','','',496.00,992.00
|
||||
'7100320','DFW','SFO','Y','','',478.00,956.00
|
||||
'7100321','DFW','SFO','Y','DL','',473.00,946.00
|
||||
'7100322','DFW','SFO','YN','AA','',386.00,772.00
|
||||
'7100323','DFW','SFO','YN','','',381.00,762.00
|
||||
'7100324','DFW','SFO','QW','','AP/80',0.00,378.00
|
||||
'7100325','DFW','SFO','QX','','AP/80',0.00,338.00
|
||||
'7100326','DFW','SFO','B','','VU/1',328.00,0.00
|
||||
'7100327','DFW','SFO','Y','','VU/1',328.00,0.00
|
||||
'7100328','OAK','BOS','F','','',836.00,1672.00
|
||||
'7100329','OAK','BOS','Y','','',557.00,1114.00
|
||||
'7100330','OAK','BOS','QW','','AP/80',0.00,418.00
|
||||
'7100331','OAK','BOS','QX','','AP/80',0.00,378.00
|
||||
'7100332','OAK','BOS','Y','','VU/1',394.00,0.00
|
||||
'7100333','OAK','DEN','F','','',488.00,976.00
|
||||
'7100334','OAK','DEN','Y','','',325.00,650.00
|
||||
'7100335','OAK','DEN','QW','','AP/80',0.00,288.00
|
||||
'7100336','OAK','DEN','QX','','AP/80',0.00,248.00
|
||||
'7100337','OAK','DEN','Y','','VU/1',222.00,0.00
|
||||
'7100338','OAK','DFW','F','','',717.00,1434.00
|
||||
'7100339','OAK','DFW','FN','','',504.00,1008.00
|
||||
'7100340','OAK','DFW','Y','','',478.00,956.00
|
||||
'7100341','OAK','DFW','YN','','',386.00,772.00
|
||||
'7100342','OAK','DFW','Y','','VU/1',328.00,0.00
|
||||
'7100343','OAK','PHL','F','AA','',877.00,1754.00
|
||||
'7100344','OAK','PHL','Y','AA','',584.00,1168.00
|
||||
'7100345','OAK','PHL','B','AA','',488.00,976.00
|
||||
'7100346','OAK','PHL','Y','','VU/1',402.00,0.00
|
||||
'7100347','OAK','SFO','Y','','',110.00,220.00
|
||||
'7100348','OAK','SFO','YN','','',54.00,108.00
|
||||
'7100349','OAK','SFO','Y','AA','VU/1',61.00,0.00
|
||||
'7100350','PHL','ATL','F','US','',465.00,930.00
|
||||
'7100351','PHL','ATL','F','','',449.00,898.00
|
||||
'7100352','PHL','ATL','FN','','',314.00,628.00
|
||||
'7100353','PHL','ATL','Y','DL','',295.00,590.00
|
||||
'7100354','PHL','ATL','Y','EA','',295.00,590.00
|
||||
'7100355','PHL','ATL','Y','','',290.00,580.00
|
||||
'7100356','PHL','ATL','YN','','',243.00,486.00
|
||||
'7100357','PHL','ATL','KW','','AP/57',0.00,268.00
|
||||
'7100358','PHL','ATL','QW','','AP/57',0.00,268.00
|
||||
'7100359','PHL','ATL','KX','','AP/57',0.00,228.00
|
||||
'7100360','PHL','ATL','QX','','AP/57',0.00,228.00
|
||||
'7100361','PHL','ATL','B','','VU/1',205.00,0.00
|
||||
'7100362','PHL','ATL','Y','','VU/1',205.00,0.00
|
||||
'7100363','PHL','BOS','F','','',210.00,420.00
|
||||
'7100364','PHL','BOS','FN','','',147.00,294.00
|
||||
'7100365','PHL','BOS','Y','DL','',147.00,294.00
|
||||
'7100366','PHL','BOS','B','DL','',140.00,280.00
|
||||
'7100367','PHL','BOS','K','','',140.00,280.00
|
||||
'7100368','PHL','BOS','Y','DL','',140.00,280.00
|
||||
'7100369','PHL','BOS','Y','','',140.00,280.00
|
||||
'7100370','PHL','BOS','B','','AP/75',0.00,270.00
|
||||
'7100371','PHL','BOS','B','DL','',129.00,258.00
|
||||
'7100372','PHL','BOS','YN','','',119.00,238.00
|
||||
'7100373','PHL','BOS','B','US','',109.00,218.00
|
||||
'7100374','PHL','BOS','M','ML','',109.00,218.00
|
||||
'7100375','PHL','BOS','Q','','AP/27',0.00,188.00
|
||||
'7100376','PHL','BOS','B','','AP/44',129.00,0.00
|
||||
'7100377','PHL','BOS','B','','VU/1',102.00,0.00
|
||||
'7100378','PHL','BOS','Y','','VU/1',97.00,0.00
|
||||
'7100379','PHL','BWI','Y','','',165.00,330.00
|
||||
'7100380','PHL','BWI','M','','',106.00,212.00
|
||||
'7100381','PHL','BWI','Y','','VU/1',115.00,0.00
|
||||
'7100382','PHL','DEN','F','','',706.00,1412.00
|
||||
'7100383','PHL','DEN','F','DL','',630.00,1260.00
|
||||
'7100384','PHL','DEN','Y','','',470.00,940.00
|
||||
'7100385','PHL','DEN','Y','DL','',420.00,840.00
|
||||
'7100386','PHL','DEN','KW','','AP/57',0.00,488.00
|
||||
'7100387','PHL','DEN','KX','','AP/57',0.00,418.00
|
||||
'7100388','PHL','DEN','QW','','AP/80',0.00,348.00
|
||||
'7100389','PHL','DEN','QX','','AP/80',0.00,278.00
|
||||
'7100390','PHL','DEN','Y','','VU/1',323.00,0.00
|
||||
'7100391','PHL','DEN','B','','VU/1',297.00,0.00
|
||||
'7100392','PHL','DFW','F','AA','',745.00,1490.00
|
||||
'7100393','PHL','DFW','F','','',737.00,1474.00
|
||||
'7100394','PHL','DFW','Y','AA','',496.00,992.00
|
||||
'7100395','PHL','DFW','Y','DL','',491.00,982.00
|
||||
'7100396','PHL','DFW','B','','VU/1',341.00,0.00
|
||||
'7100397','PHL','DFW','Y','AA','VU/1',341.00,0.00
|
||||
'7100398','PHL','DFW','M','','AP/68',284.00,0.00
|
||||
'7100399','PHL','DFW','Y','','VU/1',283.00,0.00
|
||||
'7100400','PHL','OAK','F','AA','',877.00,1754.00
|
||||
'7100401','PHL','OAK','Y','AA','',584.00,1168.00
|
||||
'7100402','PHL','OAK','B','AA','',488.00,976.00
|
||||
'7100403','PHL','OAK','Y','','VU/1',402.00,0.00
|
||||
'7100404','PHL','PIT','F','','',189.00,378.00
|
||||
'7100405','PHL','PIT','Y','','',131.00,262.00
|
||||
'7100406','PHL','PIT','Y','','VU/1',88.00,0.00
|
||||
'7100407','PHL','SFO','F','US','',995.00,1990.00
|
||||
'7100408','PHL','SFO','F','','',887.00,1774.00
|
||||
'7100409','PHL','SFO','Y','','',591.00,1182.00
|
||||
'7100410','PHL','SFO','Y','US','',586.00,1172.00
|
||||
'7100411','PHL','SFO','B','US','',483.00,966.00
|
||||
'7100412','PHL','SFO','QW','','AP/80',0.00,418.00
|
||||
'7100413','PHL','SFO','QX','','AP/80',0.00,378.00
|
||||
'7100414','PHL','SFO','B','','AP/55',488.00,0.00
|
||||
'7100415','PHL','SFO','B','','VU/1',407.00,0.00
|
||||
'7100416','PHL','SFO','M','','VU/1',407.00,0.00
|
||||
'7100417','PHL','SFO','Y','','VU/1',407.00,0.00
|
||||
'7100418','PHL','SFO','Y','US','VU/1',388.00,0.00
|
||||
'7100419','PIT','ATL','F','','',416.00,832.00
|
||||
'7100420','PIT','ATL','FN','','',291.00,582.00
|
||||
'7100421','PIT','ATL','Y','','',274.00,548.00
|
||||
'7100422','PIT','ATL','YN','','',217.00,434.00
|
||||
'7100423','PIT','ATL','KW','','AP/57',0.00,268.00
|
||||
'7100424','PIT','ATL','QW','','AP/57',0.00,248.00
|
||||
'7100425','PIT','ATL','KX','','AP/57',0.00,228.00
|
||||
'7100426','PIT','ATL','QX','','AP/57',0.00,208.00
|
||||
'7100427','PIT','ATL','B','','VU/1',190.00,0.00
|
||||
'7100428','PIT','ATL','Y','','VU/1',190.00,0.00
|
||||
'7100429','PIT','BOS','F','','',330.00,660.00
|
||||
'7100430','PIT','BOS','Y','','',240.00,480.00
|
||||
'7100431','PIT','BOS','Y','','VU/1',153.00,0.00
|
||||
'7100432','PIT','BWI','F','','',172.00,344.00
|
||||
'7100433','PIT','BWI','Y','','',119.00,238.00
|
||||
'7100434','PIT','BWI','Y','','VU/1',80.00,0.00
|
||||
'7100435','PIT','DEN','F','US','',647.00,1294.00
|
||||
'7100436','PIT','DEN','F','','',607.00,1214.00
|
||||
'7100437','PIT','DEN','Y','AA','',422.00,844.00
|
||||
'7100438','PIT','DEN','Y','','',412.00,824.00
|
||||
'7100439','PIT','DEN','Q','','',287.00,574.00
|
||||
'7100440','PIT','DEN','M','','',282.00,564.00
|
||||
'7100441','PIT','DEN','Y','AA','VU/1',299.00,0.00
|
||||
'7100442','PIT','DEN','Y','','VU/1',285.00,0.00
|
||||
'7100443','PIT','DFW','F','','',611.00,1222.00
|
||||
'7100444','PIT','DFW','Y','AA','',420.00,840.00
|
||||
'7100445','PIT','DFW','Y','AA','',380.00,760.00
|
||||
'7100446','PIT','DFW','Y','','',375.00,750.00
|
||||
'7100447','PIT','DFW','BW','','AP/57',0.00,428.00
|
||||
'7100448','PIT','DFW','BX','','AP/57',0.00,378.00
|
||||
'7100449','PIT','DFW','B','','VU/1',279.00,0.00
|
||||
'7100450','PIT','DFW','M','','VU/1',260.00,0.00
|
||||
'7100451','PIT','DFW','Y','','VU/1',260.00,0.00
|
||||
'7100452','PIT','PHL','F','','',189.00,378.00
|
||||
'7100453','PIT','PHL','Y','','',131.00,262.00
|
||||
'7100454','PIT','PHL','Y','','VU/1',88.00,0.00
|
||||
'7100455','PIT','SFO','F','US','',819.00,1638.00
|
||||
'7100456','PIT','SFO','Y','','',546.00,1092.00
|
||||
'7100457','PIT','SFO','QW','','AP/80',0.00,398.00
|
||||
'7100458','PIT','SFO','QX','','AP/80',0.00,358.00
|
||||
'7100459','PIT','SFO','Y','','VU/1',379.00,0.00
|
||||
'7100460','SFO','ATL','F','','',828.00,1656.00
|
||||
'7100461','SFO','ATL','F','AA','',821.00,1642.00
|
||||
'7100462','SFO','ATL','FN','','',580.00,1160.00
|
||||
'7100463','SFO','ATL','Y','','',552.00,1104.00
|
||||
'7100464','SFO','ATL','Y','AA','',547.00,1094.00
|
||||
'7100465','SFO','ATL','B','AA','',475.00,950.00
|
||||
'7100466','SFO','ATL','YN','EA','',445.00,890.00
|
||||
'7100467','SFO','ATL','YN','DL','',442.00,884.00
|
||||
'7100468','SFO','ATL','M','AA','',430.00,860.00
|
||||
'7100469','SFO','ATL','QW','','AP/57',0.00,398.00
|
||||
'7100470','SFO','ATL','QX','','AP/57',0.00,358.00
|
||||
'7100471','SFO','ATL','K','','AP/68',435.00,0.00
|
||||
'7100472','SFO','ATL','Q','','AP/68',435.00,0.00
|
||||
'7100473','SFO','ATL','B','','VU/1',383.00,0.00
|
||||
'7100474','SFO','ATL','Y','AA','VU/1',383.00,0.00
|
||||
'7100475','SFO','ATL','Y','','VU/1',376.00,0.00
|
||||
'7100476','SFO','BOS','F','US','',995.00,1990.00
|
||||
'7100477','SFO','BOS','F','DL','',890.00,1780.00
|
||||
'7100478','SFO','BOS','F','','',860.00,1720.00
|
||||
'7100479','SFO','BOS','C','','',635.00,1270.00
|
||||
'7100480','SFO','BOS','Y','TW','',605.00,1210.00
|
||||
'7100481','SFO','BOS','Y','UA','',605.00,1210.00
|
||||
'7100482','SFO','BOS','Y','DL','',593.00,1186.00
|
||||
'7100483','SFO','BOS','Y','','',573.00,1146.00
|
||||
'7100484','SFO','BOS','Y','US','',568.00,1136.00
|
||||
'7100485','SFO','BOS','B','AA','',508.00,1016.00
|
||||
'7100486','SFO','BOS','B','DL','',503.00,1006.00
|
||||
'7100487','SFO','BOS','B','US','',503.00,1006.00
|
||||
'7100488','SFO','BOS','KW','','AP/57',0.00,418.00
|
||||
'7100489','SFO','BOS','QW','','AP/80',0.00,418.00
|
||||
'7100490','SFO','BOS','KX','','AP/57',0.00,378.00
|
||||
'7100491','SFO','BOS','QX','','AP/80',0.00,378.00
|
||||
'7100492','SFO','BOS','B','','VU/1',412.00,0.00
|
||||
'7100493','SFO','BOS','M','','VU/1',394.00,0.00
|
||||
'7100494','SFO','BOS','Y','','VU/1',394.00,0.00
|
||||
'7100495','SFO','BWI','F','','',781.00,1562.00
|
||||
'7100496','SFO','BWI','Y','','',516.00,1032.00
|
||||
'7100497','SFO','BWI','B','','',449.00,898.00
|
||||
'7100498','SFO','BWI','Q','','',405.00,810.00
|
||||
'7100499','SFO','BWI','Y','','VU/1',358.00,0.00
|
||||
'7100500','SFO','DEN','F','','',488.00,976.00
|
||||
'7100501','SFO','DEN','Y','','',325.00,650.00
|
||||
'7100502','SFO','DEN','QW','','AP/80',0.00,288.00
|
||||
'7100503','SFO','DEN','QX','','AP/80',0.00,248.00
|
||||
'7100504','SFO','DEN','Y','','VU/1',222.00,0.00
|
||||
'7100505','SFO','DFW','F','','',717.00,1434.00
|
||||
'7100506','SFO','DFW','F','DL','',709.00,1418.00
|
||||
'7100507','SFO','DFW','FN','AA','',504.00,1008.00
|
||||
'7100508','SFO','DFW','FN','','',496.00,992.00
|
||||
'7100509','SFO','DFW','Y','','',478.00,956.00
|
||||
'7100510','SFO','DFW','Y','DL','',473.00,946.00
|
||||
'7100511','SFO','DFW','YN','AA','',386.00,772.00
|
||||
'7100512','SFO','DFW','YN','','',381.00,762.00
|
||||
'7100513','SFO','DFW','QW','','AP/80',0.00,378.00
|
||||
'7100514','SFO','DFW','QX','','AP/80',0.00,338.00
|
||||
'7100515','SFO','DFW','B','','VU/1',328.00,0.00
|
||||
'7100516','SFO','DFW','Y','','VU/1',328.00,0.00
|
||||
'7100517','SFO','OAK','Y','','',110.00,220.00
|
||||
'7100518','SFO','OAK','YN','','',54.00,108.00
|
||||
'7100519','SFO','OAK','Y','AA','VU/1',61.00,0.00
|
||||
'7100520','SFO','PHL','F','US','',995.00,1990.00
|
||||
'7100521','SFO','PHL','F','','',887.00,1774.00
|
||||
'7100522','SFO','PHL','Y','','',591.00,1182.00
|
||||
'7100523','SFO','PHL','Y','US','',586.00,1172.00
|
||||
'7100524','SFO','PHL','B','US','',483.00,966.00
|
||||
'7100525','SFO','PHL','QW','','AP/80',0.00,418.00
|
||||
'7100526','SFO','PHL','QX','','AP/80',0.00,378.00
|
||||
'7100527','SFO','PHL','B','','AP/55',488.00,0.00
|
||||
'7100528','SFO','PHL','B','','VU/1',407.00,0.00
|
||||
'7100529','SFO','PHL','M','','VU/1',407.00,0.00
|
||||
'7100530','SFO','PHL','Y','','VU/1',407.00,0.00
|
||||
'7100531','SFO','PHL','Y','US','VU/1',388.00,0.00
|
||||
'7100532','SFO','PIT','F','US','',819.00,1638.00
|
||||
'7100533','SFO','PIT','Y','','',546.00,1092.00
|
||||
'7100534','SFO','PIT','Y','','VU/1',379.00,0.00
|
164
sql-bench/Data/ATIS/fconnection.txt
Normal file
164
sql-bench/Data/ATIS/fconnection.txt
Normal file
|
@ -0,0 +1,164 @@
|
|||
312733,'ATL','BOS',740,1127,'1234567',0,1,227
|
||||
312734,'ATL','BOS',1200,1548,'1234567',0,1,228
|
||||
312737,'ATL','BOS',1650,2053,'1234567',0,1,243
|
||||
333051,'ATL','DEN',630,910,'1234567',0,1,280
|
||||
333054,'ATL','DEN',1000,1245,'1234567',0,1,285
|
||||
333059,'ATL','DEN',1319,1554,'1234567',0,1,275
|
||||
333067,'ATL','DEN',2029,2320,'1234567',0,1,291
|
||||
393490,'ATL','OAK',1000,1339,'1234567',0,1,399
|
||||
420730,'ATL','SFO',630,955,'1234567',0,1,385
|
||||
420735,'ATL','SFO',1000,1325,'1234567',0,1,385
|
||||
420736,'ATL','SFO',1000,1336,'1234567',0,1,396
|
||||
420739,'ATL','SFO',1319,1650,'1234567',0,1,391
|
||||
420745,'ATL','SFO',1650,2050,'1234567',0,1,420
|
||||
420747,'ATL','SFO',1825,2214,'1234567',0,1,409
|
||||
420751,'ATL','SFO',2029,2350,'1234567',0,1,381
|
||||
305276,'BOS','ATL',705,1110,'1234567',0,1,245
|
||||
305277,'BOS','ATL',1125,1615,'1234567',0,1,290
|
||||
305280,'BOS','ATL',1645,2101,'1234567',0,1,256
|
||||
333153,'BOS','DEN',1000,1410,'1234567',0,1,370
|
||||
333158,'BOS','DEN',1156,1615,'1234567',0,1,379
|
||||
333168,'BOS','DEN',1850,2320,'1234567',0,1,390
|
||||
393546,'BOS','OAK',838,1339,'123456-',0,1,481
|
||||
393547,'BOS','OAK',840,1339,'------7',0,1,479
|
||||
393553,'BOS','OAK',1720,2205,'1234567',0,1,465
|
||||
420887,'BOS','SFO',805,1325,'1234567',0,1,500
|
||||
420888,'BOS','SFO',838,1336,'123456-',0,1,478
|
||||
420893,'BOS','SFO',1132,1650,'1234567',0,1,498
|
||||
420894,'BOS','SFO',1210,1652,'1234567',0,1,462
|
||||
420903,'BOS','SFO',1520,2115,'1234567',0,1,535
|
||||
420911,'BOS','SFO',1720,2214,'1234567',0,1,474
|
||||
420912,'BOS','SFO',1845,2350,'1234567',0,1,485
|
||||
333086,'BWI','DEN',550,955,'1234567',0,1,365
|
||||
333091,'BWI','DEN',845,1245,'1234567',0,1,360
|
||||
333099,'BWI','DEN',1230,1615,'1234567',0,1,345
|
||||
333110,'BWI','DEN',1945,2320,'1234567',0,1,335
|
||||
329933,'BWI','DFW',550,930,'1234567',0,1,280
|
||||
329937,'BWI','DFW',900,1250,'1234567',0,1,290
|
||||
329941,'BWI','DFW',1230,1620,'1234567',0,1,290
|
||||
329944,'BWI','DFW',1600,1955,'1234567',0,1,295
|
||||
329947,'BWI','DFW',1945,2321,'1234567',0,1,276
|
||||
393507,'BWI','OAK',915,1339,'1234567',0,1,444
|
||||
420782,'BWI','SFO',800,1217,'123456-',0,1,437
|
||||
420783,'BWI','SFO',845,1325,'1234567',0,1,460
|
||||
420785,'BWI','SFO',915,1336,'1234567',0,1,441
|
||||
420791,'BWI','SFO',1230,1730,'1234567',0,1,480
|
||||
420792,'BWI','SFO',1240,1652,'1234567',0,1,432
|
||||
420798,'BWI','SFO',1620,2022,'1234567',0,1,422
|
||||
305416,'DEN','ATL',620,1244,'1234567',0,1,264
|
||||
305424,'DEN','ATL',950,1606,'1234567',0,1,256
|
||||
305429,'DEN','ATL',1325,1943,'1234567',0,1,258
|
||||
305435,'DEN','ATL',1700,100,'1234567',0,1,360
|
||||
305436,'DEN','ATL',1955,230,'1234567',0,1,275
|
||||
313024,'DEN','BOS',55,855,'1234567',0,1,360
|
||||
313025,'DEN','BOS',620,1435,'1234567',0,1,375
|
||||
313030,'DEN','BOS',800,1550,'1234567',0,1,350
|
||||
313034,'DEN','BOS',950,1755,'1234567',0,1,365
|
||||
313037,'DEN','BOS',1055,1920,'1234567',0,1,385
|
||||
313041,'DEN','BOS',1325,2125,'1234567',0,1,360
|
||||
313048,'DEN','BOS',1815,153,'1234567',0,1,338
|
||||
308320,'DEN','BWI',620,1400,'1234567',0,1,340
|
||||
308330,'DEN','BWI',1055,1850,'1234567',0,1,355
|
||||
308334,'DEN','BWI',1325,2045,'1234567',0,1,320
|
||||
402376,'DEN','PHL',620,1350,'1234567',0,1,330
|
||||
402382,'DEN','PHL',800,1515,'1234567',0,1,315
|
||||
402388,'DEN','PHL',1055,1840,'1234567',0,1,345
|
||||
402391,'DEN','PHL',1455,2146,'12345-7',0,1,291
|
||||
402397,'DEN','PHL',1700,15,'1234567',0,1,315
|
||||
402398,'DEN','PHL',1815,130,'1234567',0,1,315
|
||||
405235,'DEN','PIT',55,803,'1234567',0,1,308
|
||||
405236,'DEN','PIT',55,1000,'1234567',0,1,425
|
||||
405241,'DEN','PIT',800,1510,'1234567',0,1,310
|
||||
405250,'DEN','PIT',1055,1845,'1234567',0,1,350
|
||||
405253,'DEN','PIT',1455,2202,'1234567',0,1,307
|
||||
405258,'DEN','PIT',1815,59,'1234567',0,1,284
|
||||
313006,'DFW','BOS',2010,153,'1234567',0,1,283
|
||||
308292,'DFW','BWI',625,1145,'1234567',0,1,260
|
||||
308296,'DFW','BWI',945,1510,'1234567',0,1,265
|
||||
308301,'DFW','BWI',1305,1850,'1234567',0,1,285
|
||||
308304,'DFW','BWI',1650,2230,'1234567',0,1,280
|
||||
393637,'DFW','OAK',700,1014,'123456-',0,1,314
|
||||
393641,'DFW','OAK',1547,1852,'1234567',0,1,305
|
||||
393643,'DFW','OAK',1850,2205,'12345-7',0,1,315
|
||||
402327,'DFW','PHL',625,1200,'1234567',0,1,275
|
||||
402332,'DFW','PHL',945,1515,'1234567',0,1,270
|
||||
402339,'DFW','PHL',1305,1840,'1234567',0,1,275
|
||||
402343,'DFW','PHL',1501,2045,'1234567',0,1,284
|
||||
402346,'DFW','PHL',1650,2220,'1234567',0,1,270
|
||||
402350,'DFW','PHL',2010,130,'1234567',0,1,260
|
||||
405211,'DFW','PIT',945,1510,'1234567',0,1,265
|
||||
405214,'DFW','PIT',1305,1845,'1234567',0,1,280
|
||||
405217,'DFW','PIT',1650,2205,'1234567',0,1,255
|
||||
405219,'DFW','PIT',2010,59,'1234567',0,1,229
|
||||
421176,'DFW','SFO',700,1006,'123456-',0,1,306
|
||||
421177,'DFW','SFO',1032,1336,'1234567',0,1,304
|
||||
421179,'DFW','SFO',1547,1912,'1234567',0,1,325
|
||||
421180,'DFW','SFO',1850,2214,'12345-7',0,1,324
|
||||
421181,'DFW','SFO',1940,2310,'1234567',0,1,330
|
||||
306026,'OAK','ATL',625,1537,'1234567',0,1,372
|
||||
306031,'OAK','ATL',1425,2330,'1234567',0,1,365
|
||||
313867,'OAK','BOS',625,1619,'1234567',0,1,414
|
||||
308924,'OAK','BWI',1425,2332,'1234567',0,1,367
|
||||
330865,'OAK','DFW',625,1312,'1234567',0,1,287
|
||||
330867,'OAK','DFW',1105,1753,'1234567',0,1,288
|
||||
330870,'OAK','DFW',1425,2122,'12345-7',0,1,297
|
||||
403125,'OAK','PHL',625,1553,'1234567',0,1,388
|
||||
403128,'OAK','PHL',1105,2041,'1234567',0,1,396
|
||||
334183,'PHL','DEN',540,955,'1234567',0,1,375
|
||||
334190,'PHL','DEN',840,1410,'123456-',0,1,450
|
||||
334198,'PHL','DEN',1600,2015,'1234567',0,1,375
|
||||
334202,'PHL','DEN',1935,2320,'1234567',0,1,345
|
||||
330947,'PHL','DFW',540,930,'1234567',0,1,290
|
||||
330956,'PHL','DFW',900,1250,'1234567',0,1,290
|
||||
330962,'PHL','DFW',1230,1620,'1234567',0,1,290
|
||||
330964,'PHL','DFW',1405,1805,'1234567',0,1,300
|
||||
330967,'PHL','DFW',1600,1955,'1234567',0,1,295
|
||||
330971,'PHL','DFW',1750,2140,'1234567',0,1,290
|
||||
330974,'PHL','DFW',1935,2321,'1234567',0,1,286
|
||||
393950,'PHL','OAK',905,1339,'1234567',0,1,454
|
||||
393953,'PHL','OAK',1753,2205,'1234567',0,1,432
|
||||
422233,'PHL','SFO',540,1110,'1234567',0,1,510
|
||||
422240,'PHL','SFO',830,1325,'1234567',0,1,475
|
||||
422241,'PHL','SFO',905,1336,'1234567',0,1,451
|
||||
422249,'PHL','SFO',1230,1730,'1234567',0,1,480
|
||||
422262,'PHL','SFO',1753,2214,'1234567',0,1,441
|
||||
422263,'PHL','SFO',1915,2350,'1234567',0,1,455
|
||||
334210,'PIT','DEN',600,955,'1234567',0,1,355
|
||||
334218,'PIT','DEN',1030,1410,'1234567',0,1,340
|
||||
334222,'PIT','DEN',1245,1615,'1234567',0,1,330
|
||||
334230,'PIT','DEN',1945,2320,'1234567',0,1,335
|
||||
330977,'PIT','DFW',600,930,'1234567',0,1,270
|
||||
330981,'PIT','DFW',910,1250,'1234567',0,1,280
|
||||
330984,'PIT','DFW',1245,1620,'1234567',0,1,275
|
||||
330989,'PIT','DFW',1945,2321,'1234567',0,1,276
|
||||
422277,'PIT','SFO',910,1410,'1234567',0,1,480
|
||||
422281,'PIT','SFO',1245,1730,'1234567',0,1,465
|
||||
306304,'SFO','ATL',20,917,'1234567',0,1,357
|
||||
306307,'SFO','ATL',620,1537,'1234567',0,1,377
|
||||
306309,'SFO','ATL',700,1606,'1234567',0,1,366
|
||||
306314,'SFO','ATL',1059,1943,'1234567',0,1,344
|
||||
306317,'SFO','ATL',1425,2258,'1234567',0,1,333
|
||||
306318,'SFO','ATL',1431,2330,'1234567',0,1,359
|
||||
306319,'SFO','ATL',1750,230,'1234567',0,1,340
|
||||
314256,'SFO','BOS',620,1619,'1234567',0,1,419
|
||||
314259,'SFO','BOS',700,1755,'1234567',0,1,475
|
||||
314263,'SFO','BOS',815,1920,'1234567',0,1,485
|
||||
314268,'SFO','BOS',1059,2125,'1234567',0,1,446
|
||||
314269,'SFO','BOS',1108,2056,'1234567',0,1,408
|
||||
309189,'SFO','BWI',815,1850,'1234567',0,1,455
|
||||
309198,'SFO','BWI',1059,2045,'1234567',0,1,406
|
||||
309204,'SFO','BWI',1431,2332,'1234567',0,1,361
|
||||
331132,'SFO','DFW',620,1312,'1234567',0,1,292
|
||||
331133,'SFO','DFW',1108,1753,'1234567',0,1,285
|
||||
331134,'SFO','DFW',1431,2122,'12345-7',0,1,291
|
||||
403468,'SFO','PHL',620,1553,'1234567',0,1,393
|
||||
403472,'SFO','PHL',700,1705,'1234567',0,1,425
|
||||
403474,'SFO','PHL',815,1840,'1234567',0,1,445
|
||||
403479,'SFO','PHL',1108,2041,'1234567',0,1,393
|
||||
403481,'SFO','PHL',1215,2220,'1234567',0,1,425
|
||||
403485,'SFO','PHL',1425,15,'1234567',0,1,410
|
||||
403486,'SFO','PHL',1530,130,'1234567',0,1,420
|
||||
403488,'SFO','PHL',2220,825,'1234567',0,1,425
|
||||
405963,'SFO','PIT',815,1845,'1234567',0,1,450
|
||||
405970,'SFO','PIT',1530,59,'1234567',0,1,389
|
||||
405971,'SFO','PIT',2220,1000,'1234567',0,1,520
|
579
sql-bench/Data/ATIS/flight.txt
Normal file
579
sql-bench/Data/ATIS/flight.txt
Normal file
|
@ -0,0 +1,579 @@
|
|||
101908,'1234567','ATL','BOS',636,1000,'DL',296,'FNYNBNMQ','72S','B',1,'N',204
|
||||
101909,'1234567','ATL','BOS',641,855,'DL',314,'FNYNBNMQ','72S','B',0,'N',134
|
||||
101910,'1234567','ATL','BOS',755,1019,'EA',140,'FYHQK','D9S','B',0,'N',144
|
||||
101911,'1234567','ATL','BOS',920,1150,'EA',534,'FYHQK','D9S','B',0,'N',150
|
||||
101912,'1234567','ATL','BOS',959,1215,'DL',410,'FYBMQ','757','B',0,'N',136
|
||||
101913,'1234567','ATL','BOS',1010,1355,'DL',726,'FYBMQ','72S','S',1,'N',225
|
||||
101914,'1234567','ATL','BOS',1057,1320,'EA',640,'YHQKL','72S','L',0,'N',143
|
||||
101915,'1234567','ATL','BOS',1229,1456,'EA',142,'FYHQK','D9S','L',0,'N',147
|
||||
101916,'-----6-','ATL','BOS',1325,1550,'DL',110,'FYBMQ','767','L',0,'N',145
|
||||
101917,'12345-7','ATL','BOS',1325,1550,'DL',110,'FYBMQ','763','L',0,'N',145
|
||||
101918,'1234567','ATL','BOS',1426,1656,'EA',644,'FYHQK','D9S','S',0,'N',150
|
||||
101922,'1234567','ATL','BOS',1655,1920,'DL',134,'FYBMQ','L10','D',0,'N',145
|
||||
101923,'1234567','ATL','BOS',1800,2032,'EA',144,'FYHQK','757','D',0,'N',152
|
||||
101924,'1234567','ATL','BOS',1851,2219,'DL',106,'FYBMQ','M80','D',1,'N',208
|
||||
101925,'1234567','ATL','BOS',1855,2122,'DL',326,'FYBMQ','72S','D',0,'N',147
|
||||
101926,'1234567','ATL','BOS',1950,2220,'EA',148,'FYHQK','D9S','S',0,'N',150
|
||||
101927,'------7','ATL','BOS',2035,2255,'DL',166,'FYBMQ','L10','S/',0,'N',140
|
||||
101928,'123456-','ATL','BOS',2035,2255,'DL',116,'FYBMQ','L10','S/',0,'N',140
|
||||
101929,'1234567','ATL','BOS',2345,153,'DL',162,'FNYNBNMQ','757','',0,'N',128
|
||||
101951,'1234567','ATL','BWI',915,1055,'EA',202,'FYHQK','D9S','S',0,'N',100
|
||||
101952,'1234567','ATL','BWI',1002,1145,'DL',1204,'FYBMQ','M80','',0,'N',103
|
||||
101953,'1234567','ATL','BWI',1330,1510,'DL',662,'FYBMQ','M80','L',0,'N',100
|
||||
101954,'1234567','ATL','BWI',1423,1610,'EA',206,'FYHQK','D9S','',0,'N',107
|
||||
101955,'1234567','ATL','BWI',1704,1850,'DL',294,'FYBMQ','757','D',0,'N',106
|
||||
101956,'1234567','ATL','BWI',1800,1937,'EA',210,'FYHQK','D9S','D',0,'N',97
|
||||
101957,'1234567','ATL','BWI',1955,2140,'EA',212,'FYHQK','D9S','S',0,'N',105
|
||||
101958,'1234567','ATL','BWI',2048,2230,'DL',256,'FYBMQ','757','',0,'N',102
|
||||
101959,'1234567','ATL','BWI',2140,2318,'EA',208,'FNYNHQNK','72S','',0,'N',98
|
||||
102122,'1234567','ATL','DEN',840,955,'DL',445,'FYBMQ','757','B',0,'N',195
|
||||
102123,'1234567','ATL','DEN',934,1054,'EA',821,'FYHQK','72S','B',0,'N',200
|
||||
102125,'1234567','ATL','DEN',1000,1124,'UA',915,'FYBMQ','73S','S',0,'N',204
|
||||
102126,'1234567','ATL','DEN',1200,1305,'DL',257,'FYBMQ','72S','L',0,'N',185
|
||||
102127,'1234567','ATL','DEN',1510,1615,'DL',1083,'FYBMQ','72S','S',0,'N',185
|
||||
102128,'1234567','ATL','DEN',1755,1910,'EA',825,'FYHQK','72S','D',0,'N',195
|
||||
102129,'1234567','ATL','DEN',1825,1946,'UA',673,'FYBMQ','733','D',0,'N',201
|
||||
102133,'1234567','ATL','DEN',1900,2015,'DL',675,'FYBMQ','72S','D',0,'N',195
|
||||
102134,'1234567','ATL','DEN',2145,2308,'EA',823,'FNYNHQNK','757','S',0,'N',203
|
||||
102135,'1234567','ATL','DEN',2219,2320,'DL',229,'FNYNBNMQ','72S','',0,'N',181
|
||||
102136,'--34567','ATL','DFW',630,740,'DL',131,'FNYNBNMQ','L10','B',0,'N',130
|
||||
102137,'12-----','ATL','DFW',630,740,'DL',131,'FNYNBNMQ','763','B',0,'N',130
|
||||
102139,'1234567','ATL','DFW',730,849,'AA',1339,'FYBMV','M80','B',0,'N',139
|
||||
102144,'1234567','ATL','DFW',823,930,'DL',671,'FYBMQ','72S','B',0,'N',127
|
||||
102147,'1234567','ATL','DFW',901,1027,'AA',447,'FYBMV','M80','S',0,'N',146
|
||||
102148,'1234567','ATL','DFW',1000,1110,'DL',17,'FYBMQ','L15','S',0,'N',130
|
||||
102150,'1234567','ATL','DFW',1145,1250,'DL',545,'FYBMQ','72S','L',0,'N',125
|
||||
102162,'--34567','ATL','DFW',1319,1430,'DL',179,'FYBMQ','763','L',0,'N',131
|
||||
102163,'12-----','ATL','DFW',1319,1430,'DL',179,'FYBMQ','L10','L',0,'N',131
|
||||
102164,'1234567','ATL','DFW',1347,1505,'AA',237,'FYBMV','M80','S',0,'N',138
|
||||
102165,'-2-----','ATL','DFW',1415,1525,'LH',442,'FCBMK','74M','D',0,'N',130
|
||||
102166,'1234567','ATL','DFW',1510,1620,'DL',1145,'FYBMQ','757','S',0,'N',130
|
||||
102172,'1234567','ATL','DFW',1634,1759,'AA',351,'FYBMV','M80','S',0,'N',145
|
||||
102173,'1234567','ATL','DFW',1650,1805,'DL',82,'FYBMQ','L10','D',0,'N',135
|
||||
102177,'1234567','ATL','DFW',1840,1955,'DL',405,'FYBMQ','M80','D',0,'N',135
|
||||
102188,'1234567','ATL','DFW',1925,2050,'AA',1419,'FNYNBMV','M80','D',0,'N',145
|
||||
102190,'1234567','ATL','DFW',2029,2140,'DL',275,'FNYNBNMQ','763','',0,'N',131
|
||||
102191,'1234567','ATL','DFW',2213,2321,'DL',574,'FNYNBNMQ','M80','',0,'N',128
|
||||
102192,'12345-7','ATL','DFW',2335,40,'DL',1107,'FNYNBNMQ','D9S','',0,'N',125
|
||||
102674,'1234567','ATL','OAK',1825,2205,'UA',673,'FYBMQ','733','D',1,'N',400
|
||||
102766,'1234567','ATL','PHL',636,825,'DL',296,'FNYNBNMQ','72S','B',0,'N',109
|
||||
102767,'1234567','ATL','PHL',740,929,'US',258,'FYBHQ','D9S','B',0,'N',109
|
||||
102768,'1234567','ATL','PHL',805,956,'EA',124,'FYHQK','D9S','B',0,'N',111
|
||||
102769,'1234567','ATL','PHL',935,1125,'EA',126,'FYHQK','D9S','S',0,'N',110
|
||||
102770,'1234567','ATL','PHL',1010,1200,'DL',726,'FYBMQ','72S','',0,'N',110
|
||||
102771,'1234567','ATL','PHL',1200,1345,'US',29,'FYBHQ','733','L',0,'N',105
|
||||
102772,'1234567','ATL','PHL',1215,1415,'EA',610,'FYHQK','D9S','L',0,'N',120
|
||||
102773,'1234567','ATL','PHL',1322,1515,'DL',424,'FYBMQ','72S','L',0,'N',113
|
||||
102774,'1234567','ATL','PHL',1417,1607,'EA',324,'FYHQK','D9S','',0,'N',110
|
||||
102775,'1234567','ATL','PHL',1605,1800,'EA',602,'FYHQK','D9S','S',0,'N',115
|
||||
102776,'1234567','ATL','PHL',1649,1840,'DL',1206,'FYBMQ','767','D',0,'N',111
|
||||
102777,'1234567','ATL','PHL',1650,1835,'US',1786,'FYBHQ','73S','D',0,'N',105
|
||||
102778,'1234567','ATL','PHL',1802,1959,'EA',120,'FYHQK','D9S','D',0,'N',117
|
||||
102779,'1234567','ATL','PHL',1851,2045,'DL',106,'FYBMQ','M80','D',0,'N',114
|
||||
102781,'1234567','ATL','PHL',1957,2151,'EA',604,'FYHQK','D9S','S',0,'N',114
|
||||
102782,'1234567','ATL','PHL',2035,2220,'DL',250,'FYBMQ','72S','',0,'N',105
|
||||
102783,'1234567','ATL','PHL',2140,2335,'EA',128,'FNYNHQNK','D9S','',0,'N',115
|
||||
102784,'1234567','ATL','PHL',2350,130,'DL',1210,'FNYNBNMQ','757','',0,'N',100
|
||||
102795,'1234567','ATL','PIT',630,803,'US',339,'FYBHQ','D9S','B',0,'N',93
|
||||
102796,'1234567','ATL','PIT',831,1000,'DL',842,'FYBMQ','D9S','B',0,'N',89
|
||||
102797,'1234567','ATL','PIT',925,1100,'EA',302,'FYHQK','D9S','S',0,'N',95
|
||||
102798,'1234567','ATL','PIT',1105,1238,'US',248,'FYBHQ','D9S','L',0,'N',93
|
||||
102799,'1234567','ATL','PIT',1225,1405,'EA',308,'FYHQK','757','L',0,'N',100
|
||||
102800,'1234567','ATL','PIT',1340,1510,'DL',628,'FYBMQ','73S','',0,'N',90
|
||||
102801,'1234567','ATL','PIT',1540,1713,'US',508,'FYBHQ','D9S','L/S',0,'N',93
|
||||
102802,'-----67','ATL','PIT',1711,1845,'DL',1132,'FYBMQ','73S','D',0,'N',94
|
||||
102803,'12345--','ATL','PIT',1711,1845,'DL',1132,'FYBMQ','72S','D',0,'N',94
|
||||
102804,'1234567','ATL','PIT',1759,1933,'EA',310,'YHQKL','72S','D',0,'N',94
|
||||
102805,'1234567','ATL','PIT',1920,2056,'US',480,'FYBHQ','D9S','D',0,'N',96
|
||||
102806,'1234567','ATL','PIT',1959,2139,'EA',312,'FYHQK','757','S/',0,'N',100
|
||||
102807,'1234567','ATL','PIT',2030,2205,'DL',1076,'FYBMQ','73S','',0,'N',95
|
||||
102808,'1234567','ATL','PIT',2145,2313,'EA',314,'FNYNHQNK','D9S','',0,'N',88
|
||||
102809,'1234567','ATL','PIT',2334,59,'DL',311,'FNYNBNMQ','D9S','',0,'N',85
|
||||
102923,'------7','ATL','SFO',912,1110,'DL',137,'FYBMQ','767','B',0,'N',298
|
||||
102924,'123456-','ATL','SFO',912,1110,'DL',137,'FYBMQ','L10','B',0,'N',298
|
||||
102925,'1234567','ATL','SFO',930,1157,'EA',71,'FYHQK','757','B',0,'N',327
|
||||
102927,'1234567','ATL','SFO',1200,1410,'DL',977,'FYBMQ','757','L',0,'N',310
|
||||
102929,'1234567','ATL','SFO',1525,1730,'DL',97,'FYBMQ','763','D',0,'N',305
|
||||
102930,'1234567','ATL','SFO',1625,1844,'EA',73,'FYHQK','757','D',0,'N',319
|
||||
102932,'1234567','ATL','SFO',1855,2115,'DL',99,'FYBMQ','767','D',0,'N',320
|
||||
102933,'1234567','ATL','SFO',2010,2229,'EA',77,'FYHQK','757','D',0,'N',319
|
||||
105584,'1234567','BOS','ATL',630,913,'DL',225,'FYBMQ','M80','B',0,'N',163
|
||||
105586,'1234567','BOS','ATL',700,946,'EA',147,'FNYNHQNK','72S','B',0,'N',166
|
||||
105588,'1234567','BOS','ATL',815,1100,'DL',219,'FYBMQ','L10','B',0,'N',165
|
||||
105589,'1234567','BOS','ATL',832,1126,'EA',643,'FYHQK','D9S','B',0,'N',174
|
||||
105590,'1234567','BOS','ATL',955,1235,'DL',547,'FYBMQ','72S','B',0,'N',160
|
||||
105591,'1234567','BOS','ATL',1035,1327,'EA',145,'FYHQK','D9S','L',0,'N',172
|
||||
105592,'1234567','BOS','ATL',1156,1435,'DL',708,'FYBMQ','767','L',0,'N',159
|
||||
105593,'1234567','BOS','ATL',1240,1525,'EA',143,'FYHQK','D9S','L',0,'N',165
|
||||
105594,'1234567','BOS','ATL',1421,1709,'EA',645,'YHQKL','72S','S',0,'N',168
|
||||
105595,'1234567','BOS','ATL',1520,1804,'DL',975,'FYBMQ','757','S',0,'N',164
|
||||
105597,'1234567','BOS','ATL',1605,1900,'EA',141,'FYHQK','72S','D',0,'N',175
|
||||
105598,'1234567','BOS','ATL',1758,2049,'EA',149,'FYHQK','D9S','D',0,'N',171
|
||||
105599,'1234567','BOS','ATL',1850,2128,'DL',323,'FYBMQ','757','D',0,'N',158
|
||||
105601,'1234567','BOS','ATL',2024,2258,'DL',541,'FNYNBNMQ','L10','S',0,'N',154
|
||||
105698,'1234567','BOS','BWI',645,811,'US',369,'FYBHQ','733','B/S',0,'N',86
|
||||
105699,'1234567','BOS','BWI',930,1056,'US',511,'FYBHQ','733','S/',0,'N',86
|
||||
105700,'1234567','BOS','BWI',1000,1127,'US',437,'FYBHQ','M80','S/',0,'N',87
|
||||
105701,'1234567','BOS','BWI',1330,1451,'US',269,'FYBHQ','D9S','S',0,'N',81
|
||||
105702,'1234567','BOS','BWI',1505,1626,'US',428,'FYBHQ','D9S','',0,'N',81
|
||||
105703,'1234567','BOS','BWI',1745,1912,'US',1581,'FYBHQ','72S','S',0,'N',87
|
||||
105704,'1234567','BOS','BWI',1955,2122,'US',1609,'FYBHQ','73S','',0,'N',87
|
||||
105705,'12345-7','BOS','BWI',2140,2306,'US',76,'FYBHQ','733','',0,'N',86
|
||||
105794,'123456-','BOS','DEN',838,1110,'UA',201,'FYBMQ','D8S','B',0,'N',272
|
||||
105795,'------7','BOS','DEN',840,1112,'UA',343,'FYBMQ','D8S','B',0,'N',272
|
||||
105796,'1234567','BOS','DEN',855,1140,'CO',1209,'FYQHK','M80','B',0,'N',285
|
||||
105798,'1234567','BOS','DEN',1425,1732,'CO',1215,'FYQHK','733','S',0,'N',307
|
||||
105799,'1234567','BOS','DEN',1720,1949,'UA',281,'FYBMQ','D8S','D',0,'N',269
|
||||
105800,'12345-7','BOS','DEN',1740,2033,'CO',1765,'FYQHK','M80','D',0,'N',293
|
||||
105801,'1234567','BOS','DFW',653,1017,'AA',315,'FYBMV','D10','B',0,'N',264
|
||||
105802,'1234567','BOS','DFW',805,1110,'DL',831,'FYBMQ','757','B',0,'N',245
|
||||
105803,'1234567','BOS','DFW',830,1209,'AA',1099,'FYBMV','M80','B',0,'N',279
|
||||
105805,'1234567','BOS','DFW',1132,1430,'DL',169,'FYBMQ','757','L',0,'N',238
|
||||
105806,'1234567','BOS','DFW',1149,1520,'AA',813,'FYBMV','767','L',0,'N',271
|
||||
105807,'1234567','BOS','DFW',1428,1750,'AA',215,'FYBMV','D10','S',0,'N',262
|
||||
105808,'1234567','BOS','DFW',1445,1755,'DL',697,'FYBMQ','72S','S',0,'N',250
|
||||
105810,'1234567','BOS','DFW',1721,2144,'DL',589,'FYBMQ','72S','SD',1,'N',323
|
||||
105811,'1234567','BOS','DFW',1740,2100,'AA',155,'FYBMV','767','D',0,'N',260
|
||||
105812,'1234567','BOS','DFW',1845,2144,'DL',487,'FYBMQ','72S','D',0,'N',239
|
||||
106229,'123456-','BOS','PHL',630,750,'US',1800,'FYBHQ','734','S',0,'N',80
|
||||
106230,'1234567','BOS','PHL',700,820,'ML',455,'FYMHQ','D9S','B/S',0,'N',80
|
||||
106231,'1234567','BOS','PHL',705,817,'US',567,'FYBHQ','72S','S',0,'N',72
|
||||
106232,'1234567','BOS','PHL',817,940,'DL',891,'FYBMQ','72S','B/S',0,'N',83
|
||||
106234,'1234567','BOS','PHL',850,1010,'US',577,'FYBHQ','100','',0,'N',80
|
||||
106235,'123456-','BOS','PHL',910,1030,'ML',437,'FYMHQ','D9S','B/S',0,'N',80
|
||||
106236,'1234567','BOS','PHL',1030,1150,'US',569,'FYBHQ','733','',0,'N',80
|
||||
106237,'1234567','BOS','PHL',1125,1245,'US',359,'FYBHQ','733','',0,'N',80
|
||||
106238,'1234567','BOS','PHL',1142,1300,'DL',949,'FYBMQ','72S','S',0,'N',78
|
||||
106239,'1234567','BOS','PHL',1215,1335,'ML',425,'FYMHQ','D9S','L/S',0,'N',80
|
||||
106240,'-2-4--7','BOS','PHL',1325,1445,'LH',420,'FCBMK','D10','',0,'N',80
|
||||
106241,'1234567','BOS','PHL',1400,1520,'ML',439,'FYMHQ','D9S','',0,'N',80
|
||||
106242,'1234567','BOS','PHL',1414,1535,'DL',639,'FYBMQ','72S','',0,'N',81
|
||||
106245,'12345-7','BOS','PHL',1510,1629,'US',731,'FYBHQ','D9S','',0,'N',79
|
||||
106246,'1234567','BOS','PHL',1545,1704,'US',297,'FYBHQ','D9S','',0,'N',79
|
||||
106247,'1234567','BOS','PHL',1645,1808,'US',1664,'FYBHQ','733','',0,'N',83
|
||||
106248,'1234567','BOS','PHL',1721,1840,'DL',589,'FYBMQ','72S','S',0,'N',79
|
||||
106249,'1234567','BOS','PHL',1745,1905,'ML',413,'FYMHQ','D9S','D/S',0,'N',80
|
||||
106250,'12345-7','BOS','PHL',1805,1924,'US',101,'FYBHQ','D9S','',0,'N',79
|
||||
106251,'12345-7','BOS','PHL',1855,2015,'US',293,'FYBHQ','733','',0,'N',80
|
||||
106252,'12345-7','BOS','PHL',1900,2019,'ML',431,'FYMHQ','D9S','D/S',0,'N',79
|
||||
106253,'1234567','BOS','PHL',1950,2111,'US',411,'FYBHQ','M80','',0,'N',81
|
||||
106254,'1234567','BOS','PHL',2033,2150,'DL',339,'FYBMQ','72S','',0,'N',77
|
||||
106255,'12345-7','BOS','PHL',2145,2304,'US',307,'FYBHQ','D9S','',0,'N',79
|
||||
106262,'123456-','BOS','PIT',630,950,'US',1800,'FYBHQ','734','S',1,'N',200
|
||||
106263,'1234567','BOS','PIT',715,857,'US',476,'FYBHQ','72S','B',0,'N',102
|
||||
106264,'1234567','BOS','PIT',810,953,'US',65,'FYBHQ','D9S','B',0,'N',103
|
||||
106265,'1234567','BOS','PIT',1145,1333,'US',167,'FYBHQ','733','S',0,'N',108
|
||||
106266,'1234567','BOS','PIT',1210,1353,'US',81,'FYBHQ','M80','S',0,'N',103
|
||||
106267,'1234567','BOS','PIT',1520,1706,'US',148,'FYBHQ','73S','S/',0,'N',106
|
||||
106268,'1234567','BOS','PIT',1640,1823,'US',303,'FYBHQ','D9S','S/',0,'N',103
|
||||
106269,'1234567','BOS','PIT',1755,1941,'US',1652,'FYBHQ','73S','S',0,'N',106
|
||||
106270,'12345-7','BOS','PIT',1855,2207,'US',293,'FYBHQ','733','',1,'N',192
|
||||
106271,'12345-7','BOS','PIT',2105,2248,'US',345,'FYBHQ','M80','',0,'N',103
|
||||
106365,'1234567','BOS','SFO',800,1131,'UA',21,'FYBMQ','D10','B',0,'N',391
|
||||
106366,'------7','BOS','SFO',840,1336,'UA',343,'FYBMQ','D8S','BL',1,'N',476
|
||||
106373,'1234567','BOS','SFO',1149,1758,'AA',813,'FYBMV','767','LD',1,'N',549
|
||||
106375,'12345-7','BOS','SFO',1740,2310,'CO',1765,'FYQHK','M80','D',1,'N',510
|
||||
106376,'1234567','BOS','SFO',1745,2127,'UA',93,'FYBMQ','D8S','D',0,'N',402
|
||||
106377,'1234567','BOS','SFO',1810,2137,'TW',61,'FCYBQ','L10','D',0,'N',387
|
||||
107159,'1234567','BWI','ATL',550,739,'DL',995,'FNYNBNMQ','M80','B',0,'N',109
|
||||
107160,'1234567','BWI','ATL',640,835,'EA',207,'FNYNHQNK','72S','B',0,'N',115
|
||||
107161,'1234567','BWI','ATL',800,1001,'EA',203,'FYHQK','D9S','B',0,'N',121
|
||||
107162,'1234567','BWI','ATL',900,1050,'DL',125,'FYBMQ','757','S',0,'N',110
|
||||
107163,'1234567','BWI','ATL',940,1137,'EA',201,'FYHQK','D9S','S',0,'N',117
|
||||
107164,'1234567','BWI','ATL',1144,1335,'EA',205,'FYHQK','D9S','L',0,'N',111
|
||||
107165,'1234567','BWI','ATL',1230,1423,'DL',539,'FYBMQ','M80','L',0,'N',113
|
||||
107166,'1234567','BWI','ATL',1600,1750,'DL',1055,'FYBMQ','M80','S/',0,'N',110
|
||||
107167,'1234567','BWI','ATL',1659,1854,'EA',131,'FYHQK','D9S','D',0,'N',115
|
||||
107168,'1234567','BWI','ATL',1945,2128,'DL',469,'FYBMQ','757','',0,'N',103
|
||||
107193,'123456-','BWI','BOS',720,839,'US',1049,'FYBHQ','72S','B/S',0,'N',79
|
||||
107194,'1234567','BWI','BOS',905,1025,'US',600,'FYBHQ','733','S/',0,'N',80
|
||||
107195,'1234567','BWI','BOS',1010,1130,'US',1508,'FYBHQ','72S','S/',0,'N',80
|
||||
107196,'1234567','BWI','BOS',1310,1430,'US',324,'FYBHQ','73S','S',0,'N',80
|
||||
107197,'1234567','BWI','BOS',1630,1749,'US',1016,'FYBHQ','72S','',0,'N',79
|
||||
107198,'1234567','BWI','BOS',1745,1905,'US',1586,'FYBHQ','73S','S',0,'N',80
|
||||
107199,'1234567','BWI','BOS',2045,2205,'US',1750,'FYBHQ','734','',0,'N',80
|
||||
107200,'1234567','BWI','BOS',2110,2231,'US',368,'FYBHQ','733','',0,'N',81
|
||||
107253,'123456-','BWI','DEN',800,1135,'US',1402,'FYBHQ','733','SB',1,'N',335
|
||||
107254,'1234567','BWI','DEN',915,1110,'UA',277,'FYBMQ','72S','B',0,'N',235
|
||||
107255,'1234567','BWI','DEN',1205,1410,'US',2123,'FYBHQ','734','L',0,'N',245
|
||||
107256,'1234567','BWI','DEN',1745,1933,'UA',707,'FYBMQ','72S','D',0,'N',228
|
||||
107257,'1234567','BWI','DFW',745,1015,'AA',195,'FYBMV','M80','B',0,'N',210
|
||||
107258,'1234567','BWI','DFW',845,1100,'DL',1028,'FYBMQ','D9S','B',0,'N',195
|
||||
107259,'1234567','BWI','DFW',1245,1518,'AA',273,'FYBMV','72S','L',0,'N',213
|
||||
107260,'1234567','BWI','DFW',1505,1745,'AA',1179,'FYBMV','M80','S',0,'N',220
|
||||
107261,'1234567','BWI','DFW',1530,1800,'DL',743,'FYBMQ','73S','S',0,'N',210
|
||||
107264,'1234567','BWI','DFW',1852,2120,'AA',599,'FYBMV','72S','D',0,'N',208
|
||||
107470,'123456-','BWI','PHL',715,808,'US',3724,'YBHQM','SH3','',0,'Y',53
|
||||
107471,'1234567','BWI','PHL',1000,1053,'US',4518,'YBHQM','DH8','',0,'Y',53
|
||||
107472,'1234567','BWI','PHL',1205,1258,'US',3533,'YBHQM','SH6','',0,'Y',53
|
||||
107473,'1234567','BWI','PHL',1325,1415,'US',4393,'YBHQM','DH8','',0,'Y',50
|
||||
107474,'12345-7','BWI','PHL',1500,1543,'US',4386,'YBHQM','DH8','',0,'Y',43
|
||||
107475,'1234567','BWI','PHL',1640,1733,'US',3738,'YBHQM','SH3','',0,'Y',53
|
||||
107476,'12345-7','BWI','PHL',1930,2020,'US',3753,'YBHQM','SH3','',0,'Y',50
|
||||
107477,'12345-7','BWI','PHL',2010,2103,'US',3721,'YBHQM','SH6','',0,'Y',53
|
||||
107478,'12345-7','BWI','PHL',2053,2146,'US',3671,'YBHQM','SH6','',0,'Y',53
|
||||
107484,'123456-','BWI','PIT',700,758,'US',351,'FYBHQ','734','S',0,'N',58
|
||||
107485,'------7','BWI','PIT',715,815,'US',931,'FYBHQ','100','S',0,'N',60
|
||||
107486,'123456-','BWI','PIT',800,901,'US',1402,'FYBHQ','733','S',0,'N',61
|
||||
107487,'1234567','BWI','PIT',1240,1343,'US',1276,'FYBHQ','733','',0,'N',63
|
||||
107488,'------7','BWI','PIT',1300,1406,'US',977,'FYBHQ','F28','',0,'N',66
|
||||
107489,'1234567','BWI','PIT',1620,1720,'US',451,'FYBHQ','72S','',0,'N',60
|
||||
107490,'1234567','BWI','PIT',1710,1812,'US',189,'FYBHQ','D9S','',0,'N',62
|
||||
107491,'1234567','BWI','PIT',1825,1928,'US',1605,'FYBHQ','733','',0,'N',63
|
||||
107492,'1234567','BWI','PIT',2100,2202,'US',1216,'FYBHQ','73S','',0,'N',62
|
||||
111886,'1234567','DEN','ATL',55,527,'DL',296,'FNYNBNMQ','72S','',0,'N',152
|
||||
111887,'1234567','DEN','ATL',215,654,'EA',820,'FNYNHQNK','757','S',0,'N',159
|
||||
111888,'1234567','DEN','ATL',800,1235,'DL',402,'FYBMQ','72S','B',0,'N',155
|
||||
111889,'1234567','DEN','ATL',825,1315,'EA',822,'FYHQK','72S','B',0,'N',170
|
||||
111891,'1234567','DEN','ATL',1039,1537,'UA',408,'FYBMQ','733','L',0,'N',178
|
||||
111892,'1234567','DEN','ATL',1055,1541,'DL',317,'FYBMQ','757','L',0,'N',166
|
||||
111893,'1234567','DEN','ATL',1155,1645,'EA',824,'FYHQK','72S','L',0,'N',170
|
||||
111894,'1234567','DEN','ATL',1450,1925,'DL',704,'FYBMQ','757','D',0,'N',155
|
||||
111895,'1234567','DEN','ATL',1815,2250,'DL',1644,'FYBMQ','72S','D',0,'N',155
|
||||
111896,'1234567','DEN','ATL',1837,2330,'UA',886,'FYBMQ','73S','D',0,'N',173
|
||||
111924,'1234567','DEN','BOS',55,1000,'DL',296,'FNYNBNMQ','72S','B',2,'N',425
|
||||
111928,'1234567','DEN','BOS',1039,1619,'UA',352,'FYBMQ','D8S','L',0,'N',220
|
||||
111929,'1234567','DEN','BOS',1105,1700,'CO',1234,'FYQHK','M80','L',0,'N',235
|
||||
111930,'1234567','DEN','BOS',1455,2205,'US',1750,'FYBHQ','734','L',1,'N',310
|
||||
111931,'1234567','DEN','BOS',1520,2056,'UA',354,'FYBMQ','72S','D',0,'N',216
|
||||
111932,'1234567','DEN','BOS',1605,2145,'CO',1220,'FYQHK','M80','D',0,'N',220
|
||||
111933,'12345-7','DEN','BOS',1935,132,'CO',1270,'FYQHK','733','D',0,'N',237
|
||||
111937,'1234567','DEN','BWI',1045,1553,'UA',658,'FYBMQ','72S','L',0,'N',188
|
||||
111939,'1234567','DEN','BWI',1455,2010,'US',1750,'FYBHQ','734','L',0,'N',195
|
||||
111941,'1234567','DEN','BWI',1828,2332,'UA',302,'FYBMQ','72S','D',0,'N',184
|
||||
112028,'1234567','DEN','DFW',450,742,'AA',1412,'FNYNBMV','M80','',0,'N',112
|
||||
112029,'123456-','DEN','DFW',605,851,'UA',216,'FYBMQ','733','B',0,'N',106
|
||||
112030,'--34567','DEN','DFW',620,906,'DL',465,'FNYNBNMQ','M80','B',0,'N',106
|
||||
112031,'12-----','DEN','DFW',620,906,'DL',465,'FNYNBNMQ','72S','B',0,'N',106
|
||||
112032,'1234567','DEN','DFW',901,1210,'AA',912,'FYBMV','M80','S',0,'N',129
|
||||
112033,'1234567','DEN','DFW',950,1235,'DL',335,'FYBMQ','M80','S',0,'N',105
|
||||
112034,'1234567','DEN','DFW',1029,1312,'UA',438,'FYBMQ','727','L',0,'N',103
|
||||
112035,'1234567','DEN','DFW',1040,1343,'AA',464,'FYBMV','M80','S',0,'N',123
|
||||
112036,'1234567','DEN','DFW',1105,1353,'CO',1226,'FYQHK','72S','L',0,'N',108
|
||||
112037,'1234567','DEN','DFW',1210,1504,'AA',242,'FYBMV','M80','L',0,'N',114
|
||||
112038,'-----6-','DEN','DFW',1310,1555,'UA',888,'FYBMQ','727','S',0,'N',105
|
||||
112039,'12345-7','DEN','DFW',1310,1555,'UA',880,'FYBMQ','727','S',0,'N',105
|
||||
112041,'1234567','DEN','DFW',1325,1615,'CO',90,'FYQHK','72S','S',0,'N',110
|
||||
112040,'1234567','DEN','DFW',1325,1615,'DL',870,'FYBMQ','M80','L',0,'N',110
|
||||
112042,'1234567','DEN','DFW',1340,1628,'AA',50,'FYBMV','M80','',0,'N',108
|
||||
112043,'1234567','DEN','DFW',1507,1753,'UA',450,'FYBMQ','727','',0,'N',106
|
||||
112044,'1234567','DEN','DFW',1605,1905,'CO',1652,'FYQHK','M80','D',0,'N',120
|
||||
112045,'1234567','DEN','DFW',1613,1923,'AA',618,'FYBMV','72S','D',0,'N',130
|
||||
112046,'1234567','DEN','DFW',1700,1943,'DL',742,'FYBMQ','72S','D',0,'N',103
|
||||
112047,'1234567','DEN','DFW',1723,2006,'UA',714,'FYBMQ','72S','D',0,'N',103
|
||||
112048,'1234567','DEN','DFW',1808,2103,'AA',1486,'FYBMV','M80','D',0,'N',115
|
||||
112049,'12345-7','DEN','DFW',1835,2122,'UA',664,'FYBMQ','727','D',0,'N',107
|
||||
112050,'1234567','DEN','DFW',1925,2220,'CO',935,'FYQHK','733','S',0,'N',115
|
||||
112051,'1234567','DEN','DFW',1955,2240,'DL',661,'FNYNBNMQ','72S','S',0,'N',105
|
||||
112052,'1234567','DEN','DFW',2036,2327,'AA',1432,'FNYNBMV','M80','',0,'N',111
|
||||
112351,'1234567','DEN','OAK',840,1014,'UA',389,'FYBMQ','727','B',0,'N',154
|
||||
112352,'1234567','DEN','OAK',1208,1339,'UA',551,'FYBMQ','727','L',0,'N',151
|
||||
112353,'1234567','DEN','OAK',1715,1852,'UA',645,'FYBMQ','73S','D',0,'N',157
|
||||
112354,'1234567','DEN','OAK',2030,2205,'UA',673,'FYBMQ','733','',0,'N',155
|
||||
112413,'1234567','DEN','PHL',55,825,'DL',296,'FNYNBNMQ','72S','B',1,'N',330
|
||||
112415,'1234567','DEN','PHL',1033,1553,'UA',270,'FYBMQ','D8S','L',0,'N',200
|
||||
112416,'1234567','DEN','PHL',1120,1705,'CO',1602,'FYQHK','733','L',0,'N',225
|
||||
112417,'1234567','DEN','PHL',1524,2041,'UA',494,'FYBMQ','D10','D',0,'N',197
|
||||
112418,'1234567','DEN','PHL',1615,2146,'CO',784,'FYQHK','72S','D/S',0,'N',211
|
||||
112440,'1234567','DEN','PIT',730,1225,'US',1039,'FYBHQ','734','B',0,'N',175
|
||||
112441,'1234567','DEN','PIT',1035,1527,'US',1520,'FYBHQ','733','B',0,'N',172
|
||||
112442,'1234567','DEN','PIT',1605,2057,'US',1421,'FYBHQ','733','D',0,'N',172
|
||||
112513,'1234567','DEN','SFO',830,1006,'UA',819,'FCYBM','D10','B',0,'N',156
|
||||
112514,'1234567','DEN','SFO',840,1041,'CO',1679,'FYQHK','733','B',0,'N',181
|
||||
112515,'1234567','DEN','SFO',935,1110,'UA',315,'FYBMQ','72S','S',0,'N',155
|
||||
112516,'1234567','DEN','SFO',1200,1336,'UA',343,'FYBMQ','D8S','L',0,'N',156
|
||||
112519,'12345-7','DEN','SFO',1220,1416,'CO',1295,'FYQHK','733','L',0,'N',176
|
||||
112518,'-----6-','DEN','SFO',1220,1416,'CO',1291,'FYQHK','72S','L',0,'N',176
|
||||
112520,'1234567','DEN','SFO',1408,1535,'UA',773,'FYBMQ','727','S',0,'N',147
|
||||
112524,'1234567','DEN','SFO',1735,1912,'UA',207,'FYBMQ','757','D',0,'N',157
|
||||
112525,'1234567','DEN','SFO',1810,1947,'CO',511,'FYQHK','72S','D/S',0,'N',157
|
||||
112526,'1234567','DEN','SFO',2045,2214,'UA',297,'FYBMQ','72S','',0,'N',149
|
||||
112527,'1234567','DEN','SFO',2130,2310,'CO',1765,'FQYNHK','M80','',0,'N',160
|
||||
112766,'1234567','DFW','ATL',625,917,'DL',16,'FYBMQ','L15','B',0,'N',112
|
||||
112771,'1234567','DFW','ATL',658,950,'AA',864,'FNYNBMV','M80','B',0,'N',112
|
||||
112772,'1234567','DFW','ATL',800,1050,'DL',83,'FYBMQ','L10','B',0,'N',110
|
||||
112773,'1234567','DFW','ATL',945,1244,'DL',790,'FYBMQ','767','S',0,'N',119
|
||||
112777,'1234567','DFW','ATL',1140,1434,'DL',446,'FYBMQ','M80','L',0,'N',114
|
||||
112783,'1234567','DFW','ATL',1251,1549,'AA',504,'FYBMV','M80','L',0,'N',118
|
||||
112784,'1234567','DFW','ATL',1305,1606,'DL',796,'FYBMQ','763','L',0,'N',121
|
||||
112789,'1234567','DFW','ATL',1442,1746,'AA',482,'FYBMV','M80','S',0,'N',124
|
||||
112790,'1234567','DFW','ATL',1501,1753,'DL',688,'FYBMQ','763','S',0,'N',112
|
||||
112793,'--34567','DFW','ATL',1650,1943,'DL',748,'FYBMQ','L10','D',0,'N',113
|
||||
112794,'12-----','DFW','ATL',1650,1943,'DL',748,'FYBMQ','763','D',0,'N',113
|
||||
112797,'-2-----','DFW','ATL',1705,2005,'LH',443,'FCBMK','74M','D',0,'N',120
|
||||
112798,'1234567','DFW','ATL',1716,2016,'AA',222,'FYBMV','M80','D',0,'N',120
|
||||
112802,'1234567','DFW','ATL',1840,2133,'DL',832,'FYBMQ','M80','D',0,'N',113
|
||||
112804,'1234567','DFW','ATL',1958,2255,'AA',496,'FNYNBMV','M80','S/',0,'N',117
|
||||
112805,'1234567','DFW','ATL',2010,2258,'DL',1720,'FYBMQ','72S','S/',0,'N',108
|
||||
112806,'1234567','DFW','ATL',2215,100,'DL',1008,'FNYNBNMQ','D9S','',0,'N',105
|
||||
112807,'1234567','DFW','ATL',2257,151,'AA',628,'FNYNBMV','M80','',0,'N',114
|
||||
112808,'1234567','DFW','ATL',2345,230,'DL',1030,'FNYNBNMQ','M80','',0,'N',105
|
||||
112864,'1234567','DFW','BOS',641,1104,'AA',928,'FYBMV','767','B',0,'N',203
|
||||
112867,'12-----','DFW','BOS',1005,1435,'DL',694,'FYBMQ','72S','B',0,'N',210
|
||||
112866,'--34567','DFW','BOS',1005,1435,'DL',694,'FYBMQ','M80','B',0,'N',210
|
||||
112869,'1234567','DFW','BOS',1304,1730,'AA',28,'FYBMV','D10','L/S',0,'N',206
|
||||
112870,'1234567','DFW','BOS',1315,1755,'DL',128,'FYBMQ','757','L',0,'N',220
|
||||
112872,'1234567','DFW','BOS',1448,1925,'AA',634,'FYBMV','767','S',0,'N',217
|
||||
112873,'1234567','DFW','BOS',1705,2125,'DL',670,'FYBMQ','72S','D',0,'N',200
|
||||
112874,'1234567','DFW','BOS',1719,2152,'AA',154,'FYBMV','D10','D',0,'N',213
|
||||
112903,'1234567','DFW','BWI',822,1200,'AA',314,'FYBMV','72S','B',0,'N',158
|
||||
112904,'1234567','DFW','BWI',1020,1400,'DL',430,'FYBMQ','73S','L',0,'N',160
|
||||
112905,'1234567','DFW','BWI',1426,1807,'AA',600,'FYBMV','72S','S',0,'N',161
|
||||
112907,'1234567','DFW','BWI',1708,2045,'DL',605,'FYBMQ','M80','D',0,'N',157
|
||||
112908,'1234567','DFW','BWI',1717,2110,'AA',268,'FYBMV','M80','D',0,'N',173
|
||||
112909,'1234567','DFW','BWI',1957,2334,'AA',376,'FYBMV','72S','S',0,'N',157
|
||||
112989,'1234567','DFW','DEN',650,800,'CO',1149,'FYQHK','733','B',0,'N',130
|
||||
112990,'1234567','DFW','DEN',658,753,'AA',1443,'FYBMV','M80','B',0,'N',115
|
||||
112991,'123456-','DFW','DEN',700,753,'UA',953,'FYBMQ','72S','B',0,'N',113
|
||||
112992,'1234567','DFW','DEN',816,910,'DL',416,'FYBMQ','M80','B',0,'N',114
|
||||
112993,'1234567','DFW','DEN',822,932,'AA',445,'FYBMV','M80','B',0,'N',130
|
||||
112994,'1234567','DFW','DEN',830,921,'UA',985,'FYBMQ','727','B',0,'N',111
|
||||
112995,'1234567','DFW','DEN',941,1047,'AA',521,'FYBMV','M80','S',0,'N',126
|
||||
112996,'-----6-','DFW','DEN',1030,1130,'CO',1291,'FYQHK','72S','S',0,'N',120
|
||||
112997,'12345-7','DFW','DEN',1030,1130,'CO',215,'FYQHK','72S','S',0,'N',120
|
||||
112998,'1234567','DFW','DEN',1032,1125,'UA',551,'FYBMQ','727','S',0,'N',113
|
||||
112999,'1234567','DFW','DEN',1108,11,'AA',419,'FYBMV','M80','S',0,'N',123
|
||||
113000,'1234567','DFW','DEN',1151,1245,'DL',551,'FYBMQ','M80','L',0,'N',114
|
||||
113001,'1234567','DFW','DEN',1240,1333,'UA',773,'FYBMQ','727','L',0,'N',113
|
||||
113002,'1234567','DFW','DEN',1428,1528,'AA',1249,'FYBMV','72S','',0,'N',120
|
||||
113003,'1234567','DFW','DEN',1500,1554,'DL',309,'FYBMQ','72S','',0,'N',114
|
||||
113004,'1234567','DFW','DEN',1547,1646,'UA',725,'FYBMQ','733','',0,'N',119
|
||||
113005,'1234567','DFW','DEN',1607,1714,'AA',51,'FYBMV','M80','',0,'N',127
|
||||
113006,'1234567','DFW','DEN',1630,1729,'CO',469,'FYQHK','72S','',0,'N',119
|
||||
113007,'1234567','DFW','DEN',1835,1936,'AA',193,'FNYNBMV','M80','D',0,'N',121
|
||||
113008,'12345-7','DFW','DEN',1850,1951,'UA',475,'FYBMQ','733','D',0,'N',121
|
||||
113009,'1234567','DFW','DEN',1855,1950,'DL',807,'FYBMQ','72S','D',0,'N',115
|
||||
113010,'1234567','DFW','DEN',1940,2040,'CO',271,'FYQHK','M80','D/S',0,'N',120
|
||||
113011,'1234567','DFW','DEN',2153,2253,'AA',313,'FNYNBMV','M80','',0,'N',120
|
||||
113013,'1-----7','DFW','DEN',2225,2320,'DL',621,'FNYNBNMQ','72S','',0,'N',115
|
||||
113012,'-23456-','DFW','DEN',2225,2320,'DL',621,'FNYNBNMQ','M80','',0,'N',115
|
||||
113498,'1234567','DFW','OAK',943,1133,'AA',877,'FYBMV','M80','B',0,'N',230
|
||||
113499,'1234567','DFW','OAK',1032,1339,'UA',551,'FYBMQ','727','SL',1,'N',307
|
||||
113500,'1234567','DFW','OAK',1835,2023,'AA',459,'FYBMV','M80','D',0,'N',228
|
||||
113501,'1234567','DFW','OAK',2153,2343,'AA',367,'FNYNBMV','M80','',0,'N',230
|
||||
113576,'1234567','DFW','PHL',703,1106,'AA',124,'FYBMV','M80','B',0,'N',183
|
||||
113577,'1234567','DFW','PHL',950,1350,'DL',1006,'FYBMQ','73S','B',0,'N',180
|
||||
113578,'1234567','DFW','PHL',1303,1706,'AA',1010,'FYBMV','767','L/S',0,'N',183
|
||||
113579,'1234567','DFW','PHL',1310,1705,'DL',234,'FYBMQ','72S','L',0,'N',175
|
||||
113581,'1234567','DFW','PHL',1718,2130,'AA',586,'FYBMV','M80','D',0,'N',192
|
||||
113582,'1234567','DFW','PHL',1959,2358,'AA',1074,'FYBMV','M80','S/',0,'N',179
|
||||
113583,'1234567','DFW','PHL',2025,15,'DL',1546,'FNYNBNMQ','72S','S',0,'N',170
|
||||
113595,'1234567','DFW','PIT',825,1200,'AA',478,'FYBMV','M80','B',0,'N',155
|
||||
113596,'1234567','DFW','PIT',845,1214,'US',326,'FYBHQ','M80','B',0,'N',149
|
||||
113597,'1234567','DFW','PIT',1230,1559,'US',96,'FYBHQ','M80','L',0,'N',149
|
||||
113599,'1234567','DFW','PIT',1434,1804,'AA',296,'FYBMV','M80','S',0,'N',150
|
||||
113600,'1234567','DFW','PIT',1720,2059,'US',504,'FYBHQ','M80','D',0,'N',159
|
||||
113602,'1234567','DFW','PIT',1958,2328,'AA',144,'FYBMV','M80','S/',0,'N',150
|
||||
113705,'1234567','DFW','SFO',815,955,'DL',825,'FYBMQ','757','B',0,'N',220
|
||||
113706,'1234567','DFW','SFO',826,1013,'AA',203,'FYBMV','D10','B',0,'N',227
|
||||
113707,'1234567','DFW','SFO',935,1127,'UA',459,'FYBMQ','733','L',0,'N',232
|
||||
113709,'1234567','DFW','SFO',944,1147,'AA',125,'FYBMV','M80','B',0,'N',243
|
||||
113710,'-----6-','DFW','SFO',1030,1416,'CO',1291,'FYQHK','72S','SL',1,'N',346
|
||||
113711,'1234567','DFW','SFO',1107,59,'AA',295,'FYBMV','D10','L',0,'N',232
|
||||
113712,'1234567','DFW','SFO',1143,1325,'DL',149,'FYBMQ','767','L',0,'N',222
|
||||
113713,'1234567','DFW','SFO',1240,1535,'UA',773,'FYBMQ','727','LS',1,'N',295
|
||||
113715,'1234567','DFW','SFO',1510,1650,'DL',887,'FYBMQ','757','S',0,'N',220
|
||||
113716,'1234567','DFW','SFO',1604,1758,'AA',813,'FYBMV','767','D',0,'N',234
|
||||
113717,'1234567','DFW','SFO',1705,1858,'AA',1119,'FYBMV','767','D',0,'N',233
|
||||
113718,'1234567','DFW','SFO',1840,2029,'AA',71,'FYBMV','D10','D',0,'N',229
|
||||
113719,'1234567','DFW','SFO',1900,2050,'DL',139,'FYBMQ','757','D',0,'N',230
|
||||
113720,'1234567','DFW','SFO',2155,2341,'AA',37,'FNYNBMV','767','S',0,'N',226
|
||||
113721,'1234567','DFW','SFO',2214,2350,'DL',395,'FNYNBNMQ','757','S',0,'N',216
|
||||
133423,'1234567','OAK','BOS',1105,2056,'UA',354,'FYBMQ','72S','LD',1,'N',411
|
||||
133430,'1234567','OAK','DEN',625,949,'UA',982,'FYBMQ','733','B',0,'N',144
|
||||
133431,'1234567','OAK','DEN',1105,1417,'UA',354,'FYBMQ','72S','L',0,'N',132
|
||||
133432,'1234567','OAK','DEN',1425,1740,'UA',436,'FYBMQ','727','S',0,'N',135
|
||||
133433,'1234567','OAK','DEN',1930,2251,'UA',384,'FYBMQ','73S','S/',0,'N',141
|
||||
133434,'1234567','OAK','DFW',35,552,'AA',534,'FNYNBMV','M80','',0,'N',197
|
||||
133435,'1234567','OAK','DFW',640,1214,'AA',1086,'FYBMV','M80','B',0,'N',214
|
||||
133436,'1234567','OAK','DFW',1345,1912,'AA',1074,'FYBMV','M80','L',0,'N',207
|
||||
133516,'1234567','OAK','PHL',1345,2358,'AA',1074,'FYBMV','M80','LS/L',1,'N',433
|
||||
133567,'123456-','OAK','SFO',530,554,'AA',5112,'YNBMVQ','SWM','',0,'Y',24
|
||||
133568,'------7','OAK','SFO',735,759,'AA',5235,'YBMVQ','SWM','',0,'Y',24
|
||||
133569,'------7','OAK','SFO',1020,1055,'AA',5140,'YBMVQ','SWM','',0,'Y',35
|
||||
137221,'1234567','PHL','ATL',540,740,'DL',201,'FNYNBNMQ','72S','B',0,'N',120
|
||||
137222,'1234567','PHL','ATL',635,844,'EA',121,'FNYNHQNK','D9S','B',0,'N',129
|
||||
137223,'1234567','PHL','ATL',800,1004,'EA',601,'FYHQK','D9S','B',0,'N',124
|
||||
137224,'1234567','PHL','ATL',900,1104,'DL',803,'FYBMQ','757','S',0,'N',124
|
||||
137225,'1234567','PHL','ATL',900,1110,'US',667,'FYBHQ','733','B',0,'N',130
|
||||
137226,'1234567','PHL','ATL',930,1142,'EA',125,'FYHQK','D9S','S',0,'N',132
|
||||
137227,'1234567','PHL','ATL',1115,1320,'EA',123,'FYHQK','D9S','L',0,'N',125
|
||||
137228,'1234567','PHL','ATL',1230,1430,'DL',1083,'FYBMQ','72S','L',0,'N',120
|
||||
137229,'1234567','PHL','ATL',1304,1512,'EA',127,'FYHQK','D9S','L',0,'N',128
|
||||
137230,'1234567','PHL','ATL',1405,1605,'DL',429,'FYBMQ','72S','',0,'N',120
|
||||
137231,'1234567','PHL','ATL',1405,1615,'US',1623,'FYBHQ','73S','L/S',0,'N',130
|
||||
137232,'1234567','PHL','ATL',1500,1710,'EA',603,'FYHQK','D9S','S/',0,'N',130
|
||||
137233,'1234567','PHL','ATL',1600,1805,'DL',1507,'FYBMQ','72S','S',0,'N',125
|
||||
137234,'1234567','PHL','ATL',1700,1909,'EA',329,'FYHQK','D9S','D',0,'N',129
|
||||
137235,'1234567','PHL','ATL',1750,1950,'DL',101,'FYBMQ','72S','D',0,'N',120
|
||||
137236,'1234567','PHL','ATL',1850,2055,'EA',129,'FYHQK','D9S','D',0,'N',125
|
||||
137237,'1234567','PHL','ATL',1855,2101,'US',289,'FYBHQ','D9S','D',0,'N',126
|
||||
137238,'1234567','PHL','ATL',1935,2137,'DL',389,'FYBMQ','767','D',0,'N',122
|
||||
137315,'1234567','PHL','BOS',615,719,'DL',562,'FYBMQ','757','B/S',0,'N',64
|
||||
137316,'1234567','PHL','BOS',700,805,'US',292,'FYBHQ','733','S',0,'N',65
|
||||
137317,'123456-','PHL','BOS',700,820,'ML',436,'FYMHQ','D9S','B/S',0,'N',80
|
||||
137318,'1234567','PHL','BOS',800,907,'US',1557,'FYBHQ','73S','S',0,'N',67
|
||||
137319,'1234567','PHL','BOS',855,1000,'DL',296,'FYBMQ','72S','',0,'N',65
|
||||
137320,'1234567','PHL','BOS',1020,1127,'US',424,'FYBHQ','M80','',0,'N',67
|
||||
137321,'1234567','PHL','BOS',1020,1140,'ML',400,'FYMHQ','D9S','',0,'N',80
|
||||
137322,'1234567','PHL','BOS',1200,1315,'ML',438,'FYMHQ','D9S','L/S',0,'N',75
|
||||
137323,'1234567','PHL','BOS',1250,1355,'DL',726,'FYBMQ','72S','S',0,'N',65
|
||||
137324,'1234567','PHL','BOS',1325,1432,'US',122,'FYBHQ','D9S','',0,'N',67
|
||||
137326,'1234567','PHL','BOS',1440,1548,'US',404,'FYBHQ','72S','',0,'N',68
|
||||
137327,'1234567','PHL','BOS',1520,1627,'US',282,'FYBHQ','73S','',0,'N',67
|
||||
137328,'1234567','PHL','BOS',1540,1700,'ML',420,'FYMHQ','D9S','',0,'N',80
|
||||
137329,'1234567','PHL','BOS',1600,1707,'US',2,'FYBHQ','73S','',0,'N',67
|
||||
137330,'-2-4--7','PHL','BOS',1615,1730,'LH',421,'FCBMK','D10','',0,'N',75
|
||||
137331,'1234567','PHL','BOS',1650,1755,'DL',648,'FYBMQ','72S','S',0,'N',65
|
||||
137332,'12345-7','PHL','BOS',1700,1820,'ML',430,'FYMHQ','D9S','',0,'N',80
|
||||
137333,'1234567','PHL','BOS',1755,1902,'US',196,'FYBHQ','M80','',0,'N',67
|
||||
137334,'12345-7','PHL','BOS',1855,2002,'US',460,'FYBHQ','D9S','',0,'N',67
|
||||
137335,'1234567','PHL','BOS',1945,2053,'US',162,'FYBHQ','72S','',0,'N',68
|
||||
137336,'12345-7','PHL','BOS',2030,2137,'US',539,'FYBHQ','D9S','',0,'N',67
|
||||
137337,'1234567','PHL','BOS',2055,2215,'ML',432,'FYMHQ','D9S','',0,'N',80
|
||||
137338,'12345-7','PHL','BOS',2100,2207,'US',279,'FYBHQ','734','',0,'N',67
|
||||
137339,'1234567','PHL','BOS',2115,2219,'DL',106,'FNYNBNMQ','M80','',0,'N',64
|
||||
137353,'12345--','PHL','BWI',715,804,'US',3745,'YBHQM','SH3','',0,'Y',49
|
||||
137354,'123456-','PHL','BWI',840,929,'US',3725,'YBHQM','SH3','',0,'Y',49
|
||||
137355,'1234567','PHL','BWI',1100,1150,'US',3609,'YBHQM','SH6','',0,'Y',50
|
||||
137356,'1234567','PHL','BWI',1200,1250,'US',3765,'YBHQM','SH3','',0,'Y',50
|
||||
137357,'1234567','PHL','BWI',1335,1425,'US',4517,'YBHQM','DH8','',0,'Y',50
|
||||
137358,'1234567','PHL','BWI',1520,1620,'US',3749,'YBHQM','SH3','',0,'Y',60
|
||||
137359,'1234567','PHL','BWI',1854,1944,'US',3357,'YBHQM','J31','',0,'Y',50
|
||||
137360,'12345-7','PHL','BWI',2045,2135,'US',3753,'YBHQM','SH3','',0,'Y',50
|
||||
137361,'12345-7','PHL','BWI',2150,2240,'US',4400,'YBHQM','DH8','',0,'Y',50
|
||||
137407,'1234567','PHL','DEN',905,1107,'UA',131,'FYBMQ','D10','B',0,'N',242
|
||||
137408,'1234567','PHL','DEN',915,1138,'CO',781,'FYQHK','72S','B',0,'N',263
|
||||
137410,'1234567','PHL','DEN',1230,1615,'DL',1083,'FYBMQ','72S','LS',1,'N',345
|
||||
137412,'1234567','PHL','DEN',1753,1955,'UA',355,'FYBMQ','D8S','D',0,'N',242
|
||||
137413,'1234567','PHL','DEN',1800,2037,'CO',1631,'FYQHK','733','D',0,'N',277
|
||||
137414,'1234567','PHL','DFW',720,1014,'AA',487,'FYBMV','M80','B',0,'N',234
|
||||
137415,'1234567','PHL','DFW',830,1050,'DL',217,'FYBMQ','72S','B',0,'N',200
|
||||
137417,'1234567','PHL','DFW',1212,1502,'AA',883,'FYBMV','M80','L',0,'N',230
|
||||
137419,'1234567','PHL','DFW',1440,1710,'DL',1061,'FYBMQ','73S','S',0,'N',210
|
||||
137420,'1234567','PHL','DFW',1500,1747,'AA',459,'FYBMV','M80','S',0,'N',227
|
||||
137422,'1234567','PHL','DFW',1805,2047,'AA',573,'FYBMV','767','D',0,'N',222
|
||||
137423,'1234567','PHL','DFW',1915,2144,'DL',589,'FYBMQ','72S','D',0,'N',209
|
||||
137685,'1234567','PHL','OAK',1500,2023,'AA',459,'FYBMV','M80','SD',1,'N',503
|
||||
137732,'1234567','PHL','PIT',700,806,'US',71,'FYBHQ','733','B',0,'N',66
|
||||
137733,'1234567','PHL','PIT',740,847,'US',39,'FYBHQ','733','B',0,'N',67
|
||||
137734,'123456-','PHL','PIT',840,950,'US',1800,'FYBHQ','734','S/',0,'N',70
|
||||
137735,'1234567','PHL','PIT',1010,1115,'US',358,'FYBHQ','M80','S/',0,'N',65
|
||||
137736,'1234567','PHL','PIT',1235,1341,'US',37,'FYBHQ','733','S',0,'N',66
|
||||
137737,'1234567','PHL','PIT',1600,1706,'US',778,'FYBHQ','733','S/',0,'N',66
|
||||
137738,'1234567','PHL','PIT',1715,1822,'US',1580,'FYBHQ','734','S/',0,'N',67
|
||||
137739,'1234567','PHL','PIT',1810,1916,'US',772,'FYBHQ','72S','S',0,'N',66
|
||||
137740,'1234567','PHL','PIT',2100,2207,'US',293,'FYBHQ','733','',0,'N',67
|
||||
137811,'1234567','PHL','SFO',800,1121,'UA',143,'FYBMQ','767','B',0,'N',381
|
||||
137814,'1234567','PHL','SFO',1235,1652,'US',37,'FYBHQ','733','SL',1,'N',437
|
||||
137817,'1234567','PHL','SFO',1655,2005,'UA',101,'FYBMQ','D8S','D',0,'N',370
|
||||
138817,'1234567','PIT','ATL',600,739,'DL',357,'FNYNBNMQ','73S','B',0,'N',99
|
||||
138818,'1234567','PIT','ATL',645,825,'EA',303,'FYHQK','D9S','B',0,'N',100
|
||||
138819,'1234567','PIT','ATL',827,1004,'EA',301,'YHQKL','72S','B',0,'N',97
|
||||
138820,'1234567','PIT','ATL',845,1025,'US',573,'FYBHQ','D9S','B',0,'N',100
|
||||
138821,'1234567','PIT','ATL',910,1048,'DL',1059,'FYBMQ','D9S','S',0,'N',98
|
||||
138822,'1234567','PIT','ATL',1150,1329,'EA',307,'FYHQK','D9S','L',0,'N',99
|
||||
138823,'1234567','PIT','ATL',1245,1420,'DL',631,'FYBMQ','D9S','L',0,'N',95
|
||||
138824,'1234567','PIT','ATL',1320,1500,'US',18,'FYBHQ','D9S','L',0,'N',100
|
||||
138825,'1234567','PIT','ATL',1520,1701,'EA',311,'YHQKL','72S','S',0,'N',101
|
||||
138827,'1234567','PIT','ATL',1600,1735,'DL',709,'FYBMQ','73S','',0,'N',95
|
||||
138828,'1234567','PIT','ATL',1750,1930,'US',1103,'FYBHQ','733','D',0,'N',100
|
||||
138829,'1234567','PIT','ATL',1855,2035,'EA',327,'FYHQK','757','D',0,'N',100
|
||||
138830,'-----67','PIT','ATL',1945,2118,'DL',381,'FNYNBNMQ','73S','D',0,'N',93
|
||||
138831,'12345--','PIT','ATL',1945,2118,'DL',381,'FNYNBNMQ','72S','D',0,'N',93
|
||||
138832,'1234567','PIT','ATL',2025,2205,'US',412,'FYBHQ','D9S','D/S',0,'N',100
|
||||
138860,'1234567','PIT','BOS',710,839,'US',732,'FYBHQ','733','B',0,'N',89
|
||||
138861,'1234567','PIT','BOS',840,1006,'US',736,'FYBHQ','733','S/',0,'N',86
|
||||
138862,'1234567','PIT','BOS',1200,1328,'US',674,'FYBHQ','M80','S',0,'N',88
|
||||
138863,'1234567','PIT','BOS',1310,1440,'US',418,'FYBHQ','D9S','S',0,'N',90
|
||||
138864,'1234567','PIT','BOS',1355,1524,'US',794,'FYBHQ','D9S','S/',0,'N',89
|
||||
138865,'1234567','PIT','BOS',1640,1809,'US',14,'FYBHQ','733','S/',0,'N',89
|
||||
138866,'1234567','PIT','BOS',1800,2053,'US',162,'FYBHQ','72S','S',1,'N',173
|
||||
138867,'12345-7','PIT','BOS',1930,2058,'US',400,'FYBHQ','73S','S',0,'N',88
|
||||
138868,'1234567','PIT','BOS',2155,2322,'US',30,'FYBHQ','72S','',0,'N',87
|
||||
138878,'1234567','PIT','BWI',845,938,'US',446,'FYBHQ','72S','',0,'N',53
|
||||
138879,'1234567','PIT','BWI',1030,1129,'US',1801,'FYBHQ','734','',0,'N',59
|
||||
138880,'1234567','PIT','BWI',1400,1458,'US',538,'FYBHQ','D9S','',0,'N',58
|
||||
138881,'1234567','PIT','BWI',1525,1621,'US',1982,'FYBHQ','F28','',0,'N',56
|
||||
138882,'1234567','PIT','BWI',1640,1737,'US',2153,'FYBHQ','733','',0,'N',57
|
||||
138883,'-----6-','PIT','BWI',1810,1910,'US',975,'FYBHQ','F28','',0,'N',60
|
||||
138884,'1234567','PIT','BWI',2155,2252,'US',1793,'FYBHQ','733','',0,'N',57
|
||||
138963,'1234567','PIT','DEN',950,1135,'US',1402,'FYBHQ','733','B',0,'N',225
|
||||
138964,'1234567','PIT','DEN',1330,1510,'US',1417,'FYBHQ','733','L',0,'N',220
|
||||
138965,'1234567','PIT','DEN',1854,2253,'AA',313,'FYBMV','M80','D',1,'N',359
|
||||
138966,'1234567','PIT','DEN',2035,2226,'US',1742,'FYBHQ','734','D',0,'N',231
|
||||
138970,'1234567','PIT','DFW',640,852,'AA',493,'FYBMV','M80','B',0,'N',192
|
||||
138971,'1234567','PIT','DFW',940,1149,'US',7,'FYBHQ','M80','B',0,'N',189
|
||||
138973,'1234567','PIT','DFW',1301,1514,'AA',425,'FYBMV','M80','L/S',0,'N',193
|
||||
138974,'1234567','PIT','DFW',1430,1639,'US',503,'FYBHQ','M80','L',0,'N',189
|
||||
138976,'1234567','PIT','DFW',1854,2107,'AA',313,'FYBMV','M80','D',0,'N',193
|
||||
138977,'1234567','PIT','DFW',2020,2229,'US',19,'FYBHQ','M80','D',0,'N',189
|
||||
139264,'1234567','PIT','PHL',700,755,'US',771,'FYBHQ','72S','B',0,'N',55
|
||||
139265,'1234567','PIT','PHL',740,850,'US',620,'FYBHQ','733','B',0,'N',70
|
||||
139266,'1234567','PIT','PHL',850,958,'US',606,'FYBHQ','733','S/',0,'N',68
|
||||
139267,'1234567','PIT','PHL',1150,1251,'US',122,'FYBHQ','D9S','S',0,'N',61
|
||||
139268,'1234567','PIT','PHL',1325,1430,'US',198,'FYBHQ','733','S',0,'N',65
|
||||
139269,'1234567','PIT','PHL',1640,1745,'US',1438,'FYBHQ','733','S/',0,'N',65
|
||||
139270,'1234567','PIT','PHL',1800,1900,'US',162,'FYBHQ','72S','S',0,'N',60
|
||||
139271,'1234567','PIT','PHL',1955,2100,'US',166,'FYBHQ','733','',0,'N',65
|
||||
139272,'12345-7','PIT','PHL',2045,2145,'US',1984,'FYBHQ','73S','',0,'N',60
|
||||
139273,'1234567','PIT','PHL',2145,2250,'US',1678,'FYBHQ','734','',0,'N',65
|
||||
139353,'1234567','PIT','SFO',945,1217,'US',31,'FYBHQ','72S','B',0,'N',332
|
||||
139355,'1234567','PIT','SFO',1430,1652,'US',37,'FYBHQ','733','L',0,'N',322
|
||||
139356,'1234567','PIT','SFO',1750,2022,'US',33,'FYBHQ','733','D',0,'N',332
|
||||
139357,'1234567','PIT','SFO',2020,2250,'US',35,'FYBHQ','733','D',0,'N',330
|
||||
144059,'1234567','SFO','ATL',645,1549,'AA',504,'FYBMV','M80','BL',1,'N',364
|
||||
144060,'1234567','SFO','ATL',815,1540,'DL',98,'FYBMQ','763','B',0,'N',265
|
||||
144061,'1234567','SFO','ATL',900,1644,'EA',70,'FYHQK','757','B',0,'N',284
|
||||
144062,'------7','SFO','ATL',1215,1933,'DL',116,'FYBMQ','767','L',0,'N',258
|
||||
144063,'123456-','SFO','ATL',1215,1933,'DL',116,'FYBMQ','L10','L',0,'N',258
|
||||
144065,'1234567','SFO','ATL',1310,2041,'EA',72,'FYHQK','757','L',0,'N',271
|
||||
144066,'1234567','SFO','ATL',1530,2248,'DL',162,'FYBMQ','757','D',0,'N',258
|
||||
144067,'1234567','SFO','ATL',2220,540,'DL',156,'FNYNBNMQ','767','S',0,'N',260
|
||||
144069,'1234567','SFO','ATL',2340,657,'EA',74,'FNYNHQNK','757','S',0,'N',257
|
||||
144087,'1234567','SFO','BOS',30,1104,'AA',928,'FNYNBMV','767','B',1,'N',454
|
||||
144088,'1234567','SFO','BOS',650,1700,'CO',1234,'FYQHK','M80','BL',1,'N',430
|
||||
144089,'1234567','SFO','BOS',800,1627,'UA',92,'FYBMQ','D8S','B',0,'N',327
|
||||
144090,'1234567','SFO','BOS',825,1639,'TW',754,'FCYBQ','L10','B',0,'N',314
|
||||
144092,'123456-','SFO','BOS',1215,2255,'DL',116,'FYBMQ','L10','LS/L',1,'N',460
|
||||
144093,'1234567','SFO','BOS',1320,2322,'US',30,'FYBHQ','72S','L',1,'N',422
|
||||
144094,'1234567','SFO','BOS',1340,2202,'UA',20,'FYBMQ','D10','L',0,'N',322
|
||||
144095,'1234567','SFO','BOS',1530,153,'DL',162,'FYBMQ','757','D',1,'N',443
|
||||
144110,'1234567','SFO','BWI',755,1737,'US',2153,'FYBHQ','733','B',1,'N',402
|
||||
144143,'1234567','SFO','DEN',620,946,'UA',194,'FYBMQ','D10','B',0,'N',146
|
||||
144144,'1234567','SFO','DEN',650,1017,'CO',1234,'FYQHK','M80','B',0,'N',147
|
||||
144145,'-----6-','SFO','DEN',900,1223,'UA',888,'FYBMQ','727','B',0,'N',143
|
||||
144146,'12345--','SFO','DEN',900,1223,'UA',880,'FYBMQ','727','B',0,'N',143
|
||||
144147,'1234567','SFO','DEN',915,1244,'CO',64,'FYQHK','72S','B',0,'N',149
|
||||
144148,'1234567','SFO','DEN',1108,1428,'UA',820,'FCYBM','D10','L',0,'N',140
|
||||
144149,'1234567','SFO','DEN',1155,1523,'CO',1212,'FYQHK','733','L',0,'N',148
|
||||
144150,'1234567','SFO','DEN',1431,1753,'UA',178,'FYBMQ','D8S','S',0,'N',142
|
||||
144152,'12345-7','SFO','DEN',1520,1850,'CO',886,'FYQHK','733','S',0,'N',150
|
||||
144151,'-----6-','SFO','DEN',1520,1850,'CO',886,'FYQHK','72S','S',0,'N',150
|
||||
144153,'1234567','SFO','DEN',1825,2143,'UA',346,'FYBMQ','73S','D',0,'N',138
|
||||
144155,'1234567','SFO','DFW',20,522,'DL',374,'FNYNBNMQ','757','S',0,'N',182
|
||||
144156,'1234567','SFO','DFW',30,548,'AA',928,'FNYNBMV','767','',0,'N',198
|
||||
144157,'1234567','SFO','DFW',645,1204,'AA',504,'FYBMV','M80','B',0,'N',199
|
||||
144158,'1234567','SFO','DFW',700,1221,'DL',838,'FYBMQ','767','B',0,'N',201
|
||||
144159,'1234567','SFO','DFW',800,1315,'AA',70,'FYBMV','D10','B',0,'N',195
|
||||
144160,'-----6-','SFO','DFW',900,1555,'UA',888,'FYBMQ','727','BS',1,'N',295
|
||||
144161,'12345--','SFO','DFW',900,1555,'UA',880,'FYBMQ','727','BS',1,'N',295
|
||||
144162,'1234567','SFO','DFW',945,1503,'AA',986,'FYBMV','767','B',0,'N',198
|
||||
144163,'1234567','SFO','DFW',1059,1612,'DL',1014,'FYBMQ','757','L',0,'N',193
|
||||
144164,'1234567','SFO','DFW',1105,1622,'AA',288,'FYBMV','D10','L',0,'N',197
|
||||
144165,'1234567','SFO','DFW',1240,1808,'UA',478,'FYBMQ','733','L',0,'N',208
|
||||
144166,'1234567','SFO','DFW',1349,1910,'AA',404,'FYBMV','D10','L',0,'N',201
|
||||
144167,'1234567','SFO','DFW',1425,1937,'DL',180,'FYBMQ','767','L',0,'N',192
|
||||
144168,'1234567','SFO','DFW',1655,2215,'AA',264,'FYBMV','767','D',0,'N',200
|
||||
144169,'1234567','SFO','DFW',1750,2258,'DL',852,'FYBMQ','757','D',0,'N',188
|
||||
144477,'1234567','SFO','OAK',1250,1319,'AA',5302,'YBMVQ','SWM','',0,'Y',29
|
||||
144478,'-----6-','SFO','OAK',1749,1809,'AA',5130,'YBMVQ','SWM','',0,'Y',20
|
||||
144479,'-----6-','SFO','OAK',1831,1853,'AA',5111,'YBMVQ','SWM','',0,'Y',22
|
||||
144480,'12345-7','SFO','OAK',2221,2247,'AA',5104,'YNBMVQ','SWM','',0,'Y',26
|
||||
144541,'1234567','SFO','PHL',810,1608,'UA',130,'FYBMQ','D8S','B',0,'N',298
|
||||
144543,'1234567','SFO','PHL',1125,2100,'US',166,'FYBHQ','733','L',1,'N',395
|
||||
144547,'1234567','SFO','PHL',1330,2141,'UA',94,'FYBMQ','767','L',0,'N',311
|
||||
144572,'1234567','SFO','PIT',755,1534,'US',2153,'FYBHQ','733','B',0,'N',279
|
||||
144574,'1234567','SFO','PIT',1125,1856,'US',166,'FYBHQ','733','L',0,'N',271
|
||||
144575,'1234567','SFO','PIT',1320,2046,'US',30,'FYBHQ','72S','L',0,'N',266
|
||||
144576,'1234567','SFO','PIT',2355,726,'US',604,'FYBHQ','733','D',0,'N',271
|
2895
sql-bench/Data/ATIS/flight_class.txt
Normal file
2895
sql-bench/Data/ATIS/flight_class.txt
Normal file
File diff suppressed because it is too large
Load diff
448
sql-bench/Data/ATIS/flight_day.txt
Normal file
448
sql-bench/Data/ATIS/flight_day.txt
Normal file
|
@ -0,0 +1,448 @@
|
|||
'1234567',1,'MONDAY'
|
||||
'1234567',2,'TUESDAY'
|
||||
'1234567',3,'WEDNESDAY'
|
||||
'1234567',4,'THURSDAY'
|
||||
'1234567',5,'FRIDAY'
|
||||
'1234567',6,'SATURDAY'
|
||||
'1234567',7,'SUNDAY'
|
||||
'-234567',2,'TUESDAY'
|
||||
'-234567',3,'WEDNESDAY'
|
||||
'-234567',4,'THURSDAY'
|
||||
'-234567',5,'FRIDAY'
|
||||
'-234567',6,'SATURDAY'
|
||||
'-234567',7,'SUNDAY'
|
||||
'1-34567',1,'MONDAY'
|
||||
'1-34567',3,'WEDNESDAY'
|
||||
'1-34567',4,'THURSDAY'
|
||||
'1-34567',5,'FRIDAY'
|
||||
'1-34567',6,'SATURDAY'
|
||||
'1-34567',7,'SUNDAY'
|
||||
'--34567',3,'WEDNESDAY'
|
||||
'--34567',4,'THURSDAY'
|
||||
'--34567',5,'FRIDAY'
|
||||
'--34567',6,'SATURDAY'
|
||||
'--34567',7,'SUNDAY'
|
||||
'12-4567',1,'MONDAY'
|
||||
'12-4567',2,'TUESDAY'
|
||||
'12-4567',4,'THURSDAY'
|
||||
'12-4567',5,'FRIDAY'
|
||||
'12-4567',6,'SATURDAY'
|
||||
'12-4567',7,'SUNDAY'
|
||||
'-2-4567',2,'TUESDAY'
|
||||
'-2-4567',4,'THURSDAY'
|
||||
'-2-4567',5,'FRIDAY'
|
||||
'-2-4567',6,'SATURDAY'
|
||||
'-2-4567',7,'SUNDAY'
|
||||
'1--4567',1,'MONDAY'
|
||||
'1--4567',4,'THURSDAY'
|
||||
'1--4567',5,'FRIDAY'
|
||||
'1--4567',6,'SATURDAY'
|
||||
'1--4567',7,'SUNDAY'
|
||||
'---4567',4,'THURSDAY'
|
||||
'---4567',5,'FRIDAY'
|
||||
'---4567',6,'SATURDAY'
|
||||
'---4567',7,'SUNDAY'
|
||||
'123-567',1,'MONDAY'
|
||||
'123-567',2,'TUESDAY'
|
||||
'123-567',3,'WEDNESDAY'
|
||||
'123-567',5,'FRIDAY'
|
||||
'123-567',6,'SATURDAY'
|
||||
'123-567',7,'SUNDAY'
|
||||
'-23-567',2,'TUESDAY'
|
||||
'-23-567',3,'WEDNESDAY'
|
||||
'-23-567',5,'FRIDAY'
|
||||
'-23-567',6,'SATURDAY'
|
||||
'-23-567',7,'SUNDAY'
|
||||
'1-3-567',1,'MONDAY'
|
||||
'1-3-567',3,'WEDNESDAY'
|
||||
'1-3-567',5,'FRIDAY'
|
||||
'1-3-567',6,'SATURDAY'
|
||||
'1-3-567',7,'SUNDAY'
|
||||
'--3-567',3,'WEDNESDAY'
|
||||
'--3-567',5,'FRIDAY'
|
||||
'--3-567',6,'SATURDAY'
|
||||
'--3-567',7,'SUNDAY'
|
||||
'12--567',1,'MONDAY'
|
||||
'12--567',2,'TUESDAY'
|
||||
'12--567',5,'FRIDAY'
|
||||
'12--567',6,'SATURDAY'
|
||||
'12--567',7,'SUNDAY'
|
||||
'-2--567',2,'TUESDAY'
|
||||
'-2--567',5,'FRIDAY'
|
||||
'-2--567',6,'SATURDAY'
|
||||
'-2--567',7,'SUNDAY'
|
||||
'1---567',1,'MONDAY'
|
||||
'1---567',5,'FRIDAY'
|
||||
'1---567',6,'SATURDAY'
|
||||
'1---567',7,'SUNDAY'
|
||||
'----567',5,'FRIDAY'
|
||||
'----567',6,'SATURDAY'
|
||||
'----567',7,'SUNDAY'
|
||||
'1234-67',1,'MONDAY'
|
||||
'1234-67',2,'TUESDAY'
|
||||
'1234-67',3,'WEDNESDAY'
|
||||
'1234-67',4,'THURSDAY'
|
||||
'1234-67',6,'SATURDAY'
|
||||
'1234-67',7,'SUNDAY'
|
||||
'-234-67',2,'TUESDAY'
|
||||
'-234-67',3,'WEDNESDAY'
|
||||
'-234-67',4,'THURSDAY'
|
||||
'-234-67',6,'SATURDAY'
|
||||
'-234-67',7,'SUNDAY'
|
||||
'1-34-67',1,'MONDAY'
|
||||
'1-34-67',3,'WEDNESDAY'
|
||||
'1-34-67',4,'THURSDAY'
|
||||
'1-34-67',6,'SATURDAY'
|
||||
'1-34-67',7,'SUNDAY'
|
||||
'--34-67',3,'WEDNESDAY'
|
||||
'--34-67',4,'THURSDAY'
|
||||
'--34-67',6,'SATURDAY'
|
||||
'--34-67',7,'SUNDAY'
|
||||
'12-4-67',1,'MONDAY'
|
||||
'12-4-67',2,'TUESDAY'
|
||||
'12-4-67',4,'THURSDAY'
|
||||
'12-4-67',6,'SATURDAY'
|
||||
'12-4-67',7,'SUNDAY'
|
||||
'-2-4-67',2,'TUESDAY'
|
||||
'-2-4-67',4,'THURSDAY'
|
||||
'-2-4-67',6,'SATURDAY'
|
||||
'-2-4-67',7,'SUNDAY'
|
||||
'1--4-67',1,'MONDAY'
|
||||
'1--4-67',4,'THURSDAY'
|
||||
'1--4-67',6,'SATURDAY'
|
||||
'1--4-67',7,'SUNDAY'
|
||||
'---4-67',4,'THURSDAY'
|
||||
'---4-67',6,'SATURDAY'
|
||||
'---4-67',7,'SUNDAY'
|
||||
'123--67',1,'MONDAY'
|
||||
'123--67',2,'TUESDAY'
|
||||
'123--67',3,'WEDNESDAY'
|
||||
'123--67',6,'SATURDAY'
|
||||
'123--67',7,'SUNDAY'
|
||||
'-23--67',2,'TUESDAY'
|
||||
'-23--67',3,'WEDNESDAY'
|
||||
'-23--67',6,'SATURDAY'
|
||||
'-23--67',7,'SUNDAY'
|
||||
'1-3--67',1,'MONDAY'
|
||||
'1-3--67',3,'WEDNESDAY'
|
||||
'1-3--67',6,'SATURDAY'
|
||||
'1-3--67',7,'SUNDAY'
|
||||
'--3--67',3,'WEDNESDAY'
|
||||
'--3--67',6,'SATURDAY'
|
||||
'--3--67',7,'SUNDAY'
|
||||
'12---67',1,'MONDAY'
|
||||
'12---67',2,'TUESDAY'
|
||||
'12---67',6,'SATURDAY'
|
||||
'12---67',7,'SUNDAY'
|
||||
'-2---67',2,'TUESDAY'
|
||||
'-2---67',6,'SATURDAY'
|
||||
'-2---67',7,'SUNDAY'
|
||||
'1----67',1,'MONDAY'
|
||||
'1----67',6,'SATURDAY'
|
||||
'1----67',7,'SUNDAY'
|
||||
'-----67',6,'SATURDAY'
|
||||
'-----67',7,'SUNDAY'
|
||||
'12345-7',1,'MONDAY'
|
||||
'12345-7',2,'TUESDAY'
|
||||
'12345-7',3,'WEDNESDAY'
|
||||
'12345-7',4,'THURSDAY'
|
||||
'12345-7',5,'FRIDAY'
|
||||
'12345-7',7,'SUNDAY'
|
||||
'-2345-7',2,'TUESDAY'
|
||||
'-2345-7',3,'WEDNESDAY'
|
||||
'-2345-7',4,'THURSDAY'
|
||||
'-2345-7',5,'FRIDAY'
|
||||
'-2345-7',7,'SUNDAY'
|
||||
'1-345-7',1,'MONDAY'
|
||||
'1-345-7',3,'WEDNESDAY'
|
||||
'1-345-7',4,'THURSDAY'
|
||||
'1-345-7',5,'FRIDAY'
|
||||
'1-345-7',7,'SUNDAY'
|
||||
'--345-7',3,'WEDNESDAY'
|
||||
'--345-7',4,'THURSDAY'
|
||||
'--345-7',5,'FRIDAY'
|
||||
'--345-7',7,'SUNDAY'
|
||||
'12-45-7',1,'MONDAY'
|
||||
'12-45-7',2,'TUESDAY'
|
||||
'12-45-7',4,'THURSDAY'
|
||||
'12-45-7',5,'FRIDAY'
|
||||
'12-45-7',7,'SUNDAY'
|
||||
'-2-45-7',2,'TUESDAY'
|
||||
'-2-45-7',4,'THURSDAY'
|
||||
'-2-45-7',5,'FRIDAY'
|
||||
'-2-45-7',7,'SUNDAY'
|
||||
'1--45-7',1,'MONDAY'
|
||||
'1--45-7',4,'THURSDAY'
|
||||
'1--45-7',5,'FRIDAY'
|
||||
'1--45-7',7,'SUNDAY'
|
||||
'---45-7',4,'THURSDAY'
|
||||
'---45-7',5,'FRIDAY'
|
||||
'---45-7',7,'SUNDAY'
|
||||
'123-5-7',1,'MONDAY'
|
||||
'123-5-7',2,'TUESDAY'
|
||||
'123-5-7',3,'WEDNESDAY'
|
||||
'123-5-7',5,'FRIDAY'
|
||||
'123-5-7',7,'SUNDAY'
|
||||
'-23-5-7',2,'TUESDAY'
|
||||
'-23-5-7',3,'WEDNESDAY'
|
||||
'-23-5-7',5,'FRIDAY'
|
||||
'-23-5-7',7,'SUNDAY'
|
||||
'1-3-5-7',1,'MONDAY'
|
||||
'1-3-5-7',3,'WEDNESDAY'
|
||||
'1-3-5-7',5,'FRIDAY'
|
||||
'1-3-5-7',7,'SUNDAY'
|
||||
'--3-5-7',3,'WEDNESDAY'
|
||||
'--3-5-7',5,'FRIDAY'
|
||||
'--3-5-7',7,'SUNDAY'
|
||||
'12--5-7',1,'MONDAY'
|
||||
'12--5-7',2,'TUESDAY'
|
||||
'12--5-7',5,'FRIDAY'
|
||||
'12--5-7',7,'SUNDAY'
|
||||
'-2--5-7',2,'TUESDAY'
|
||||
'-2--5-7',5,'FRIDAY'
|
||||
'-2--5-7',7,'SUNDAY'
|
||||
'1---5-7',1,'MONDAY'
|
||||
'1---5-7',5,'FRIDAY'
|
||||
'1---5-7',7,'SUNDAY'
|
||||
'----5-7',5,'FRIDAY'
|
||||
'----5-7',7,'SUNDAY'
|
||||
'1234--7',1,'MONDAY'
|
||||
'1234--7',2,'TUESDAY'
|
||||
'1234--7',3,'WEDNESDAY'
|
||||
'1234--7',4,'THURSDAY'
|
||||
'1234--7',7,'SUNDAY'
|
||||
'-234--7',2,'TUESDAY'
|
||||
'-234--7',3,'WEDNESDAY'
|
||||
'-234--7',4,'THURSDAY'
|
||||
'-234--7',7,'SUNDAY'
|
||||
'1-34--7',1,'MONDAY'
|
||||
'1-34--7',3,'WEDNESDAY'
|
||||
'1-34--7',4,'THURSDAY'
|
||||
'1-34--7',7,'SUNDAY'
|
||||
'--34--7',3,'WEDNESDAY'
|
||||
'--34--7',4,'THURSDAY'
|
||||
'--34--7',7,'SUNDAY'
|
||||
'12-4--7',1,'MONDAY'
|
||||
'12-4--7',2,'TUESDAY'
|
||||
'12-4--7',4,'THURSDAY'
|
||||
'12-4--7',7,'SUNDAY'
|
||||
'-2-4--7',2,'TUESDAY'
|
||||
'-2-4--7',4,'THURSDAY'
|
||||
'-2-4--7',7,'SUNDAY'
|
||||
'1--4--7',1,'MONDAY'
|
||||
'1--4--7',4,'THURSDAY'
|
||||
'1--4--7',7,'SUNDAY'
|
||||
'---4--7',4,'THURSDAY'
|
||||
'---4--7',7,'SUNDAY'
|
||||
'123---7',1,'MONDAY'
|
||||
'123---7',2,'TUESDAY'
|
||||
'123---7',3,'WEDNESDAY'
|
||||
'123---7',7,'SUNDAY'
|
||||
'-23---7',2,'TUESDAY'
|
||||
'-23---7',3,'WEDNESDAY'
|
||||
'-23---7',7,'SUNDAY'
|
||||
'1-3---7',1,'MONDAY'
|
||||
'1-3---7',3,'WEDNESDAY'
|
||||
'1-3---7',7,'SUNDAY'
|
||||
'--3---7',3,'WEDNESDAY'
|
||||
'--3---7',7,'SUNDAY'
|
||||
'12----7',1,'MONDAY'
|
||||
'12----7',2,'TUESDAY'
|
||||
'12----7',7,'SUNDAY'
|
||||
'-2----7',2,'TUESDAY'
|
||||
'-2----7',7,'SUNDAY'
|
||||
'1-----7',1,'MONDAY'
|
||||
'1-----7',7,'SUNDAY'
|
||||
'------7',7,'SUNDAY'
|
||||
'123456-',1,'MONDAY'
|
||||
'123456-',2,'TUESDAY'
|
||||
'123456-',3,'WEDNESDAY'
|
||||
'123456-',4,'THURSDAY'
|
||||
'123456-',5,'FRIDAY'
|
||||
'123456-',6,'SATURDAY'
|
||||
'-23456-',2,'TUESDAY'
|
||||
'-23456-',3,'WEDNESDAY'
|
||||
'-23456-',4,'THURSDAY'
|
||||
'-23456-',5,'FRIDAY'
|
||||
'-23456-',6,'SATURDAY'
|
||||
'1-3456-',1,'MONDAY'
|
||||
'1-3456-',3,'WEDNESDAY'
|
||||
'1-3456-',4,'THURSDAY'
|
||||
'1-3456-',5,'FRIDAY'
|
||||
'1-3456-',6,'SATURDAY'
|
||||
'--3456-',3,'WEDNESDAY'
|
||||
'--3456-',4,'THURSDAY'
|
||||
'--3456-',5,'FRIDAY'
|
||||
'--3456-',6,'SATURDAY'
|
||||
'12-456-',1,'MONDAY'
|
||||
'12-456-',2,'TUESDAY'
|
||||
'12-456-',4,'THURSDAY'
|
||||
'12-456-',5,'FRIDAY'
|
||||
'12-456-',6,'SATURDAY'
|
||||
'-2-456-',2,'TUESDAY'
|
||||
'-2-456-',4,'THURSDAY'
|
||||
'-2-456-',5,'FRIDAY'
|
||||
'-2-456-',6,'SATURDAY'
|
||||
'1--456-',1,'MONDAY'
|
||||
'1--456-',4,'THURSDAY'
|
||||
'1--456-',5,'FRIDAY'
|
||||
'1--456-',6,'SATURDAY'
|
||||
'---456-',4,'THURSDAY'
|
||||
'---456-',5,'FRIDAY'
|
||||
'---456-',6,'SATURDAY'
|
||||
'123-56-',1,'MONDAY'
|
||||
'123-56-',2,'TUESDAY'
|
||||
'123-56-',3,'WEDNESDAY'
|
||||
'123-56-',5,'FRIDAY'
|
||||
'123-56-',6,'SATURDAY'
|
||||
'-23-56-',2,'TUESDAY'
|
||||
'-23-56-',3,'WEDNESDAY'
|
||||
'-23-56-',5,'FRIDAY'
|
||||
'-23-56-',6,'SATURDAY'
|
||||
'1-3-56-',1,'MONDAY'
|
||||
'1-3-56-',3,'WEDNESDAY'
|
||||
'1-3-56-',5,'FRIDAY'
|
||||
'1-3-56-',6,'SATURDAY'
|
||||
'--3-56-',3,'WEDNESDAY'
|
||||
'--3-56-',5,'FRIDAY'
|
||||
'--3-56-',6,'SATURDAY'
|
||||
'12--56-',1,'MONDAY'
|
||||
'12--56-',2,'TUESDAY'
|
||||
'12--56-',5,'FRIDAY'
|
||||
'12--56-',6,'SATURDAY'
|
||||
'-2--56-',2,'TUESDAY'
|
||||
'-2--56-',5,'FRIDAY'
|
||||
'-2--56-',6,'SATURDAY'
|
||||
'1---56-',1,'MONDAY'
|
||||
'1---56-',5,'FRIDAY'
|
||||
'1---56-',6,'SATURDAY'
|
||||
'----56-',5,'FRIDAY'
|
||||
'----56-',6,'SATURDAY'
|
||||
'1234-6-',1,'MONDAY'
|
||||
'1234-6-',2,'TUESDAY'
|
||||
'1234-6-',3,'WEDNESDAY'
|
||||
'1234-6-',4,'THURSDAY'
|
||||
'1234-6-',6,'SATURDAY'
|
||||
'-234-6-',2,'TUESDAY'
|
||||
'-234-6-',3,'WEDNESDAY'
|
||||
'-234-6-',4,'THURSDAY'
|
||||
'-234-6-',6,'SATURDAY'
|
||||
'1-34-6-',1,'MONDAY'
|
||||
'1-34-6-',3,'WEDNESDAY'
|
||||
'1-34-6-',4,'THURSDAY'
|
||||
'1-34-6-',6,'SATURDAY'
|
||||
'--34-6-',3,'WEDNESDAY'
|
||||
'--34-6-',4,'THURSDAY'
|
||||
'--34-6-',6,'SATURDAY'
|
||||
'12-4-6-',1,'MONDAY'
|
||||
'12-4-6-',2,'TUESDAY'
|
||||
'12-4-6-',4,'THURSDAY'
|
||||
'12-4-6-',6,'SATURDAY'
|
||||
'-2-4-6-',2,'TUESDAY'
|
||||
'-2-4-6-',4,'THURSDAY'
|
||||
'-2-4-6-',6,'SATURDAY'
|
||||
'1--4-6-',1,'MONDAY'
|
||||
'1--4-6-',4,'THURSDAY'
|
||||
'1--4-6-',6,'SATURDAY'
|
||||
'---4-6-',4,'THURSDAY'
|
||||
'---4-6-',6,'SATURDAY'
|
||||
'123--6-',1,'MONDAY'
|
||||
'123--6-',2,'TUESDAY'
|
||||
'123--6-',3,'WEDNESDAY'
|
||||
'123--6-',6,'SATURDAY'
|
||||
'-23--6-',2,'TUESDAY'
|
||||
'-23--6-',3,'WEDNESDAY'
|
||||
'-23--6-',6,'SATURDAY'
|
||||
'1-3--6-',1,'MONDAY'
|
||||
'1-3--6-',3,'WEDNESDAY'
|
||||
'1-3--6-',6,'SATURDAY'
|
||||
'--3--6-',3,'WEDNESDAY'
|
||||
'--3--6-',6,'SATURDAY'
|
||||
'12---6-',1,'MONDAY'
|
||||
'12---6-',2,'TUESDAY'
|
||||
'12---6-',6,'SATURDAY'
|
||||
'-2---6-',2,'TUESDAY'
|
||||
'-2---6-',6,'SATURDAY'
|
||||
'1----6-',1,'MONDAY'
|
||||
'1----6-',6,'SATURDAY'
|
||||
'-----6-',6,'SATURDAY'
|
||||
'12345--',1,'MONDAY'
|
||||
'12345--',2,'TUESDAY'
|
||||
'12345--',3,'WEDNESDAY'
|
||||
'12345--',4,'THURSDAY'
|
||||
'12345--',5,'FRIDAY'
|
||||
'-2345--',2,'TUESDAY'
|
||||
'-2345--',3,'WEDNESDAY'
|
||||
'-2345--',4,'THURSDAY'
|
||||
'-2345--',5,'FRIDAY'
|
||||
'1-345--',1,'MONDAY'
|
||||
'1-345--',3,'WEDNESDAY'
|
||||
'1-345--',4,'THURSDAY'
|
||||
'1-345--',5,'FRIDAY'
|
||||
'--345--',3,'WEDNESDAY'
|
||||
'--345--',4,'THURSDAY'
|
||||
'--345--',5,'FRIDAY'
|
||||
'12-45--',1,'MONDAY'
|
||||
'12-45--',2,'TUESDAY'
|
||||
'12-45--',4,'THURSDAY'
|
||||
'12-45--',5,'FRIDAY'
|
||||
'-2-45--',2,'TUESDAY'
|
||||
'-2-45--',4,'THURSDAY'
|
||||
'-2-45--',5,'FRIDAY'
|
||||
'1--45--',1,'MONDAY'
|
||||
'1--45--',4,'THURSDAY'
|
||||
'1--45--',5,'FRIDAY'
|
||||
'---45--',4,'THURSDAY'
|
||||
'---45--',5,'FRIDAY'
|
||||
'123-5--',1,'MONDAY'
|
||||
'123-5--',2,'TUESDAY'
|
||||
'123-5--',3,'WEDNESDAY'
|
||||
'123-5--',5,'FRIDAY'
|
||||
'-23-5--',2,'TUESDAY'
|
||||
'-23-5--',3,'WEDNESDAY'
|
||||
'-23-5--',5,'FRIDAY'
|
||||
'1-3-5--',1,'MONDAY'
|
||||
'1-3-5--',3,'WEDNESDAY'
|
||||
'1-3-5--',5,'FRIDAY'
|
||||
'--3-5--',3,'WEDNESDAY'
|
||||
'--3-5--',5,'FRIDAY'
|
||||
'12--5--',1,'MONDAY'
|
||||
'12--5--',2,'TUESDAY'
|
||||
'12--5--',5,'FRIDAY'
|
||||
'-2--5--',2,'TUESDAY'
|
||||
'-2--5--',5,'FRIDAY'
|
||||
'1---5--',1,'MONDAY'
|
||||
'1---5--',5,'FRIDAY'
|
||||
'----5--',5,'FRIDAY'
|
||||
'1234---',1,'MONDAY'
|
||||
'1234---',2,'TUESDAY'
|
||||
'1234---',3,'WEDNESDAY'
|
||||
'1234---',4,'THURSDAY'
|
||||
'-234---',2,'TUESDAY'
|
||||
'-234---',3,'WEDNESDAY'
|
||||
'-234---',4,'THURSDAY'
|
||||
'1-34---',1,'MONDAY'
|
||||
'1-34---',3,'WEDNESDAY'
|
||||
'1-34---',4,'THURSDAY'
|
||||
'--34---',3,'WEDNESDAY'
|
||||
'--34---',4,'THURSDAY'
|
||||
'12-4---',1,'MONDAY'
|
||||
'12-4---',2,'TUESDAY'
|
||||
'12-4---',4,'THURSDAY'
|
||||
'-2-4---',2,'TUESDAY'
|
||||
'-2-4---',4,'THURSDAY'
|
||||
'1--4---',1,'MONDAY'
|
||||
'1--4---',4,'THURSDAY'
|
||||
'---4---',4,'THURSDAY'
|
||||
'123----',1,'MONDAY'
|
||||
'123----',2,'TUESDAY'
|
||||
'123----',3,'WEDNESDAY'
|
||||
'-23----',2,'TUESDAY'
|
||||
'-23----',3,'WEDNESDAY'
|
||||
'1-3----',1,'MONDAY'
|
||||
'1-3----',3,'WEDNESDAY'
|
||||
'--3----',3,'WEDNESDAY'
|
||||
'12-----',1,'MONDAY'
|
||||
'12-----',2,'TUESDAY'
|
||||
'-2-----',2,'TUESDAY'
|
||||
'1------',1,'MONDAY'
|
2998
sql-bench/Data/ATIS/flight_fare.txt
Normal file
2998
sql-bench/Data/ATIS/flight_fare.txt
Normal file
File diff suppressed because it is too large
Load diff
121
sql-bench/Data/ATIS/food_service.txt
Normal file
121
sql-bench/Data/ATIS/food_service.txt
Normal file
|
@ -0,0 +1,121 @@
|
|||
'B',1,'FIRST','BREAKFAST'
|
||||
'B',1,'COACH','BREAKFAST'
|
||||
'B/',1,'FIRST','BREAKFAST'
|
||||
'B/S',1,'FIRST','BREAKFAST'
|
||||
'B/S',1,'COACH','SNACK'
|
||||
'BD',1,'FIRST','BREAKFAST'
|
||||
'BD',2,'FIRST','DINNER'
|
||||
'BD',1,'COACH','BREAKFAST'
|
||||
'BD',2,'COACH','DINNER'
|
||||
'BDS',1,'FIRST','BREAKFAST'
|
||||
'BDS',2,'FIRST','DINNER'
|
||||
'BDS',3,'FIRST','SNACK'
|
||||
'BDS',1,'COACH','BREAKFAST'
|
||||
'BDS',2,'COACH','DINNER'
|
||||
'BDS',3,'COACH','SNACK'
|
||||
'BL',1,'FIRST','BREAKFAST'
|
||||
'BL',2,'FIRST','LUNCH'
|
||||
'BL',1,'COACH','BREAKFAST'
|
||||
'BL',2,'COACH','LUNCH'
|
||||
'BLD',1,'FIRST','BREAKFAST'
|
||||
'BLD',2,'FIRST','LUNCH'
|
||||
'BLD',3,'FIRST','DINNER'
|
||||
'BLD',1,'COACH','BREAKFAST'
|
||||
'BLD',2,'COACH','LUNCH'
|
||||
'BLD',3,'COACH','DINNER'
|
||||
'BLS',1,'FIRST','BREAKFAST'
|
||||
'BLS',2,'FIRST','LUNCH'
|
||||
'BLS',3,'FIRST','SNACK'
|
||||
'BLS',1,'COACH','BREAKFAST'
|
||||
'BLS',2,'COACH','LUNCH'
|
||||
'BLS',3,'COACH','SNACK'
|
||||
'BS',1,'FIRST','BREAKFAST'
|
||||
'BS',2,'FIRST','SNACK'
|
||||
'BS',1,'COACH','BREAKFAST'
|
||||
'BS',2,'COACH','SNACK'
|
||||
'BSD',1,'FIRST','BREAKFAST'
|
||||
'BSD',2,'FIRST','SNACK'
|
||||
'BSD',3,'FIRST','DINNER'
|
||||
'BSD',1,'COACH','BREAKFAST'
|
||||
'BSD',2,'COACH','SNACK'
|
||||
'BSD',3,'COACH','DINNER'
|
||||
'BSL',1,'FIRST','BREAKFAST'
|
||||
'BSL',2,'FIRST','SNACK'
|
||||
'BSL',3,'FIRST','LUNCH'
|
||||
'BSL',1,'COACH','BREAKFAST'
|
||||
'BSL',2,'COACH','SNACK'
|
||||
'BSL',3,'COACH','LUNCH'
|
||||
'D',1,'FIRST','DINNER'
|
||||
'D',2,'COACH','DINNER'
|
||||
'D/',1,'FIRST','DINNER'
|
||||
'D/S',1,'FIRST','DINNER'
|
||||
'D/S',1,'COACH','SNACK'
|
||||
'DB',1,'FIRST','DINNER'
|
||||
'DB',2,'FIRST','BREAKFAST'
|
||||
'DB',1,'COACH','DINNER'
|
||||
'DB',2,'COACH','BREAKFAST'
|
||||
'DS',1,'FIRST','DINNER'
|
||||
'DS',2,'FIRST','SNACK'
|
||||
'DS',1,'COACH','DINNER'
|
||||
'DS',2,'COACH','SNACK'
|
||||
'L',1,'FIRST','LUNCH'
|
||||
'L',1,'COACH','LUNCH'
|
||||
'L/',1,'FIRST','LUNCH'
|
||||
'L/S',1,'FIRST','LUNCH'
|
||||
'L/S',1,'COACH','SNACK'
|
||||
'LD',1,'FIRST','LUNCH'
|
||||
'LD',2,'FIRST','DINNER'
|
||||
'LD',1,'COACH','LUNCH'
|
||||
'LD',2,'COACH','DINNER'
|
||||
'LDS',1,'FIRST','LUNCH'
|
||||
'LDS',2,'FIRST','DINNER'
|
||||
'LDS',3,'FIRST','SNACK'
|
||||
'LDS',1,'COACH','LUNCH'
|
||||
'LDS',2,'COACH','DINNER'
|
||||
'LDS',3,'COACH','SNACK'
|
||||
'LS',1,'FIRST','LUNCH'
|
||||
'LS',2,'FIRST','SNACK'
|
||||
'LS',1,'COACH','LUNCH'
|
||||
'LS',2,'COACH','SNACK'
|
||||
'LS/L',1,'FIRST','LUNCH'
|
||||
'LS/L',2,'FIRST','SNACK'
|
||||
'LS/L',1,'COACH','LUNCH'
|
||||
'LSD',1,'FIRST','LUNCH'
|
||||
'LSD',2,'FIRST','SNACK'
|
||||
'LSD',3,'FIRST','DINNER'
|
||||
'LSD',1,'COACH','LUNCH'
|
||||
'LSD',2,'COACH','SNACK'
|
||||
'LSD',3,'COACH','DINNER'
|
||||
'S',1,'FIRST','SNACK'
|
||||
'S',1,'COACH','SNACK'
|
||||
'S/',1,'FIRST','SNACK'
|
||||
'SB',1,'FIRST','SNACK'
|
||||
'SB',2,'FIRST','BREAKFAST'
|
||||
'SB',1,'COACH','SNACK'
|
||||
'SB',2,'COACH','BREAKFAST'
|
||||
'SBD',1,'FIRST','SNACK'
|
||||
'SBD',2,'FIRST','BREAKFAST'
|
||||
'SBD',3,'FIRST','DINNER'
|
||||
'SBD',1,'COACH','SNACK'
|
||||
'SBD',2,'COACH','BREAKFAST'
|
||||
'SBD',3,'COACH','DINNER'
|
||||
'SBL',1,'FIRST','SNACK'
|
||||
'SBL',2,'FIRST','BREAKFAST'
|
||||
'SBL',3,'FIRST','LUNCH'
|
||||
'SBL',1,'COACH','SNACK'
|
||||
'SBL',2,'COACH','BREAKFAST'
|
||||
'SBL',3,'COACH','LUNCH'
|
||||
'SD',1,'FIRST','SNACK'
|
||||
'SD',2,'FIRST','DINNER'
|
||||
'SD',1,'COACH','SNACK'
|
||||
'SD',2,'COACH','DINNER'
|
||||
'SL',1,'FIRST','SNACK'
|
||||
'SL',2,'FIRST','LUNCH'
|
||||
'SL',1,'COACH','SNACK'
|
||||
'SL',2,'COACH','LUNCH'
|
||||
'SLD',1,'FIRST','SNACK'
|
||||
'SLD',2,'FIRST','LUNCH'
|
||||
'SLD',3,'FIRST','DINNER'
|
||||
'SLD',1,'COACH','SNACK'
|
||||
'SLD',2,'COACH','LUNCH'
|
||||
'SLD',3,'COACH','DINNER'
|
33
sql-bench/Data/ATIS/ground_service.txt
Normal file
33
sql-bench/Data/ATIS/ground_service.txt
Normal file
|
@ -0,0 +1,33 @@
|
|||
'MATL','ATL','L',9.00
|
||||
'MATL','ATL','R',0.00
|
||||
'MATL','ATL','A',0.00
|
||||
'BBOS','BOS','L',5.00
|
||||
'BBOS','BOS','R',0.00
|
||||
'BBOS','BOS','A',0.00
|
||||
'DDFW','DFW','R',0.00
|
||||
'DDFW','DFW','L',6.00
|
||||
'FDFW','DFW','L',6.00
|
||||
'FDFW','DFW','R',0.00
|
||||
'DDEN','DEN','L',5.00
|
||||
'DDEN','DEN','R',0.00
|
||||
'DDEN','DEN','A',0.00
|
||||
'PPHL','PHL','L',4.75
|
||||
'PPHL','PHL','R',0.00
|
||||
'PPHL','PHL','A',0.00
|
||||
'PPIT','PIT','L',7.50
|
||||
'PPIT','PIT','R',0.00
|
||||
'PPIT','PIT','A',0.00
|
||||
'OOAK','OAK','L',3.50
|
||||
'OOAK','OAK','R',0.00
|
||||
'OOAK','SFO','L',6.00
|
||||
'OOAK','SFO','R',0.00
|
||||
'OOAK','SFO','A',0.00
|
||||
'SSFO','SFO','L',4.00
|
||||
'SSFO','SFO','R',0.00
|
||||
'SSFO','SFO','A',0.00
|
||||
'SSFO','OAK','L',5.00
|
||||
'WWAS','BWI','L',12.00
|
||||
'BBWI','BWI','L',5.00
|
||||
'BBWI','BWI','R',0.00
|
||||
'BBWI','BWI','A',0.00
|
||||
'','','',0.00
|
12
sql-bench/Data/ATIS/month_name.txt
Normal file
12
sql-bench/Data/ATIS/month_name.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
1,'JANUARY'
|
||||
2,'FEBRUARY'
|
||||
3,'MARCH'
|
||||
4,'APRIL'
|
||||
5,'MAY'
|
||||
6,'JUNE'
|
||||
7,'JULY'
|
||||
8,'AUGUST'
|
||||
9,'SEPTEMBER'
|
||||
10,'OCTOBER'
|
||||
11,'NOVEMBER'
|
||||
12,'DECEMBER'
|
612
sql-bench/Data/ATIS/restrict_carrier.txt
Normal file
612
sql-bench/Data/ATIS/restrict_carrier.txt
Normal file
|
@ -0,0 +1,612 @@
|
|||
'AP/1','AA'
|
||||
'AP/2','AA'
|
||||
'AP/2','AF'
|
||||
'AP/2','AM'
|
||||
'AP/2','EA'
|
||||
'AP/2','KX'
|
||||
'AP/2','MX'
|
||||
'AP/2','NW'
|
||||
'AP/4','AA'
|
||||
'AP/4','AC'
|
||||
'AP/4','AS'
|
||||
'AP/4','BW'
|
||||
'AP/4','CO'
|
||||
'AP/4','DL'
|
||||
'AP/4','EA'
|
||||
'AP/4','KW'
|
||||
'AP/4','LI'
|
||||
'AP/4','MX'
|
||||
'AP/4','PA'
|
||||
'AP/4','TW'
|
||||
'AP/6','AC'
|
||||
'AP/6','BA'
|
||||
'AP/6','CB'
|
||||
'AP/6','EA'
|
||||
'AP/6','ND'
|
||||
'AP/6','NW'
|
||||
'AP/6','OU'
|
||||
'AP/6','PA'
|
||||
'AP/6','US'
|
||||
'AP/6','WD'
|
||||
'AP/10','AA'
|
||||
'AP/10','AC'
|
||||
'AP/10','AM'
|
||||
'AP/10','CO'
|
||||
'AP/10','DL'
|
||||
'AP/10','EA'
|
||||
'AP/10','FH'
|
||||
'AP/10','NW'
|
||||
'AP/10','RP'
|
||||
'AP/10','TW'
|
||||
'AP/10','UA'
|
||||
'AP/10','US'
|
||||
'AP/12','AA'
|
||||
'AP/12','CO'
|
||||
'AP/12','DL'
|
||||
'AP/12','EA'
|
||||
'AP/12','JM'
|
||||
'AP/12','ML'
|
||||
'AP/12','MX'
|
||||
'AP/12','PA'
|
||||
'AP/12','TW'
|
||||
'AP/12','US'
|
||||
'AP/13','AA'
|
||||
'AP/13','JM'
|
||||
'AP/14','AA'
|
||||
'AP/14','EA'
|
||||
'AP/14','KX'
|
||||
'AP/14','NW'
|
||||
'AP/14','PA'
|
||||
'AP/16','AC'
|
||||
'AP/16','CX'
|
||||
'AP/16','DL'
|
||||
'AP/16','EA'
|
||||
'AP/16','SN'
|
||||
'AP/16','TW'
|
||||
'AP/16','UA'
|
||||
'AP/17','AA'
|
||||
'AP/18','CP'
|
||||
'AP/18','MX'
|
||||
'AP/19','AC'
|
||||
'AP/19','BW'
|
||||
'AP/19','CU'
|
||||
'AP/19','EA'
|
||||
'AP/19','JM'
|
||||
'AP/20','AA'
|
||||
'AP/20','AC'
|
||||
'AP/20','AS'
|
||||
'AP/20','CO'
|
||||
'AP/20','CP'
|
||||
'AP/20','DL'
|
||||
'AP/20','EA'
|
||||
'AP/20','FH'
|
||||
'AP/20','HP'
|
||||
'AP/20','LH'
|
||||
'AP/20','ND'
|
||||
'AP/20','NR'
|
||||
'AP/20','NW'
|
||||
'AP/20','NX'
|
||||
'AP/20','OU'
|
||||
'AP/20','QB'
|
||||
'AP/20','TG'
|
||||
'AP/20','UA'
|
||||
'AP/20','US'
|
||||
'AP/20','WD'
|
||||
'AP/20','YN'
|
||||
'AP/20','4F'
|
||||
'AP/20','4V'
|
||||
'AP/20','7F'
|
||||
'AP/20','8D'
|
||||
'AP/21','AA'
|
||||
'AP/21','AC'
|
||||
'AP/21','EA'
|
||||
'AP/21','KX'
|
||||
'AP/21','NW'
|
||||
'AP/25','AA'
|
||||
'AP/25','AS'
|
||||
'AP/25','EA'
|
||||
'AP/25','LR'
|
||||
'AP/25','MX'
|
||||
'AP/25','PA'
|
||||
'AP/27','AA'
|
||||
'AP/27','CO'
|
||||
'AP/27','DL'
|
||||
'AP/27','EA'
|
||||
'AP/27','HP'
|
||||
'AP/27','ML'
|
||||
'AP/27','NW'
|
||||
'AP/27','PA'
|
||||
'AP/27','TW'
|
||||
'AP/27','UA'
|
||||
'AP/27','US'
|
||||
'AP/27','WN'
|
||||
'AP/32','AA'
|
||||
'AP/32','AC'
|
||||
'AP/32','BA'
|
||||
'AP/32','CP'
|
||||
'AP/32','NW'
|
||||
'AP/33','LM'
|
||||
'AP/35','AA'
|
||||
'AP/35','AC'
|
||||
'AP/35','AS'
|
||||
'AP/35','CO'
|
||||
'AP/35','DF'
|
||||
'AP/35','EA'
|
||||
'AP/35','HA'
|
||||
'AP/35','HP'
|
||||
'AP/35','LM'
|
||||
'AP/35','ND'
|
||||
'AP/35','NW'
|
||||
'AP/35','PA'
|
||||
'AP/35','TW'
|
||||
'AP/35','UA'
|
||||
'AP/35','WD'
|
||||
'AP/43','AA'
|
||||
'AP/43','DF'
|
||||
'AP/43','UA'
|
||||
'AP/43','US'
|
||||
'AP/44','AA'
|
||||
'AP/44','AC'
|
||||
'AP/44','AD'
|
||||
'AP/44','AS'
|
||||
'AP/44','BE'
|
||||
'AP/44','CO'
|
||||
'AP/44','DF'
|
||||
'AP/44','DL'
|
||||
'AP/44','EA'
|
||||
'AP/44','FH'
|
||||
'AP/44','HP'
|
||||
'AP/44','IN'
|
||||
'AP/44','IT'
|
||||
'AP/44','KS'
|
||||
'AP/44','ML'
|
||||
'AP/44','NW'
|
||||
'AP/44','PA'
|
||||
'AP/44','TW'
|
||||
'AP/44','UA'
|
||||
'AP/44','UO'
|
||||
'AP/44','US'
|
||||
'AP/44','WN'
|
||||
'AP/44','YN'
|
||||
'AP/44','YV'
|
||||
'AP/44','YW'
|
||||
'AP/44','YX'
|
||||
'AP/44','ZO'
|
||||
'AP/44','ZK'
|
||||
'AP/44','3S'
|
||||
'AP/44','5A'
|
||||
'AP/44','5C'
|
||||
'AP/44','7F'
|
||||
'AP/44','7V'
|
||||
'AP/44','8G'
|
||||
'AP/47','AA'
|
||||
'AP/47','DO'
|
||||
'AP/48','AA'
|
||||
'AP/48','AC'
|
||||
'AP/48','BL'
|
||||
'AP/48','BW'
|
||||
'AP/48','CO'
|
||||
'AP/48','CP'
|
||||
'AP/48','DL'
|
||||
'AP/48','EA'
|
||||
'AP/48','IV'
|
||||
'AP/48','KW'
|
||||
'AP/48','KX'
|
||||
'AP/48','ML'
|
||||
'AP/48','MX'
|
||||
'AP/48','NR'
|
||||
'AP/48','NW'
|
||||
'AP/48','PA'
|
||||
'AP/48','PD'
|
||||
'AP/48','TW'
|
||||
'AP/48','UA'
|
||||
'AP/48','YV'
|
||||
'AP/48','8D'
|
||||
'AP/55','AA'
|
||||
'AP/55','AC'
|
||||
'AP/55','AS'
|
||||
'AP/55','CH'
|
||||
'AP/55','CO'
|
||||
'AP/55','CP'
|
||||
'AP/55','CT'
|
||||
'AP/55','DL'
|
||||
'AP/55','EA'
|
||||
'AP/55','GM'
|
||||
'AP/55','HA'
|
||||
'AP/55','HP'
|
||||
'AP/55','ML'
|
||||
'AP/55','ND'
|
||||
'AP/55','NR'
|
||||
'AP/55','NW'
|
||||
'AP/55','OD'
|
||||
'AP/55','PA'
|
||||
'AP/55','RP'
|
||||
'AP/55','TW'
|
||||
'AP/55','UA'
|
||||
'AP/55','UE'
|
||||
'AP/55','US'
|
||||
'AP/55','WD'
|
||||
'AP/55','YW'
|
||||
'AP/55','YX'
|
||||
'AP/55','YK'
|
||||
'AP/55','ZV'
|
||||
'AP/55','2V'
|
||||
'AP/55','3N'
|
||||
'AP/55','4N'
|
||||
'AP/55','4W'
|
||||
'AP/55','5A'
|
||||
'AP/55','5C'
|
||||
'AP/55','5L'
|
||||
'AP/55','8D'
|
||||
'AP/56','AA'
|
||||
'AP/56','DL'
|
||||
'AP/56','GM'
|
||||
'AP/56','HA'
|
||||
'AP/56','HP'
|
||||
'AP/56','PA'
|
||||
'AP/56','TW'
|
||||
'AP/56','UA'
|
||||
'AP/56','WD'
|
||||
'AP/57','AA'
|
||||
'AP/57','AC'
|
||||
'AP/57','AS'
|
||||
'AP/57','BE'
|
||||
'AP/57','CO'
|
||||
'AP/57','CP'
|
||||
'AP/57','CT'
|
||||
'AP/57','DL'
|
||||
'AP/57','EA'
|
||||
'AP/57','HP'
|
||||
'AP/57','ML'
|
||||
'AP/57','ND'
|
||||
'AP/57','NW'
|
||||
'AP/57','PA'
|
||||
'AP/57','PD'
|
||||
'AP/57','PS'
|
||||
'AP/57','TW'
|
||||
'AP/57','UA'
|
||||
'AP/57','US'
|
||||
'AP/57','YV'
|
||||
'AP/57','YW'
|
||||
'AP/57','YX'
|
||||
'AP/57','ZV'
|
||||
'AP/57','2P'
|
||||
'AP/57','2V'
|
||||
'AP/57','3N'
|
||||
'AP/57','4N'
|
||||
'AP/57','4X'
|
||||
'AP/57','8G'
|
||||
'AP/58','AS'
|
||||
'AP/58','EA'
|
||||
'AP/58','7H'
|
||||
'AP/59','DL'
|
||||
'AP/59','JN'
|
||||
'AP/60','AC'
|
||||
'AP/60','EA'
|
||||
'AP/60','NW'
|
||||
'AP/60','UA'
|
||||
'AP/60','US'
|
||||
'AP/61','CO'
|
||||
'AP/61','FY'
|
||||
'AP/61','JR'
|
||||
'AP/61','2V'
|
||||
'AP/68','AA'
|
||||
'AP/68','AD'
|
||||
'AP/68','AM'
|
||||
'AP/68','AS'
|
||||
'AP/68','BE'
|
||||
'AP/68','CO'
|
||||
'AP/68','CP'
|
||||
'AP/68','CT'
|
||||
'AP/68','DF'
|
||||
'AP/68','DL'
|
||||
'AP/68','EA'
|
||||
'AP/68','EM'
|
||||
'AP/68','HP'
|
||||
'AP/68','IN'
|
||||
'AP/68','ML'
|
||||
'AP/68','MX'
|
||||
'AP/68','NW'
|
||||
'AP/68','OU'
|
||||
'AP/68','PA'
|
||||
'AP/68','QQ'
|
||||
'AP/68','QS'
|
||||
'AP/68','RP'
|
||||
'AP/68','TW'
|
||||
'AP/68','UA'
|
||||
'AP/68','US'
|
||||
'AP/68','YN'
|
||||
'AP/68','YV'
|
||||
'AP/68','YW'
|
||||
'AP/68','YX'
|
||||
'AP/68','ZE'
|
||||
'AP/68','ZK'
|
||||
'AP/68','3N'
|
||||
'AP/68','5C'
|
||||
'AP/68','7L'
|
||||
'AP/70','AC'
|
||||
'AP/70','BW'
|
||||
'AP/70','EA'
|
||||
'AP/70','PA'
|
||||
'AP/73','AA'
|
||||
'AP/73','DL'
|
||||
'AP/73','EA'
|
||||
'AP/73','ML'
|
||||
'AP/73','PA'
|
||||
'AP/73','TW'
|
||||
'AP/75','AA'
|
||||
'AP/75','AC'
|
||||
'AP/75','AS'
|
||||
'AP/75','CH'
|
||||
'AP/75','CO'
|
||||
'AP/75','CP'
|
||||
'AP/75','DL'
|
||||
'AP/75','EA'
|
||||
'AP/75','HP'
|
||||
'AP/75','JV'
|
||||
'AP/75','KS'
|
||||
'AP/75','LH'
|
||||
'AP/75','ML'
|
||||
'AP/75','MX'
|
||||
'AP/75','ND'
|
||||
'AP/75','NW'
|
||||
'AP/75','OU'
|
||||
'AP/75','PA'
|
||||
'AP/75','RP'
|
||||
'AP/75','RV'
|
||||
'AP/75','TW'
|
||||
'AP/75','UA'
|
||||
'AP/75','US'
|
||||
'AP/75','WD'
|
||||
'AP/75','XE'
|
||||
'AP/75','YN'
|
||||
'AP/75','YV'
|
||||
'AP/75','ZO'
|
||||
'AP/75','7F'
|
||||
'AP/75','8D'
|
||||
'AP/76','MX'
|
||||
'AP/76','NW'
|
||||
'AP/80','AA'
|
||||
'AP/80','AC'
|
||||
'AP/80','AR'
|
||||
'AP/80','AS'
|
||||
'AP/80','BA'
|
||||
'AP/80','CO'
|
||||
'AP/80','CP'
|
||||
'AP/80','DL'
|
||||
'AP/80','EA'
|
||||
'AP/80','HP'
|
||||
'AP/80','JB'
|
||||
'AP/80','JL'
|
||||
'AP/80','JV'
|
||||
'AP/80','LA'
|
||||
'AP/80','LH'
|
||||
'AP/80','ND'
|
||||
'AP/80','NW'
|
||||
'AP/80','PA'
|
||||
'AP/80','TG'
|
||||
'AP/80','UA'
|
||||
'AP/80','US'
|
||||
'AP/80','UW'
|
||||
'AP/80','WD'
|
||||
'AP/80','YN'
|
||||
'AP/80','4V'
|
||||
'AP/80','7E'
|
||||
'AP/80','8D'
|
||||
'AP/87','AC'
|
||||
'AP/94','AA'
|
||||
'AP/94','AC'
|
||||
'AP/94','EA'
|
||||
'AP/94','LM'
|
||||
'AP/94','NW'
|
||||
'EX/1','AR'
|
||||
'EX/1','IB'
|
||||
'EX/2','AB'
|
||||
'EX/2','BW'
|
||||
'EX/2','FQ'
|
||||
'EX/2','MX'
|
||||
'EX/2','UA'
|
||||
'EX/2','UP'
|
||||
'EX/3','AA'
|
||||
'EX/3','CO'
|
||||
'EX/3','DL'
|
||||
'EX/3','EA'
|
||||
'EX/3','HP'
|
||||
'EX/3','PA'
|
||||
'EX/3','US'
|
||||
'EX/5','LR'
|
||||
'EX/9','AA'
|
||||
'EX/9','AC'
|
||||
'EX/9','AM'
|
||||
'EX/9','BA'
|
||||
'EX/9','CO'
|
||||
'EX/9','EA'
|
||||
'EX/9','FQ'
|
||||
'EX/9','HP'
|
||||
'EX/9','PA'
|
||||
'EX/9','TV'
|
||||
'EX/11','AA'
|
||||
'EX/11','AM'
|
||||
'EX/11','CO'
|
||||
'EX/11','CP'
|
||||
'EX/11','CX'
|
||||
'EX/11','DL'
|
||||
'EX/11','JT'
|
||||
'EX/11','LA'
|
||||
'EX/11','MX'
|
||||
'EX/11','NW'
|
||||
'EX/11','PA'
|
||||
'EX/11','UA'
|
||||
'EX/12','AS'
|
||||
'EX/12','CP'
|
||||
'EX/12','CX'
|
||||
'EX/13','AC'
|
||||
'EX/13','AS'
|
||||
'EX/13','BF'
|
||||
'EX/13','BW'
|
||||
'EX/13','DL'
|
||||
'EX/13','KS'
|
||||
'EX/13','LM'
|
||||
'EX/13','ML'
|
||||
'EX/13','YV'
|
||||
'EX/13','ZV'
|
||||
'EX/13','7H'
|
||||
'EX/14','AA'
|
||||
'EX/14','AS'
|
||||
'EX/14','BE'
|
||||
'EX/14','CO'
|
||||
'EX/14','CP'
|
||||
'EX/14','DL'
|
||||
'EX/14','EA'
|
||||
'EX/14','IN'
|
||||
'EX/14','ML'
|
||||
'EX/14','NW'
|
||||
'EX/14','PA'
|
||||
'EX/14','PD'
|
||||
'EX/14','TW'
|
||||
'EX/14','UA'
|
||||
'EX/14','US'
|
||||
'EX/14','WN'
|
||||
'EX/14','YW'
|
||||
'EX/14','ZV'
|
||||
'EX/14','2V'
|
||||
'EX/14','4N'
|
||||
'EX/14','4X'
|
||||
'EX/14','7F'
|
||||
'EX/14','8D'
|
||||
'EX/15','AC'
|
||||
'EX/15','BW'
|
||||
'EX/15','CU'
|
||||
'EX/15','HP'
|
||||
'EX/15','JM'
|
||||
'EX/17','AA'
|
||||
'EX/17','AM'
|
||||
'EX/17','AS'
|
||||
'EX/17','DL'
|
||||
'EX/17','EA'
|
||||
'EX/17','JL'
|
||||
'EX/17','LH'
|
||||
'EX/17','PA'
|
||||
'EX/17','UA'
|
||||
'EX/19','BW'
|
||||
'EX/19','KX'
|
||||
'EX/20','AA'
|
||||
'EX/20','CO'
|
||||
'EX/20','DL'
|
||||
'EX/20','HE'
|
||||
'EX/20','JM'
|
||||
'EX/20','ML'
|
||||
'EX/20','MX'
|
||||
'EX/20','NW'
|
||||
'EX/20','PA'
|
||||
'EX/20','UA'
|
||||
'EX/20','8R'
|
||||
'EX/21','AA'
|
||||
'EX/21','JM'
|
||||
'EX/25','AA'
|
||||
'EX/25','MX'
|
||||
'EX/29','AA'
|
||||
'EX/29','AM'
|
||||
'EX/29','CO'
|
||||
'EX/29','EA'
|
||||
'EX/29','LH'
|
||||
'EX/32','AA'
|
||||
'EX/32','EA'
|
||||
'EX/32','JM'
|
||||
'EX/33','AA'
|
||||
'EX/33','JM'
|
||||
'EX/33','LI'
|
||||
'EX/33','UA'
|
||||
'EX/33','5T'
|
||||
'EX/34','EA'
|
||||
'EX/34','IN'
|
||||
'EX/34','JM'
|
||||
'EX/34','KW'
|
||||
'EX/34','UE'
|
||||
'EX/34','UP'
|
||||
'EX/34','YV'
|
||||
'EX/34','YL'
|
||||
'EX/36','AA'
|
||||
'EX/36','AC'
|
||||
'EX/36','CO'
|
||||
'EX/36','CP'
|
||||
'EX/36','LI'
|
||||
'EX/36','OU'
|
||||
'EX/36','US'
|
||||
'EX/38','AA'
|
||||
'EX/38','EA'
|
||||
'EX/38','JM'
|
||||
'EX/38','KX'
|
||||
'EX/43','AA'
|
||||
'EX/43','AS'
|
||||
'EX/43','CO'
|
||||
'EX/43','CT'
|
||||
'EX/43','DL'
|
||||
'EX/43','EA'
|
||||
'EX/43','HP'
|
||||
'EX/43','MX'
|
||||
'EX/43','NW'
|
||||
'EX/43','OG'
|
||||
'EX/43','PA'
|
||||
'EX/43','TW'
|
||||
'EX/43','UA'
|
||||
'EX/43','US'
|
||||
'EX/45','NW'
|
||||
'EX/47','AA'
|
||||
'EX/47','CO'
|
||||
'EX/47','DL'
|
||||
'EX/47','EA'
|
||||
'EX/47','JM'
|
||||
'EX/47','JR'
|
||||
'EX/47','ML'
|
||||
'EX/47','NW'
|
||||
'EX/47','OG'
|
||||
'EX/47','PA'
|
||||
'EX/47','TW'
|
||||
'EX/47','US'
|
||||
'EX/48','AC'
|
||||
'EX/48','AF'
|
||||
'EX/48','CO'
|
||||
'EX/48','CP'
|
||||
'EX/48','DL'
|
||||
'EX/48','JM'
|
||||
'EX/48','KW'
|
||||
'EX/48','MX'
|
||||
'EX/48','PA'
|
||||
'EX/48','SN'
|
||||
'EX/55','AA'
|
||||
'EX/55','AF'
|
||||
'EX/55','BW'
|
||||
'EX/55','CO'
|
||||
'EX/55','DO'
|
||||
'EX/55','EA'
|
||||
'EX/55','JM'
|
||||
'EX/55','KX'
|
||||
'EX/55','LI'
|
||||
'EX/55','LM'
|
||||
'EX/55','NW'
|
||||
'EX/55','PA'
|
||||
'EX/55','PY'
|
||||
'EX/55','TW'
|
||||
'EX/55','UP'
|
||||
'EX/55','2V'
|
||||
'VU/1','AA'
|
||||
'VU/1','AC'
|
||||
'VU/1','AQ'
|
||||
'VU/1','AS'
|
||||
'VU/1','CP'
|
||||
'VU/1','CT'
|
||||
'VU/1','CX'
|
||||
'VU/1','DL'
|
||||
'VU/1','EA'
|
||||
'VU/1','HP'
|
||||
'VU/1','LW'
|
||||
'VU/1','ND'
|
||||
'VU/1','NW'
|
||||
'VU/1','PA'
|
||||
'VU/1','TB'
|
||||
'VU/1','TW'
|
||||
'VU/1','UA'
|
||||
'VU/1','US'
|
||||
'VU/1','YR'
|
||||
'VU/1','6G'
|
4
sql-bench/Data/ATIS/restrict_class.txt
Normal file
4
sql-bench/Data/ATIS/restrict_class.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
'AP/2','B7NR'
|
||||
'AP/2','BW7NR'
|
||||
'AP/2','BWE14'
|
||||
'AP/2','YAP14'
|
65
sql-bench/Data/ATIS/restriction.txt
Normal file
65
sql-bench/Data/ATIS/restriction.txt
Normal file
|
@ -0,0 +1,65 @@
|
|||
'AP/1','FOR TRAVEL ORIGINATING AND TERMINATING IN HAWAII','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'Y',3,150
|
||||
'AP/2','FOR TRAVEL BETWEEN UNITED STATES AND CARIBBEAN','TOUR CONDUCTORS',7,'N',3,14
|
||||
'AP/4','FOR TRAVEL BETWEEN UNITED STATES AND MEXICO','CHILDREN\'S FARES,SALES AGENTS',7,'Y',3,21
|
||||
'AP/6','FOR TRAVEL TO/FROM CANADA','CHILDREN\'S FARES,FAMILY FARES,TOUR CONDUCTORS,VISIT USA FARES',7,'Y',3,30
|
||||
'AP/10','FOR TRAVEL TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',30,'Y',3,21
|
||||
'AP/12','FOR TRAVEL BETWEEN UNITED STATES AND CARIBBEAN','CONTACT CARRIER',14,'N',3,21
|
||||
'AP/13','TRAVEL BETWEEN U.S. AND CANADA,AND POINTS IN CARIBBEAN','CONTACT CARRIER',3,'Y',0,180
|
||||
'AP/14','TRAVEL BETWEEN POINTS NAMED AND ARE NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',3,'Y',1,3
|
||||
'AP/16','FARES ARE NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',14,'Y',3,21
|
||||
'AP/17','ROUND TRIP TRAVEL BETWEEN U.S. AND MEXICO','SALES AGENTS (VIA AA TOUR CONDUCTORS)',7,'N',3,30
|
||||
'AP/18','ROUND TRIP TRAVEL BETWEEN CANADA AND MEXICO','FAMILY FARES,SALES AGENTS,TOUR CONDUCTORS',7,'N',7,180
|
||||
'AP/19','RND TRIP BETWEEN CANADA AND CARIBBEAN. NOT APPLICABLE TO/FROM INTERMEDIATE PNTS','CHILDREN\'S FARES,SALES AGENT,TOUR CONDUCTORS',7,'N',7,30
|
||||
'AP/20','ROUND TRIP EXCURSION FARES,NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\S FARES,FAMILY FARES,TOUR CONDUCTORS',14,'Y',3,180
|
||||
'AP/21','TRAVEL TO/FROM U.S.A. AND CANADA,NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','SALES AGENTS,TOUR CONDUCTORS',14,'N',7,7
|
||||
'AP/25','FARES DO NOT APPLY TO/FROM INTERMEDIATE POINTS ON THE ROUTING','SALES AGENTS,TOUR CONDUCTORS',7,'Y',3,60
|
||||
'AP/27','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',7,'Y',0,180
|
||||
'AP/32','ROUND TRIP CHARTER TO HAWAII. FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S AND FAMILY FARES,HAWAII COMMON FARE,SALES AGENTS,TOUR CONDUCTORS',7,'Y',3,30
|
||||
'AP/33','ROUND TRIP BETWEEN U.S. AND CARIBBEAN','CHILDREN\'S FARE,SALES AGENTS,TOUR CONDUCTORS',14,'Y',6,21
|
||||
'AP/35','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','SALES AGENTS,TOUR CONDUCTORS',7,'Y',0,30
|
||||
'AP/43','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARE,SALES AGENTS,TOUR CONDUCTORS',14,'N',3,3
|
||||
'AP/44','ONE_WAY TRAVEL,DURING PEAK/NON-PEAK HOURS','CONTACT CARRIER',4,'Y',0,0
|
||||
'AP/47','ROUND TRIP TRAVEL','CONTACT CARRIER',14,'Y',7,30
|
||||
'AP/48','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','SALES AGENTS,TOUR CONDUCTORS,VISIT USA FARES,CHILDREN\'S FARES',7,'Y',0,0
|
||||
'AP/55','MAY COMBINE FARES (EXCEPT VIA DELTA AIRLINES) SEATS LIMITED VIA UNITED AIRLINES','CONTACT CARRIER',3,'N',0,0
|
||||
'AP/56','SEATS ARE LIMITED','CONTACT CARRIERS',7,'Y',3,45
|
||||
'AP/57','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'Y',3,180
|
||||
'AP/58','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'Y',3,330
|
||||
'AP/59','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',14,'N',7,30
|
||||
'AP/60','ROUND TRIP TRAVEL BETWEEN U.S. AND CANADA','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'N',3,365
|
||||
'AP/61','FARES MAYBE COMBINED','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'Y',0,60
|
||||
'AP/68','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',7,'Y',0,0
|
||||
'AP/70','ROUND TRIP TRAVEL. FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','SALES AGENTS,TOUR CONDUCTORS,VISIT U.S.A. FARES,CHILDREN\'S FARES',14,'Y',7,14
|
||||
'AP/73','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',7,'N',0,30
|
||||
'AP/75','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','SALES AGENTS,TOUR CONDUCTORS,VISIT U.S.A. FARES,CHILDREN\'S FARES',7,'Y',3,60
|
||||
'AP/76','ROUND TRIP TRAVEL BETWEEN U.S. AND JAMAICA','SALES AGENTS,TOUR CONDUCTORS',7,'N',0,14
|
||||
'AP/80','FARES APPLY TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,FAMILY FARES,SALES AGENTS,TOUR CONDUCTORS',14,'N',3,30
|
||||
'AP/87','FARES APPLY TO ROUND TRIP TRAVEL','CONTACT CARRIER',14,'Y',7,21
|
||||
'AP/94','FOR ROUND TRIP TRAVEL. FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',7,'Y',7,21
|
||||
'EX/1','FOR CIRCLE TRIP TRAVEL','CHILDREN\'S FARES,SALES AGENTS',0,'Y',5,60
|
||||
'EX/2','ECONOMY CLASS EXCURSION FARES','SALES AGENTS,TOUR CONDUCTORS',0,'Y',0,21
|
||||
'EX/3','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CONTACT CARRIER',0,'Y',2,45
|
||||
'EX/5','FOR ROUND TRIP TRAVEL','CONTACT CARRIER',0,'N',5,30
|
||||
'EX/9','FARES DO NOT APPLY TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',0,'N',0,30
|
||||
'EX/11','FARES MAY BE COMBINED','CONTACT CARRIER',0,'Y',0,60
|
||||
'EX/12','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES',0,'Y',3,180
|
||||
'EX/13','FARES NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,FAMILY FARES,SALES AGENTS,TOUR CONDUCTORS',0,'Y',0,3
|
||||
'EX/14','FARES MAY BE COMBINED','CONTACT CARRIER',0,'N',3,330
|
||||
'EX/15','ROUND TRIP TRAVEL BETWEEN CANADA AND CARIBBEAN','CONTACT CARRIER',0,'Y',7,45
|
||||
'EX/17','ROUND TRIP EXCURSION FARES','SALES AGENTS,TOUR CONDUCTORS',0,'N',0,180
|
||||
'EX/19','ROUND TRIP EXCURSION FARES BETWEEN CANADA AND CARIBBEAN','CONTACT CARRIER',0,'Y',7,7
|
||||
'EX/20','ROUND TRIP EXCURSION FARES','CONTACT CARRIER',0,'Y',0,14
|
||||
'EX/21','TRAVEL BETWEEN THE U.S.A. AND CARIBBEAN','SALES AGENTS,TOUR CONDUCTORS',0,'N',0,7
|
||||
'EX/25','VIA AA,ROUND TRIP TRAVEL BETWEEN SAN JUAN AND ACAPULCO/MEXICO CITY','SALES AGENTS,TOUR CONDUCTORS',0,'Y',3,14
|
||||
'EX/29','ROUND TRIP TRAVEL BETWEEN U.S.,CARIBBEAN,AND MEXICO','CHILDREN\'S FARES',0,'Y',0,21
|
||||
'EX/32','TRAVEL ORIGINATING IN JAMAICA','SALES AGENTS,TOUR CONDUCTORS',0,'N',0,365
|
||||
'EX/33','ROUND TRIP TRAVEL TO JAMAICA/CARIBBEAN','CHILDREN\'S FARES,TOUR CONDUCTORS',0,'N',0,21
|
||||
'EX/34','ONE DAY AWAY ROUND TRIP FARES','SALES AGENTS,TOUR CONDUCTORS',0,'N',1,1
|
||||
'EX/36','ROUND TRIP TRAVEL. NOT APPLICABLE TO/FROM INTERMEDIATE POINTS','CHILDREN\'S FARES,FAMILY FARES,TOUR CONDUCTORS',0,'Y',1,2
|
||||
'EX/38','SAME DAY FARES (VIA EASTERN AIRLINES)','SALES AGENTS,TOUR CONDUCTORS',0,'N',1,1
|
||||
'EX/43','ROUND TRIP EXCURSION FARES','CONTACT CARRIER',0,'Y',0,365
|
||||
'EX/45','VIA AMERICAN AIRLINES ROUND TRIP TRAVEL BETWEEN KINGSTON/MONTEGO BAY','CHILDREN\'S FARES,SALES AGENTS,TOUR CONDUCTORS',0,'N',3,21
|
||||
'EX/47','ROUND TRIP TRAVEL BETWEEN U.S.,CANADA,AND CARIBBEAN','CONTACT CARRIER',0,'Y',3,21
|
||||
'EX/48','WEEKEND EXCURSION FARE','CHILDREN\'S FARE,FAMILY FARES,SALES AGENTS,TOUR CONDUCTORS',0,'N',7,365
|
||||
'EX/55','FARES MAY BE COMBINED','SALES AGENTS',0,'Y',3,21
|
||||
'VU/1','VISIT USA: INTERNATIONAL TRAVEL BEGINNING AND ENDING OUTSIDE U.S.','SALES AGENTS',0,'Y',3,21
|
63
sql-bench/Data/ATIS/state.txt
Normal file
63
sql-bench/Data/ATIS/state.txt
Normal file
|
@ -0,0 +1,63 @@
|
|||
'AB','ALBERTA','CANADA'
|
||||
'AK','ALASKA','USA'
|
||||
'AL','ALABAMA','USA'
|
||||
'AR','ARKANSAS','USA'
|
||||
'AZ','ARIZONA','USA'
|
||||
'BC','BRITISH COLUMBIA','CANADA'
|
||||
'CA','CALIFORNIA','USA'
|
||||
'CO','COLORADO','USA'
|
||||
'CT','CONNECTICUT','USA'
|
||||
'DC','DISTRICT OF COLUMBIA','USA'
|
||||
'DE','DELAWARE','USA'
|
||||
'FL','FLORIDA','USA'
|
||||
'GA','GEORGIA','USA'
|
||||
'HI','HAWAII','USA'
|
||||
'IA','IOWA','USA'
|
||||
'ID','IDAHO','USA'
|
||||
'IL','ILLINOIS','USA'
|
||||
'IN','INDIANA','USA'
|
||||
'KS','KANSAS','USA'
|
||||
'KY','KENTUCKY','USA'
|
||||
'LA','LOUISIANA','USA'
|
||||
'MA','MASSACHUSETTS','USA'
|
||||
'MB','MANITOBA','CANADA'
|
||||
'MD','MARYLAND','USA'
|
||||
'ME','MAINE','USA'
|
||||
'MI','MICHIGAN','USA'
|
||||
'MN','MINNESOTA','USA'
|
||||
'MO','MISSOURI','USA'
|
||||
'MS','MISSISSIPPI','USA'
|
||||
'MT','MONTANA','USA'
|
||||
'NB','NEW BRUNSWICK','CANADA'
|
||||
'NC','NORTH CAROLINA','USA'
|
||||
'ND','NORTH DAKOTA','USA'
|
||||
'NE','NEBRASKA','USA'
|
||||
'NF','NEWFOUNDLAND','CANADA'
|
||||
'NH','NEW HAMPSHIRE','USA'
|
||||
'NJ','NEW JERSEY','USA'
|
||||
'NM','NEW MEXICO','USA'
|
||||
'NS','NOVA SCOTIA','CANADA'
|
||||
'NT','NORTHWEST TERRITORIES','CANADA'
|
||||
'NV','NEVADA','USA'
|
||||
'NY','NEW YORK','USA'
|
||||
'OH','OHIO','USA'
|
||||
'OK','OKLAHOMA','USA'
|
||||
'ON','ONTARIO','CANADA'
|
||||
'OR','OREGON','USA'
|
||||
'PA','PENNSYLVANIA','USA'
|
||||
'PE','PRINCE EDWARD ISLAND','CANADA'
|
||||
'PQ','QUEBEC','CANADA'
|
||||
'RI','RHODE ISLAND','USA'
|
||||
'SC','SOUTH CAROLINA','USA'
|
||||
'SD','SOUTH DAKOTA','USA'
|
||||
'SK','SASKATCHEWAN','CANADA'
|
||||
'TN','TENNESSEE','USA'
|
||||
'TX','TEXAS','USA'
|
||||
'UT','UTAH','USA'
|
||||
'VA','VIRGINIA','USA'
|
||||
'VT','VERMONT','USA'
|
||||
'WA','WASHINGTON','USA'
|
||||
'WI','WISCONSIN','USA'
|
||||
'WV','WEST VIRGINIA','USA'
|
||||
'WY','WYOMING','USA'
|
||||
'YT','YUKON TERRITORY','CANADA'
|
69
sql-bench/Data/ATIS/stop.txt
Normal file
69
sql-bench/Data/ATIS/stop.txt
Normal file
|
@ -0,0 +1,69 @@
|
|||
101908,1,102766
|
||||
101908,2,137319
|
||||
101913,1,102770
|
||||
101913,2,137323
|
||||
101924,1,102779
|
||||
101924,2,137339
|
||||
102674,1,102129
|
||||
102674,2,112354
|
||||
105810,1,106248
|
||||
105810,2,137423
|
||||
106262,1,106229
|
||||
106262,2,137734
|
||||
106270,1,106251
|
||||
106270,2,137740
|
||||
106366,1,105795
|
||||
106366,2,112516
|
||||
106373,1,105806
|
||||
106373,2,113716
|
||||
106375,1,105800
|
||||
106375,2,112527
|
||||
107253,1,107486
|
||||
107253,2,138963
|
||||
111924,1,111886
|
||||
111924,2,102766
|
||||
111924,3,137319
|
||||
111930,1,111939
|
||||
111930,2,107199
|
||||
112413,1,111886
|
||||
112413,2,102766
|
||||
113499,1,112998
|
||||
113499,2,112352
|
||||
113710,1,112996
|
||||
113710,2,112518
|
||||
113713,1,113001
|
||||
113713,2,112520
|
||||
133423,1,133431
|
||||
133423,2,111931
|
||||
133516,1,133436
|
||||
133516,2,113582
|
||||
137410,1,137228
|
||||
137410,2,102127
|
||||
137685,1,137420
|
||||
137685,2,113500
|
||||
137814,1,137736
|
||||
137814,2,139355
|
||||
138866,1,139270
|
||||
138866,2,137335
|
||||
138965,1,138976
|
||||
138965,2,113011
|
||||
144059,1,144157
|
||||
144059,2,112783
|
||||
144087,1,144156
|
||||
144087,2,112864
|
||||
144088,1,144144
|
||||
144088,2,111929
|
||||
144092,1,144063
|
||||
144092,2,101928
|
||||
144093,1,144575
|
||||
144093,2,138868
|
||||
144095,1,144066
|
||||
144095,2,101929
|
||||
144110,1,144572
|
||||
144110,2,138882
|
||||
144160,1,144145
|
||||
144160,2,112038
|
||||
144161,1,144146
|
||||
144161,2,112039
|
||||
144543,1,144574
|
||||
144543,2,139271
|
69
sql-bench/Data/ATIS/stop1.txt
Normal file
69
sql-bench/Data/ATIS/stop1.txt
Normal file
|
@ -0,0 +1,69 @@
|
|||
101908,1,102766
|
||||
101908,2,137319
|
||||
101913,1,102770
|
||||
101913,2,137323
|
||||
101924,1,102779
|
||||
101924,2,137339
|
||||
102674,1,102129
|
||||
102674,2,112354
|
||||
105810,1,106248
|
||||
105810,2,137423
|
||||
106262,1,106229
|
||||
106262,2,137734
|
||||
106270,1,106251
|
||||
106270,2,137740
|
||||
106366,1,105795
|
||||
106366,2,112516
|
||||
106373,1,105806
|
||||
106373,2,113716
|
||||
106375,1,105800
|
||||
106375,2,112527
|
||||
107253,1,107486
|
||||
107253,2,138963
|
||||
111924,1,111886
|
||||
111924,2,102766
|
||||
111924,3,137319
|
||||
111930,1,111939
|
||||
111930,2,107199
|
||||
112413,1,111886
|
||||
112413,2,102766
|
||||
113499,1,112998
|
||||
113499,2,112352
|
||||
113710,1,112996
|
||||
113710,2,112518
|
||||
113713,1,113001
|
||||
113713,2,112520
|
||||
133423,1,133431
|
||||
133423,2,111931
|
||||
133516,1,133436
|
||||
133516,2,113582
|
||||
137410,1,137228
|
||||
137410,2,102127
|
||||
137685,1,137420
|
||||
137685,2,113500
|
||||
137814,1,137736
|
||||
137814,2,139355
|
||||
138866,1,139270
|
||||
138866,2,137335
|
||||
138965,1,138976
|
||||
138965,2,113011
|
||||
144059,1,144157
|
||||
144059,2,112783
|
||||
144087,1,144156
|
||||
144087,2,112864
|
||||
144088,1,144144
|
||||
144088,2,111929
|
||||
144092,1,144063
|
||||
144092,2,101928
|
||||
144093,1,144575
|
||||
144093,2,138868
|
||||
144095,1,144066
|
||||
144095,2,101929
|
||||
144110,1,144572
|
||||
144110,2,138882
|
||||
144160,1,144145
|
||||
144160,2,112038
|
||||
144161,1,144146
|
||||
144161,2,112039
|
||||
144543,1,144574
|
||||
144543,2,139271
|
12
sql-bench/Data/ATIS/time_interval.txt
Normal file
12
sql-bench/Data/ATIS/time_interval.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
'morning',0000,1200
|
||||
'afternoon',1200,1800
|
||||
'evening',1800,2000
|
||||
'day',600,1800
|
||||
'night',1800,2400
|
||||
'night',000,600
|
||||
'early morning',0000,800
|
||||
'mid-morning',800,1000
|
||||
'late morning',1000,1200
|
||||
'early afternoon',1200,1400
|
||||
'mid-afternoon',1400,1600
|
||||
'late afternoon',1600,1800
|
9
sql-bench/Data/ATIS/time_zone.txt
Normal file
9
sql-bench/Data/ATIS/time_zone.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
'HST','HAWAII/ALEUTIAN STANDARD TIME'
|
||||
'AST','ALASKA STANDARD TIME'
|
||||
'YST','YUKON STANDARD TIME'
|
||||
'PST','PACIFIC STANDARD TIME'
|
||||
'MST','MOUNTAIN STANDARD TIME'
|
||||
'CST','CENTRAL STANDARD TIME'
|
||||
'EST','EASTERN STANDARD TIME'
|
||||
'AST','ATLANTIC STANDARD TIME'
|
||||
'NST','NEWFOUNDLAND STANDARD TIME'
|
4
sql-bench/Data/ATIS/transport.txt
Normal file
4
sql-bench/Data/ATIS/transport.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
'L','LIMOUSINE'
|
||||
'T','TAXI'
|
||||
'R','RENTAL CAR'
|
||||
'A','AIR TAXI OPERATION'
|
1000
sql-bench/Data/Wisconsin/onek.data
Normal file
1000
sql-bench/Data/Wisconsin/onek.data
Normal file
File diff suppressed because it is too large
Load diff
10000
sql-bench/Data/Wisconsin/tenk.data
Normal file
10000
sql-bench/Data/Wisconsin/tenk.data
Normal file
File diff suppressed because it is too large
Load diff
86
sql-bench/Makefile.am
Normal file
86
sql-bench/Makefile.am
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
|
||||
## Process this file with automake to create Makefile.in
|
||||
|
||||
benchdir_root= $(prefix)
|
||||
benchdir = $(benchdir_root)/sql-bench
|
||||
bench_SCRIPTS = test-ATIS test-connect test-create test-insert \
|
||||
test-big-tables test-select test-wisconsin \
|
||||
test-alter-table test-transactions \
|
||||
graph-compare-results \
|
||||
bench-init.pl compare-results run-all-tests \
|
||||
server-cfg crash-me copy-db innotest1 innotest1a \
|
||||
innotest1b innotest2 innotest2a innotest2b \
|
||||
bench-count-distinct
|
||||
CLEANFILES = $(bench_SCRIPTS)
|
||||
EXTRA_SCRIPTS = test-ATIS.sh test-connect.sh test-create.sh \
|
||||
test-insert.sh test-big-tables.sh test-select.sh \
|
||||
test-alter-table.sh test-wisconsin.sh \
|
||||
test-transactions.sh \
|
||||
bench-init.pl.sh compare-results.sh server-cfg.sh \
|
||||
run-all-tests.sh crash-me.sh copy-db.sh \
|
||||
graph-compare-results.sh innotest1.sh innotest1a.sh \
|
||||
innotest1b.sh innotest2.sh innotest2a.sh innotest2b.sh \
|
||||
bench-count-distinct.sh
|
||||
EXTRA_DIST = $(EXTRA_SCRIPTS)
|
||||
|
||||
dist-hook:
|
||||
mkdir -p $(distdir)/Data/ATIS $(distdir)/Data/Wisconsin \
|
||||
$(distdir)/limits $(distdir)/Comments
|
||||
for i in $(srcdir)/Data/ATIS/*.* ; do $(INSTALL_DATA) $$i $(distdir)/Data/ATIS ; done
|
||||
for i in $(srcdir)/Data/Wisconsin/*.* ; do $(INSTALL_DATA) $$i $(distdir)/Data/Wisconsin ; done
|
||||
for i in $(srcdir)/limits/*.* ; do $(INSTALL_DATA) $$i $(distdir)/limits; done
|
||||
for i in $(srcdir)/Comments/*.* ; do $(INSTALL_DATA) $$i $(distdir)/Comments; done
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) \
|
||||
$(DESTDIR)$(benchdir)/Data \
|
||||
$(DESTDIR)$(benchdir)/Data/ATIS \
|
||||
$(DESTDIR)$(benchdir)/Data/Wisconsin \
|
||||
$(DESTDIR)$(benchdir)/limits \
|
||||
$(DESTDIR)$(benchdir)/Comments
|
||||
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(benchdir)
|
||||
for i in $(srcdir)/Data/ATIS/*.* ; do $(INSTALL_DATA) $$i $(DESTDIR)$(benchdir)/Data/ATIS ; done
|
||||
for i in $(srcdir)/Data/Wisconsin/*.* ; do $(INSTALL_DATA) $$i $(DESTDIR)$(benchdir)/Data/Wisconsin ; done
|
||||
for i in $(srcdir)/limits/*.* ; do $(INSTALL_DATA) $$i $(DESTDIR)$(benchdir)/limits; done
|
||||
for i in $(srcdir)/Comments/*.* ; do $(INSTALL_DATA) $$i $(DESTDIR)$(benchdir)/Comments; done
|
||||
|
||||
uninstall-local:
|
||||
@RM@ -f -r $(DESTDIR)$(benchdir)
|
||||
|
||||
SUFFIXES = .sh
|
||||
|
||||
.sh:
|
||||
@RM@ -f $@ $@-t
|
||||
@SED@ \
|
||||
-e 's!@''benchdir''@!$(benchdir)!g' \
|
||||
-e 's!@''bindir''@!$(bindir)!g' \
|
||||
-e 's!@''scriptdir''@!$(bindir)!g' \
|
||||
-e 's!@''prefix''@!$(prefix)!g' \
|
||||
-e 's!@''datadir''@!$(datadir)!g' \
|
||||
-e 's!@''localstatedir''@!$(localstatedir)!g' \
|
||||
-e 's!@''libexecdir''@!$(libexecdir)!g' \
|
||||
-e 's!@''PERL''@!@PERL@!' \
|
||||
-e 's!@''VERSION''@!@VERSION@!' \
|
||||
-e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \
|
||||
$< > $@-t
|
||||
@CHMOD@ +x $@-t
|
||||
@MV@ $@-t $@
|
||||
|
||||
# Don't update the files from bitkeeper
|
||||
%::SCCS/s.%
|
93
sql-bench/README
Executable file
93
sql-bench/README
Executable file
|
@ -0,0 +1,93 @@
|
|||
The MySQL Benchmarks
|
||||
|
||||
These tests require a MySQL version of at least 3.20.28 or 3.21.10.
|
||||
|
||||
Currently the following servers are supported:
|
||||
MySQL 3.20 and 3.21, PostgreSQL 6.#, mSQL 2.# and Solid Server 2.2
|
||||
|
||||
The benchmark directory contains the query files and raw data files used to
|
||||
populate the MySQL benchmark tables. In order to run the benchmarks, you
|
||||
should normally execute a command such as the following:
|
||||
|
||||
run-all-tests --server=mysql --cmp=mysql,pg,solid --user=test --password=test --log
|
||||
|
||||
This means that you want to run the benchmarks with MySQL. The
|
||||
limits should be taken from all of MySQL, PostgreSQL, and Solid.
|
||||
The login name and password for connecting to the server both are
|
||||
``test''. The result should be saved as a RUN file in the output
|
||||
directory.
|
||||
|
||||
When run-all-tests has finished, will have the individual results and the
|
||||
the total RUN- file in the output directory.
|
||||
|
||||
If you want to look at some old results, use the compare-results script.
|
||||
For example:
|
||||
|
||||
compare-results --dir=Results --cmp=mysql,pg,solid
|
||||
compare-results --dir=Results --cmp=mysql,pg,solid --relative
|
||||
|
||||
compare-results --dir=Results --cmp=msql,mysql,pg,solid
|
||||
compare-results --dir=Results --cmp=msql,mysql,pg,solid --relative
|
||||
|
||||
compare-results --dir=Results --server=mysql --same-server --cmp=mysql,pg,solid
|
||||
|
||||
Some of the files in the benchmark directory are:
|
||||
|
||||
File Description
|
||||
|
||||
Data/ATIS Contains data for 29 related tables used in the ATIS tests.
|
||||
Data/Wisconsin Contains data for the Wisconsin benchmark.
|
||||
Results Contains old benchmark results.
|
||||
Makefile.am Automake Makefile
|
||||
README This file.
|
||||
test-ATIS.sh Creation of 29 tables and a lot of selects on them.
|
||||
test-connect.sh Test how fast a connection to the server is.
|
||||
test-create.sh Test how fast a table is created.
|
||||
test-insert.sh Test create and fill of a table.
|
||||
test-wisconsin.sh A port of the PostgreSQL version of this benchmark.
|
||||
run-all-tests Use this to run all tests. When all tests are run,
|
||||
use the --log and --use-old options to get a RUN-file.
|
||||
compare-results Generates a comparison table from different RUN files.
|
||||
server-cfg Contains the limits and functions for all supported
|
||||
SQL servers. If you want to add a new server, this
|
||||
should be the only file that neads to be changed.
|
||||
|
||||
|
||||
Most of the tests should use portable SQL to make it possible to
|
||||
compare different databases. Sometimes SQL extensions can make things
|
||||
a lot faster. In this case the test may use the extensions if the --fast
|
||||
option is used.
|
||||
|
||||
Useful options to all test-scripts (and run-all-tests):
|
||||
|
||||
--host=# Hostname for MySQL server (default: localhost)
|
||||
--db=# Database to use (default: test)
|
||||
--fast Allow use of any non-standard SQL extension to
|
||||
get things done faster.
|
||||
--lock-tables Use table locking to get more speed.
|
||||
|
||||
From a text at http://www.mgt.ncu.edu.tw/CSIM/Paper/sixth/11.html:
|
||||
|
||||
The Wisconsin Benchmark
|
||||
|
||||
The Wisconsin Benchmark described in [Bitton, DeWitt, and Turbyfill
|
||||
1983] [Boral and DeWitt 1984] [Bitton and Turbyfill 1985] [Bitton and
|
||||
Turbyfill 1988], and [DeWitt 1993] is the first effort to
|
||||
systematically measure and compare the performance of relational
|
||||
database systems with database machines. The benchmark is a
|
||||
single-user and single-factor experiment using a synthetic database
|
||||
and a controlled workload. It measures the query optimization
|
||||
performance of database systems with 32 query types to exercise the
|
||||
components of the proposed systems. The query suites include
|
||||
selection, join, projection, aggregate, and simple update queries.
|
||||
|
||||
The test database consists of four generic relations. The tenk
|
||||
relation is the key table and most used. Two data types of small
|
||||
integer numbers and character strings are utilized. Data values are
|
||||
uniformly distributed. The primary metric is the query elapsed
|
||||
time. The main criticisms of the benchmark include the nature of
|
||||
single-user workload, the simplistic database structure, and the
|
||||
unrealistic query tests. A number of efforts have been made to extend
|
||||
the benchmark to incorporate the multi-user test. However, they do
|
||||
not receive the same acceptance as the original Wisconsin benchmark
|
||||
except an extension work called the AS3AP benchmark.
|
21
sql-bench/TODO
Normal file
21
sql-bench/TODO
Normal file
|
@ -0,0 +1,21 @@
|
|||
When comparing with ms-sql:
|
||||
|
||||
Check how to get MySQL faster mysql ms-sql
|
||||
|
||||
count_distinct (2000) | 89.00| 39.00|
|
||||
count_distinct_big (120) | 324.00| 121.00|
|
||||
count_distinct_group (1000) | 158.00| 107.00|
|
||||
count_distinct_group_on_key (1000) | 49.00| 17.00|
|
||||
count_distinct_group_on_key_parts (1| 157.00| 108.00|
|
||||
order_by_big (10) | 197.00| 89.00|
|
||||
order_by_big_key (10) | 170.00| 82.00|
|
||||
order_by_big_key2 (10) | 163.00| 73.00|
|
||||
order_by_big_key_desc (10) | 172.00| 84.00|
|
||||
order_by_big_key_diff (10) | 193.00| 89.00|
|
||||
order_by_big_key_prefix (10) | 165.00| 72.00|
|
||||
|
||||
|
||||
Why is the following slow on NT:
|
||||
NT Linux
|
||||
update_of_primary_key_many_keys (256| 560.00| 65.00|
|
||||
|
637
sql-bench/as3ap.sh
Normal file
637
sql-bench/as3ap.sh
Normal file
|
@ -0,0 +1,637 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# AS3AP single-user benchmark.
|
||||
#
|
||||
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$opt_loop_count=1;
|
||||
|
||||
#Create tables
|
||||
|
||||
$dbh = $server->connect();
|
||||
|
||||
#Create Table
|
||||
$sth = $dbh->do("drop table uniques");
|
||||
$sth = $dbh->do("drop table updates");
|
||||
$sth = $dbh->do("drop table hundred");
|
||||
$sth = $dbh->do("drop table tenpct");
|
||||
$sth = $dbh->do("drop table tiny");
|
||||
|
||||
#Temporary table
|
||||
$sth = $dbh->do("drop table saveupdates");
|
||||
|
||||
@fields=("col_key int not null",
|
||||
"col_int int not null",
|
||||
"col_signed int not null",
|
||||
"col_float float not null",
|
||||
"col_double float not null",
|
||||
"col_decim numeric(18,2) not null",
|
||||
"col_date char(20) not null",
|
||||
"col_code char(10) not null",
|
||||
"col_name char(20) not null",
|
||||
"col_address varchar(80) not null");
|
||||
|
||||
do_many($dbh,$server->create("uniques",\@fields,[]));
|
||||
do_many($dbh,$server->create("updates",\@fields,[]));
|
||||
do_many($dbh,$server->create("hundred",\@fields,[]));
|
||||
do_many($dbh,$server->create("tenpct",\@fields,[]));
|
||||
do_many($dbh,$server->create("tiny",["col_key int not null"],[]));
|
||||
|
||||
print "Start AS3AP benchmark\n\n";
|
||||
|
||||
$start_time=new Benchmark;
|
||||
|
||||
print "Load DATA\n";
|
||||
#Load DATA
|
||||
|
||||
@table_names=("uniques","updates","hundred","tenpct","tiny");
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
if ($opt_fast && $server->{'limits'}->{'load_data_infile'})
|
||||
{
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
my $file = "$pwd/Data/AS3AP/${table_name}\.new";
|
||||
print "$table_name - $file\n" if ($opt_debug);
|
||||
$row_count += $server->insert_file($table_name,$file,$dbh);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
print "$table_name - $file\n" if ($opt_debug);
|
||||
my $insert_start = "insert into $table_name values (";
|
||||
open(DATA, "$pwd/Data/AS3AP/${table_name}\.new") || die "Can't open text file: $pwd/Data/AS3AP/${table_name}\.new\n";
|
||||
while(<DATA>)
|
||||
{
|
||||
chomp;
|
||||
next unless ( $_ =~ /\w/ ); # skip blank lines
|
||||
$command = $insert_start."$_".")";
|
||||
$command =~ $server->fix_to_insert($command);
|
||||
print "$command\n" if ($opt_debug);
|
||||
$sth = $dbh->do($command) or die "Got error: $DBI::errstr when executing '$command'\n";
|
||||
$row_count++;
|
||||
}
|
||||
close(DATA);
|
||||
}
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for Load Data - " . "($row_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
|
||||
print "Create Index\n";
|
||||
|
||||
test_command("create_idx_uniques_key_bt",
|
||||
"time for create_idx_uniques_key_bt",
|
||||
"create unique index uniques_key_bt on uniques (col_key)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_key_bt",
|
||||
"time for create_idx_updates_key_bt",
|
||||
"create unique index updates_key_bt on updates (col_key)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_hundred_key_bt",
|
||||
"time for create_idx_hundred_key_bt",
|
||||
"create unique index hundred_key_bt on hundred (col_key)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_key_bt",
|
||||
"time for create_idx_tenpct_key_bt",
|
||||
"create unique index tenpct_key_bt on tenpct (col_key)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_key_code_bt",
|
||||
"time for create_idx_tenpct_key_code_bt",
|
||||
"create index tenpct_key_code_bt on tenpct (col_key,col_code)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tiny_key_bt",
|
||||
"time for create_idx_tiny_key_bt",
|
||||
"create index tiny_key_bt on tiny (col_key)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_int_bt",
|
||||
"time for create_idx_tenpct_int_bt",
|
||||
"create index tenpct_int_bt on tenpct (col_int)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_signed_bt",
|
||||
"time for create_idx_tenpct_signed_bt",
|
||||
"create index tenpct_signed_bt on tenpct (col_signed)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_uniques_code_h",
|
||||
"time for create_idx_uniques_code_h",
|
||||
"create index uniques_code_h on uniques (col_code)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_double_bt",
|
||||
"time for create_idx_tenpct_double_bt",
|
||||
"create index tenpct_double_bt on tenpct (col_double)",$dbh,$opt_loop_count);
|
||||
|
||||
|
||||
test_command("create_idx_updates_decim_bt",
|
||||
"time for create_idx_updates_decim_bt",
|
||||
"create index updates_decim_bt on updates (col_decim)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_float_bt",
|
||||
"time for create_idx_tenpct_float_bt",
|
||||
"create index tenpct_float_bt on tenpct (col_float)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_int_bt",
|
||||
"time for create_idx_updates_int_bt",
|
||||
"create index updates_int_bt on updates (col_int)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_decim_bt",
|
||||
"time for create_idx_tenpct_decim_bt",
|
||||
"create index tenpct_decim_bt on tenpct (col_decim)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_hundred_code_h",
|
||||
"time for create_idx_hundred_code_h",
|
||||
"create index hundred_code_h on hundred (col_code)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_name_h",
|
||||
"time for create_idx_tenpct_name_h",
|
||||
"create index tenpct_name_h on tenpct (col_name)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_code_h",
|
||||
"time for create_idx_updates_code_h",
|
||||
"create index updates_code_h on updates (col_code)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_tenpct_code_h",
|
||||
"time for create_idx_tenpct_code_h",
|
||||
"create index tenpct_code_h on tenpct (col_code)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_double_bt",
|
||||
"time for create_idx_updates_double_bt",
|
||||
"create index updates_double_bt on updates (col_double)",$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_hundred_foreign",
|
||||
"time for create_idx_hundred_foreign",
|
||||
"alter table hundred add constraint fk_hundred_updates foreign key (col_signed)
|
||||
references updates (col_key)",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_1_cl",
|
||||
"Time to sel_1_cl",
|
||||
"select col_key, col_int, col_signed, col_code, col_double, col_name
|
||||
from updates where col_key = 1000",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_3_cl",
|
||||
"Time to join_3_cl",
|
||||
"select uniques.col_signed, uniques.col_date,
|
||||
hundred.col_signed, hundred.col_date,
|
||||
tenpct.col_signed, tenpct.col_date
|
||||
from uniques, hundred, tenpct
|
||||
where uniques.col_key = hundred.col_key
|
||||
and uniques.col_key = tenpct.col_key
|
||||
and uniques.col_key = 1000",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_100_ncl",
|
||||
"Time to sel_100_ncl",
|
||||
"select col_key, col_int, col_signed, col_code,col_double, col_name
|
||||
from updates where col_int <= 100",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("table_scan",
|
||||
"Time to table_scan",
|
||||
"select * from uniques where col_int = 1",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("agg_func",
|
||||
"Time for agg_func",
|
||||
"select min(col_key) from hundred group by col_name",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("agg_scal",
|
||||
"Time for agg_scal",
|
||||
"select min(col_key) from uniques",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_100_cl",
|
||||
"Time for sel_100_cl",
|
||||
"select col_key, col_int, col_signed, col_code,
|
||||
col_double, col_name
|
||||
from updates where col_key <= 100",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_3_ncl",
|
||||
"Time for join_3_ncl",
|
||||
"select uniques.col_signed, uniques.col_date,
|
||||
hundred.col_signed, hundred.col_date,
|
||||
tenpct.col_signed, tenpct.col_date
|
||||
from uniques, hundred, tenpct
|
||||
where uniques.col_code = hundred.col_code
|
||||
and uniques.col_code = tenpct.col_code
|
||||
and uniques.col_code = 'BENCHMARKS'",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_10pct_ncl",
|
||||
"Time for sel_10pct_ncl",
|
||||
"select col_key, col_int, col_signed, col_code,
|
||||
col_double, col_name
|
||||
from tenpct
|
||||
where col_name = 'THE+ASAP+BENCHMARKS+'",$dbh,$opt_loop_count);
|
||||
|
||||
if ($limits->{'subqueries'}){
|
||||
test_query("agg_simple_report",
|
||||
"Time for agg_simple_report",
|
||||
"select avg(updates.col_decim)
|
||||
from updates
|
||||
where updates.col_key in
|
||||
(select updates.col_key
|
||||
from updates, hundred
|
||||
where hundred.col_key = updates.col_key
|
||||
and updates.col_decim > 980000000)",$dbh,$opt_loop_count);
|
||||
}else{
|
||||
print "agg_simple_report - Failed\n\n";
|
||||
}
|
||||
|
||||
test_query("agg_info_retrieval",
|
||||
"Time for agg_info_retrieval",
|
||||
"select count(col_key)
|
||||
from tenpct
|
||||
where col_name = 'THE+ASAP+BENCHMARKS'
|
||||
and col_int <= 100000000
|
||||
and col_signed between 1 and 99999999
|
||||
and not (col_float between -450000000 and 450000000)
|
||||
and col_double > 600000000
|
||||
and col_decim < -600000000",$dbh,$opt_loop_count);
|
||||
|
||||
if ($limits->{'views'}){
|
||||
test_query("agg_create_view",
|
||||
"Time for agg_create_view",
|
||||
"create view
|
||||
reportview(col_key,col_signed,col_date,col_decim,
|
||||
col_name,col_code,col_int) as
|
||||
select updates.col_key, updates.col_signed,
|
||||
updates.col_date, updates.col_decim,
|
||||
hundred.col_name, hundred.col_code,
|
||||
hundred.col_int
|
||||
from updates, hundred
|
||||
where updates.col_key = hundred.col_key",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("agg_subtotal_report",
|
||||
"Time for agg_subtotal_report",
|
||||
"select avg(col_signed), min(col_signed), max(col_signed),
|
||||
max(col_date), min(col_date),
|
||||
count(distinct col_name), count(col_name),
|
||||
col_code, col_int
|
||||
from reportview
|
||||
where col_decim >980000000
|
||||
group by col_code, col_int",$dbh,$opt_loop_count);
|
||||
|
||||
|
||||
test_query("agg_total_report",
|
||||
"Time for agg_total_report",
|
||||
"select avg(col_signed), min(col_signed), max(col_signed),
|
||||
max(col_date), min(col_date),
|
||||
count(distinct col_name), count(col_name),
|
||||
count(col_code), count(col_int)
|
||||
from reportview
|
||||
where col_decim >980000000",$dbh,$opt_loop_count);
|
||||
}else{
|
||||
print "agg_create_view - Failed\n\n";
|
||||
print "agg_subtotal_report - Failed\n\n";
|
||||
print "agg_total_report - Failed\n\n";
|
||||
}
|
||||
|
||||
#fix from here
|
||||
test_query("join_2_cl",
|
||||
"Time for join_2_cl",
|
||||
"select uniques.col_signed, uniques.col_name,
|
||||
hundred.col_signed, hundred.col_name
|
||||
from uniques, hundred
|
||||
where uniques.col_key = hundred.col_key
|
||||
and uniques.col_key =1000"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_2",
|
||||
"Time for join_2",
|
||||
"select uniques.col_signed, uniques.col_name,
|
||||
hundred.col_signed, hundred.col_name
|
||||
from uniques, hundred
|
||||
where uniques.col_address = hundred.col_address
|
||||
and uniques.col_address = 'SILICON VALLEY'"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_variable_select_low",
|
||||
"Time for sel_variable_select_low",
|
||||
"select col_key, col_int, col_signed, col_code,
|
||||
col_double, col_name
|
||||
from tenpct
|
||||
where col_signed < -500000000"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_variable_select_high",
|
||||
"Time for sel_variable_select_high",
|
||||
"select col_key, col_int, col_signed, col_code,
|
||||
col_double, col_name
|
||||
from tenpct
|
||||
where col_signed < -250000000"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_4_cl",
|
||||
"Time for join_4_cl",
|
||||
"select uniques.col_date, hundred.col_date,
|
||||
tenpct.col_date, updates.col_date
|
||||
from uniques, hundred, tenpct, updates
|
||||
where uniques.col_key = hundred.col_key
|
||||
and uniques.col_key = tenpct.col_key
|
||||
and uniques.col_key = updates.col_key
|
||||
and uniques.col_key = 1000"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("proj_100",
|
||||
"Time for proj_100",
|
||||
"select distinct col_address, col_signed from hundred"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_4_ncl",
|
||||
"Time for join_4_ncl",
|
||||
"select uniques.col_date, hundred.col_date,
|
||||
tenpct.col_date, updates.col_date
|
||||
from uniques, hundred, tenpct, updates
|
||||
where uniques.col_code = hundred.col_code
|
||||
and uniques.col_code = tenpct.col_code
|
||||
and uniques.col_code = updates.col_code
|
||||
and uniques.col_code = 'BENCHMARKS'"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("proj_10pct",
|
||||
"Time for proj_10pct",
|
||||
"select distinct col_signed from tenpct"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("sel_1_ncl",
|
||||
"Time for sel_1_ncl",
|
||||
"select col_key, col_int, col_signed, col_code,
|
||||
col_double, col_name
|
||||
from updates where col_code = 'BENCHMARKS'"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_query("join_2_ncl",
|
||||
"Time for join_2_ncl",
|
||||
"select uniques.col_signed, uniques.col_name,
|
||||
hundred.col_signed, hundred.col_name
|
||||
from uniques, hundred
|
||||
where uniques.col_code = hundred.col_code
|
||||
and uniques.col_code = 'BENCHMARKS'"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
if ($limits->{'foreign_key'}){
|
||||
do_many($dbh,$server->create("integrity_temp",\@fields,[]));
|
||||
|
||||
test_query("integrity_test_1",
|
||||
"Time for integrity_test",
|
||||
"insert into integrity_temp select *
|
||||
from hundred where col_int=0",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("integrity_test_2",
|
||||
"Time for integrity_test",
|
||||
"update hundred set col_signed = '-500000000'
|
||||
where col_int = 0",$dbh,$opt_loop_count);
|
||||
|
||||
test_query("integrity_test_3",
|
||||
"Time for integrity_test",
|
||||
"update hundred set col_signed = '-500000000'
|
||||
where col_int = 0",$dbh,$opt_loop_count);
|
||||
|
||||
|
||||
}else{
|
||||
print "integrity_test - Failed\n\n";
|
||||
}
|
||||
|
||||
push @drop_seq_command,$server->drop_index("updates","updates_int_bt");
|
||||
push @drop_seq_command,$server->drop_index("updates","updates_double_bt");
|
||||
push @drop_seq_command,$server->drop_index("updates","updates_decim_bt");
|
||||
push @drop_seq_command,$server->drop_index("updates","updates_code_h");
|
||||
|
||||
test_many_command("Drop updates keys",
|
||||
"Time for drop_updates_keys",
|
||||
\@drop_seq_command,$dbh,$opt_loop_count);
|
||||
|
||||
do_many($dbh,$server->create("saveupdates",\@fields,[]));
|
||||
|
||||
test_command("bulk_save",
|
||||
"Time for bulk_save",
|
||||
"insert into saveupdates select *
|
||||
from updates where col_key between 5000 and 5999"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("bulk_modify",
|
||||
"Time for bulk_modify",
|
||||
"update updates
|
||||
set col_key = col_key - 100000
|
||||
where col_key between 5000 and 5999"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
safe_command("upd_append_duplicate",
|
||||
"Time for upd_append_duplicate",
|
||||
"insert into updates
|
||||
values (6000, 0, 60000, 39997.90,
|
||||
50005.00, 50005.00,
|
||||
'11/10/1985', 'CONTROLLER',
|
||||
'ALICE IN WONDERLAND',
|
||||
'UNIVERSITY OF ILLINOIS AT CHICAGO')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_remove_duplicate",
|
||||
"Time for upd_remove_duplicate",
|
||||
"delete from updates where col_key = 6000 and col_int = 0"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_app_t_mid",
|
||||
"Time for upd_app_t_mid",
|
||||
"insert into updates
|
||||
values (5005, 5005, 50005, 50005.00, 50005.00,
|
||||
50005.00, '1/1/1988', 'CONTROLLER',
|
||||
'ALICE IN WONDERLAND',
|
||||
'UNIVERSITY OF ILLINOIS AT CHICAGO')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_mod_t_mid",
|
||||
"Time for upd_mod_t_mid",
|
||||
"update updates set col_key = '-5000'
|
||||
where col_key = 5005"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_del_t_mid",
|
||||
"Time for upd_del_t_mid",
|
||||
"delete from updates
|
||||
where (col_key='5005') or (col_key='-5000')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_app_t_end",
|
||||
"Time for upd_app_t_end",
|
||||
"delete from updates
|
||||
where (col_key='5005') or (col_key='-5000')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_mod_t_end",
|
||||
"Time for upd_mod_t_end",
|
||||
"update updates
|
||||
set col_key = -1000
|
||||
where col_key = 1000000001"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_del_t_end",
|
||||
"Time for upd_del_t_end",
|
||||
"delete from updates where col_key = -1000"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_code_h",
|
||||
"time for create_idx_updates_code_h",
|
||||
"create index updates_code_h on updates (col_code)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_app_t_mid",
|
||||
"Time for upd_app_t_mid",
|
||||
"insert into updates
|
||||
values (5005, 5005, 50005, 50005.00, 50005.00,
|
||||
50005.00, '1/1/1988', 'CONTROLLER',
|
||||
'ALICE IN WONDERLAND',
|
||||
'UNIVERSITY OF ILLINOIS AT CHICAGO')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_mod_t_cod",
|
||||
"Time for upd_mod_t_cod",
|
||||
"update updates
|
||||
set col_code = 'SQL+GROUPS'
|
||||
where col_key = 5005"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_del_t_mid",
|
||||
"Time for upd_del_t_mid",
|
||||
"delete from updates
|
||||
where (col_key='5005') or (col_key='-5000')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("create_idx_updates_int_bt",
|
||||
"time for create_idx_updates_int_bt",
|
||||
"create index updates_int_bt on updates (col_int)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_app_t_mid",
|
||||
"Time for upd_app_t_mid",
|
||||
"insert into updates
|
||||
values (5005, 5005, 50005, 50005.00, 50005.00,
|
||||
50005.00, '1/1/1988', 'CONTROLLER',
|
||||
'ALICE IN WONDERLAND',
|
||||
'UNIVERSITY OF ILLINOIS AT CHICAGO')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_mod_t_int",
|
||||
"Time for upd_mod_t_int",
|
||||
"update updates set col_int = 50015 where col_key = 5005"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("upd_del_t_mid",
|
||||
"Time for upd_del_t_mid",
|
||||
"delete from updates
|
||||
where (col_key='5005') or (col_key='-5000')"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("bulk_append",
|
||||
"Time for bulk_append",
|
||||
"insert into updates select * from saveupdates"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
test_command("bulk_delete",
|
||||
"Time for bulk_delete",
|
||||
"delete from updates where col_key < 0"
|
||||
,$dbh,$opt_loop_count);
|
||||
|
||||
################################ END ###################################
|
||||
####
|
||||
#### End of the test...Finally print time used to execute the
|
||||
#### whole test.
|
||||
|
||||
$dbh->disconnect;
|
||||
|
||||
end_benchmark($start_time);
|
||||
|
||||
############################ HELP FUNCTIONS ##############################
|
||||
|
||||
sub test_query
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time);
|
||||
|
||||
print $test_text . "\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
defined(fetch_all_rows($dbh,$query)) or warn $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
|
||||
sub test_command
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time);
|
||||
|
||||
print $test_text . "\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
$dbh->do($query) or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
sub safe_command
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time);
|
||||
|
||||
print $test_text . "\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
safe_do_many($dbh,$query);
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
sub test_many_command
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time);
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
safe_do_many($dbh, @$query);
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
|
259
sql-bench/bench-count-distinct.sh
Normal file
259
sql-bench/bench-count-distinct.sh
Normal file
|
@ -0,0 +1,259 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# Test of selecting on keys that consist of many parts
|
||||
#
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Getopt::Long;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=10000;
|
||||
$opt_medium_loop_count=200;
|
||||
$opt_small_loop_count=10;
|
||||
$opt_regions=6;
|
||||
$opt_groups=100;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$columns=min($limits->{'max_columns'},500,($limits->{'query_size'}-50)/24,
|
||||
$limits->{'max_conditions'}/2-3);
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=10;
|
||||
$opt_medium_loop_count/=10;
|
||||
$opt_small_loop_count/=10;
|
||||
$opt_groups/=10;
|
||||
}
|
||||
|
||||
print "Testing the speed of selecting on keys that consist of many parts\n";
|
||||
print "The test-table has $opt_loop_count rows and the test is done with $columns ranges.\n\n";
|
||||
|
||||
####
|
||||
#### Connect and start timeing
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
$start_time=new Benchmark;
|
||||
|
||||
####
|
||||
#### Create needed tables
|
||||
####
|
||||
|
||||
goto select_test if ($opt_skip_create);
|
||||
|
||||
print "Creating table\n";
|
||||
$dbh->do("drop table bench1" . $server->{'drop_attr'});
|
||||
|
||||
do_many($dbh,$server->create("bench1",
|
||||
["region char(1) NOT NULL",
|
||||
"idn integer(6) NOT NULL",
|
||||
"rev_idn integer(6) NOT NULL",
|
||||
"grp integer(6) NOT NULL"],
|
||||
["primary key (region,idn)",
|
||||
"unique (region,rev_idn)",
|
||||
"unique (region,grp,idn)"]));
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"LOCK TABLES bench1 WRITE");
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
####
|
||||
#### Insert $opt_loop_count records with
|
||||
#### region: "A" -> "E"
|
||||
#### idn: 0 -> count
|
||||
#### rev_idn: count -> 0,
|
||||
#### grp: distributed values 0 - > count/100
|
||||
####
|
||||
|
||||
print "Inserting $opt_loop_count rows\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$query="insert into bench1 values (";
|
||||
$half_done=$opt_loop_count/2;
|
||||
for ($id=0,$rev_id=$opt_loop_count-1 ; $id < $opt_loop_count ; $id++,$rev_id--)
|
||||
{
|
||||
$grp=$id*3 % $opt_groups;
|
||||
$region=chr(65+$id%$opt_regions);
|
||||
do_query($dbh,"$query'$region',$id,$rev_id,$grp)");
|
||||
if ($id == $half_done)
|
||||
{ # Test with different insert
|
||||
$query="insert into bench1 (region,idn,rev_idn,grp) values (";
|
||||
}
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to insert ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"UNLOCK TABLES");
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh,"bench1");
|
||||
}
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"LOCK TABLES bench1 WRITE");
|
||||
}
|
||||
|
||||
####
|
||||
#### Do some selects on the table
|
||||
####
|
||||
|
||||
select_test:
|
||||
|
||||
|
||||
|
||||
if ($limits->{'group_distinct_functions'})
|
||||
{
|
||||
print "Testing count(distinct) on the table\n";
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct region) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_key_prefix ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct grp) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct grp),count(distinct rev_idn) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_2 ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select region,count(distinct idn) from bench1 group by region");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group_on_key ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select grp,count(distinct idn) from bench1 group by grp");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group_on_key_parts ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select grp,count(distinct rev_idn) from bench1 group by grp");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
$test_count=$opt_medium_loop_count/10;
|
||||
for ($i=0 ; $i < $test_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select idn,count(distinct region) from bench1 group by idn");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$test_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_big ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
|
||||
####
|
||||
#### End of benchmark
|
||||
####
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"UNLOCK TABLES");
|
||||
}
|
||||
if (!$opt_skip_delete)
|
||||
{
|
||||
do_query($dbh,"drop table bench1" . $server->{'drop_attr'});
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
||||
|
||||
end_benchmark($start_time);
|
598
sql-bench/bench-init.pl.sh
Normal file
598
sql-bench/bench-init.pl.sh
Normal file
|
@ -0,0 +1,598 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
##########################################################
|
||||
# this is the base file every test is using ....
|
||||
# this is made for not changing every file if we want to
|
||||
# add an option or just want to change something in
|
||||
# code what is the same in every file ...
|
||||
##########################################################
|
||||
|
||||
#
|
||||
# The exported values are:
|
||||
|
||||
# $opt_... Various options
|
||||
# $date Current date in ISO format
|
||||
# $server Object for current server
|
||||
# $limits Hash reference to limits for benchmark
|
||||
|
||||
$benchmark_version="2.15";
|
||||
use Getopt::Long;
|
||||
use POSIX;
|
||||
|
||||
require "$pwd/server-cfg" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$|=1; # Output data immediately
|
||||
|
||||
$opt_skip_test=$opt_skip_create=$opt_skip_delete=$opt_verbose=$opt_fast_insert=$opt_lock_tables=$opt_debug=$opt_skip_delete=$opt_fast=$opt_force=$opt_log=$opt_use_old_results=$opt_help=$opt_odbc=$opt_small_test=$opt_small_tables=$opt_samll_key_tables=$opt_stage=$opt_old_headers=$opt_die_on_errors=$opt_tcpip=$opt_random=0;
|
||||
$opt_cmp=$opt_user=$opt_password=$opt_connect_options="";
|
||||
$opt_server="mysql"; $opt_dir="output";
|
||||
$opt_host="localhost";$opt_database="test";
|
||||
$opt_machine=""; $opt_suffix="";
|
||||
$opt_create_options=undef;
|
||||
$opt_optimization="None";
|
||||
$opt_hw="";
|
||||
$opt_threads=5;
|
||||
|
||||
if (!defined($opt_time_limit))
|
||||
{
|
||||
$opt_time_limit=10*60; # Don't wait more than 10 min for some tests
|
||||
}
|
||||
|
||||
$log_prog_args=join(" ", skip_arguments(\@ARGV,"comments","cmp","server",
|
||||
"user", "host", "database", "password",
|
||||
"use-old-results","skip-test",
|
||||
"optimization","hw",
|
||||
"machine", "dir", "suffix", "log"));
|
||||
GetOptions("skip-test=s","comments=s","cmp=s","server=s","user=s","host=s","database=s","password=s","loop-count=i","row-count=i","skip-create","skip-delete","verbose","fast-insert","lock-tables","debug","fast","force","field-count=i","regions=i","groups=i","time-limit=i","log","use-old-results","machine=s","dir=s","suffix=s","help","odbc","small-test","small-tables","small-key-tables","stage=i","threads=i","random","old-headers","die-on-errors","create-options=s","hires","tcpip","silent","optimization=s","hw=s","socket=s","connect-options=s") || usage();
|
||||
|
||||
usage() if ($opt_help);
|
||||
$server=get_server($opt_server,$opt_host,$opt_database,$opt_odbc,
|
||||
machine_part(), $opt_socket, $opt_connect_options);
|
||||
$limits=merge_limits($server,$opt_cmp);
|
||||
$date=date();
|
||||
@estimated=(0.0,0.0,0.0); # For estimated time support
|
||||
|
||||
if ($opt_hires)
|
||||
{
|
||||
eval "use Time::HiRes;";
|
||||
}
|
||||
|
||||
{
|
||||
my $tmp= $opt_server;
|
||||
$tmp =~ s/_odbc$//;
|
||||
if (length($opt_cmp) && index($opt_cmp,$tmp) < 0)
|
||||
{
|
||||
$opt_cmp.=",$tmp";
|
||||
}
|
||||
}
|
||||
$opt_cmp=lc(join(",",sort(split(',',$opt_cmp))));
|
||||
|
||||
#
|
||||
# set opt_lock_tables if one uses --fast and drivers supports it
|
||||
#
|
||||
|
||||
if (($opt_lock_tables || $opt_fast) && $server->{'limits'}->{'lock_tables'})
|
||||
{
|
||||
$opt_lock_tables=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$opt_lock_tables=0;
|
||||
}
|
||||
if ($opt_fast)
|
||||
{
|
||||
$opt_fast_insert=1;
|
||||
$opt_suffix="_fast" if (!length($opt_suffix));
|
||||
}
|
||||
|
||||
if ($opt_odbc)
|
||||
{
|
||||
$opt_suffix="_odbc" if (!length($opt_suffix));
|
||||
}
|
||||
|
||||
if (!$opt_silent)
|
||||
{
|
||||
print "Testing server '" . $server->version() . "' at $date\n\n";
|
||||
}
|
||||
|
||||
if ($opt_debug)
|
||||
{
|
||||
print "\nCurrent limits: \n";
|
||||
foreach $key (sort keys %$limits)
|
||||
{
|
||||
print $key . " " x (30-length($key)) . $limits->{$key} . "\n";
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
|
||||
#
|
||||
# Some help functions
|
||||
#
|
||||
|
||||
sub skip_arguments
|
||||
{
|
||||
my($argv,@skip_args)=@_;
|
||||
my($skip,$arg,$name,@res);
|
||||
|
||||
foreach $arg (@$argv)
|
||||
{
|
||||
if ($arg =~ /^\-+([^=]*)/)
|
||||
{
|
||||
$name=$1;
|
||||
foreach $skip (@skip_args)
|
||||
{
|
||||
if (index($skip,$name) == 0)
|
||||
{
|
||||
$name=""; # Don't use this parameters
|
||||
last;
|
||||
}
|
||||
}
|
||||
push (@res,$arg) if (length($name));
|
||||
}
|
||||
}
|
||||
return @res;
|
||||
}
|
||||
|
||||
|
||||
sub merge_limits
|
||||
{
|
||||
my ($server,$cmp)= @_;
|
||||
my ($name,$tmp_server,$limits,$res_limits,$limit,$tmp_limits);
|
||||
|
||||
$res_limits=$server->{'limits'};
|
||||
if ($cmp)
|
||||
{
|
||||
foreach $name (split(",",$cmp))
|
||||
{
|
||||
$tmp_server= (get_server($name,$opt_host, $opt_database,
|
||||
$opt_odbc,machine_part())
|
||||
|| die "Unknown SQL server: $name\n");
|
||||
$limits=$tmp_server->{'limits'};
|
||||
%new_limits=();
|
||||
foreach $limit (keys(%$limits))
|
||||
{
|
||||
if (defined($res_limits->{$limit}) && defined($limits->{$limit}))
|
||||
{
|
||||
$new_limits{$limit}=min($res_limits->{$limit},$limits->{$limit});
|
||||
}
|
||||
}
|
||||
%tmp_limits=%new_limits;
|
||||
$res_limits=\%tmp_limits;
|
||||
}
|
||||
}
|
||||
return $res_limits;
|
||||
}
|
||||
|
||||
sub date
|
||||
{
|
||||
my ($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
|
||||
sprintf("%04d-%02d-%02d %2d:%02d:%02d",
|
||||
1900+$year,$mon+1,$mday,$hour,$min,$sec);
|
||||
}
|
||||
|
||||
sub min
|
||||
{
|
||||
my($min)=$_[0];
|
||||
my($i);
|
||||
for ($i=1 ; $i <= $#_; $i++)
|
||||
{
|
||||
$min=$_[$i] if ($min > $_[$i]);
|
||||
}
|
||||
return $min;
|
||||
}
|
||||
|
||||
sub max
|
||||
{
|
||||
my($max)=$_[0];
|
||||
my($i);
|
||||
for ($i=1 ; $i <= $#_; $i++)
|
||||
{
|
||||
$max=$_[$i] if ($max < $_[$i]);
|
||||
}
|
||||
return $max;
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Execute many statements in a row
|
||||
#
|
||||
|
||||
sub do_many
|
||||
{
|
||||
my ($dbh,@statements)=@_;
|
||||
my ($statement,$sth);
|
||||
|
||||
foreach $statement (@statements)
|
||||
{
|
||||
if (!($sth=$dbh->do($statement)))
|
||||
{
|
||||
die "Can't execute command '$statement'\nError: $DBI::errstr\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub safe_do_many
|
||||
{
|
||||
my ($dbh,@statements)=@_;
|
||||
my ($statement,$sth);
|
||||
|
||||
foreach $statement (@statements)
|
||||
{
|
||||
if (!($sth=$dbh->do($statement)))
|
||||
{
|
||||
print STDERR "Can't execute command '$statement'\nError: $DBI::errstr\n";
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Do a query and fetch all rows from a statement and return the number of rows
|
||||
#
|
||||
|
||||
sub fetch_all_rows
|
||||
{
|
||||
my ($dbh,$query,$must_get_result)=@_;
|
||||
my ($count,$sth);
|
||||
$count=0;
|
||||
|
||||
print "$query: " if ($opt_debug);
|
||||
if (!($sth= $dbh->prepare($query)))
|
||||
{
|
||||
print "\n" if ($opt_debug);
|
||||
die "Error occured with prepare($query)\n -> $DBI::errstr\n";
|
||||
return undef;
|
||||
}
|
||||
if (!$sth->execute)
|
||||
{
|
||||
print "\n" if ($opt_debug);
|
||||
if (defined($server->{'error_on_execute_means_zero_rows'}) &&
|
||||
!$server->abort_if_fatal_error())
|
||||
{
|
||||
if (defined($must_get_result) && $must_get_result)
|
||||
{
|
||||
die "Error: Query $query didn't return any rows\n";
|
||||
}
|
||||
$sth->finish;
|
||||
print "0\n" if ($opt_debug);
|
||||
return 0;
|
||||
}
|
||||
die "Error occured with execute($query)\n -> $DBI::errstr\n";
|
||||
$sth->finish;
|
||||
return undef;
|
||||
}
|
||||
while ($sth->fetchrow_arrayref)
|
||||
{
|
||||
$count++;
|
||||
}
|
||||
print "$count\n" if ($opt_debug);
|
||||
if (defined($must_get_result) && $must_get_result && !$count)
|
||||
{
|
||||
die "Error: Query $query didn't return any rows\n";
|
||||
}
|
||||
$sth->finish;
|
||||
undef($sth);
|
||||
return $count;
|
||||
}
|
||||
|
||||
sub do_query
|
||||
{
|
||||
my($dbh,$query)=@_;
|
||||
print "$query\n" if ($opt_debug);
|
||||
$dbh->do($query) or
|
||||
die "\nError executing '$query':\n$DBI::errstr\n";
|
||||
}
|
||||
|
||||
#
|
||||
# Run a query X times
|
||||
#
|
||||
|
||||
sub time_fetch_all_rows
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$test_count)=@_;
|
||||
my($i,$loop_time,$end_time,$count,$rows,$estimated);
|
||||
|
||||
print $test_text . "\n" if (defined($test_text));
|
||||
$count=$rows=0;
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=1 ; $i <= $test_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,$query) or die $DBI::errstr;
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i,
|
||||
$test_count));
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
if ($estimated)
|
||||
{ print "Estimated time"; }
|
||||
else
|
||||
{ print "Time"; }
|
||||
print " for $result_text ($count:$rows) " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Handle estimated time of the server is too slow
|
||||
# Returns 0 if one should continue as normal
|
||||
#
|
||||
|
||||
sub predict_query_time
|
||||
{
|
||||
my ($loop_time,$end_time,$count_ref,$loop,$loop_count)= @_;
|
||||
my ($k,$tmp);
|
||||
|
||||
if (($end_time->[0] - $loop_time->[0]) > $opt_time_limit)
|
||||
{
|
||||
# We can't wait until the SUN dies. Try to predict the end time
|
||||
if ($loop != $loop_count)
|
||||
{
|
||||
$tmp=($end_time->[0] - $loop_time->[0]);
|
||||
print "Note: Query took longer then time-limit: $opt_time_limit\nEstimating end time based on:\n";
|
||||
print "$$count_ref queries in $loop loops of $loop_count loops took $tmp seconds\n";
|
||||
for ($k=0; $k < 3; $k++)
|
||||
{
|
||||
$tmp=$loop_time->[$k]+($end_time->[$k]-$loop_time->[$k])/$loop*
|
||||
$loop_count;
|
||||
$estimated[$k]+=($tmp-$end_time->[$k]);
|
||||
$end_time->[$k]=$tmp;
|
||||
}
|
||||
$$count_ref= int($$count_ref/$loop*$loop_count);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#
|
||||
# standard end of benchmark
|
||||
#
|
||||
|
||||
sub end_benchmark
|
||||
{
|
||||
my ($start_time)=@_;
|
||||
|
||||
$end_time=new Benchmark;
|
||||
if ($estimated[0])
|
||||
{
|
||||
print "Estimated total time: ";
|
||||
$end_time->[0]+=$estimated[0];
|
||||
$end_time->[1]+=$estimated[1];
|
||||
$end_time->[2]+=$estimated[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
print "Total time: "
|
||||
}
|
||||
print timestr(timediff($end_time, $start_time),"all") . "\n";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
sub print_time
|
||||
{
|
||||
my ($estimated)=@_;
|
||||
if ($estimated)
|
||||
{ print "Estimated time"; }
|
||||
else
|
||||
{ print "Time"; }
|
||||
}
|
||||
|
||||
#
|
||||
# Create a filename part for the machine that can be used for log file.
|
||||
#
|
||||
|
||||
sub machine_part
|
||||
{
|
||||
my ($name,$orig);
|
||||
return $opt_machine if (length($opt_machine)); # Specified by user
|
||||
# Specified by user
|
||||
$orig=$name=machine();
|
||||
$name="win9$1" if ($orig =~ /win.*9(\d)/i);
|
||||
$name="NT_$1" if ($orig =~ /Windows NT.*(\d+\.\d+)/i);
|
||||
$name="win2k" if ($orig =~ /Windows 2000/i);
|
||||
$name =~ s/\s+/_/g; # Make the filenames easier to parse
|
||||
$name =~ s/-/_/g;
|
||||
$name =~ s/\//_/g;
|
||||
return $name;
|
||||
}
|
||||
|
||||
sub machine
|
||||
{
|
||||
my @name = POSIX::uname();
|
||||
my $name= $name[0] . " " . $name[2] . " " . $name[4];
|
||||
return $name;
|
||||
}
|
||||
|
||||
#
|
||||
# Usage
|
||||
#
|
||||
|
||||
sub usage
|
||||
{
|
||||
print <<EOF;
|
||||
The MySQL benchmarks Ver $benchmark_version
|
||||
|
||||
All benchmarks takes the following options:
|
||||
|
||||
--comments
|
||||
Add a comment to the benchmark output. Comments should contain
|
||||
extra information that 'uname -a' doesn\'t give and if the database was
|
||||
stared with some specific, non default, options.
|
||||
|
||||
--cmp=server[,server...]
|
||||
Run the test with limits from the given servers. If you run all servers
|
||||
with the same --cmp, you will get a test that is comparable between
|
||||
the different sql servers.
|
||||
|
||||
--create-options=#
|
||||
Extra argument to all create statements. If you for example want to
|
||||
create all MySQL tables as InnoDB tables use:
|
||||
--create-options=ENGINE=InnoDB
|
||||
|
||||
--database (Default $opt_database)
|
||||
In which database the test tables are created.
|
||||
|
||||
--debug
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
Print out debugging information.
|
||||
|
||||
--dir (Default $opt_dir)
|
||||
Option to 'run-all-tests' to where the test results should be stored.
|
||||
|
||||
--fast
|
||||
Allow the database to use non standard ANSI SQL commands to make the
|
||||
test go faster.
|
||||
|
||||
--fast-insert
|
||||
Use "insert into table_name values(...)" instead of
|
||||
"insert into table_name (....) values(...)"
|
||||
If the database supports it, some tests uses multiple value lists.
|
||||
|
||||
--field-count
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
This usually means how many fields there should be in the test table.
|
||||
|
||||
--force
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
Continue the test even if there is some error.
|
||||
Delete tables before creating new ones.
|
||||
|
||||
--groups (Default $opt_groups)
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
This usually means how many different groups there should be in the test.
|
||||
|
||||
--lock-tables
|
||||
Allow the database to use table locking to get more speed.
|
||||
|
||||
--log
|
||||
Option to 'run-all-tests' to save the result to the '--dir' directory.
|
||||
|
||||
--loop-count (Default $opt_loop_count)
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
This usually means how many times times each test loop is executed.
|
||||
|
||||
--help
|
||||
Shows this help
|
||||
|
||||
--host='host name' (Default $opt_host)
|
||||
Host name where the database server is located.
|
||||
|
||||
--machine="machine or os_name"
|
||||
The machine/os name that is added to the benchmark output filename.
|
||||
The default is the OS name + version.
|
||||
|
||||
--odbc
|
||||
Use the ODBC DBI driver to connect to the database.
|
||||
|
||||
--password='password'
|
||||
Password for the current user.
|
||||
|
||||
--socket='socket'
|
||||
If the database supports connecting through a Unix socket,
|
||||
then use this socket to connect
|
||||
|
||||
--regions
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
This usually means how AND levels should be tested.
|
||||
|
||||
--old-headers
|
||||
Get the old benchmark headers from the old RUN- file.
|
||||
|
||||
--server='server name' (Default $opt_server)
|
||||
Run the test on the given SQL server.
|
||||
Known servers names are: Access, Adabas, AdabasD, Empress, Oracle,
|
||||
Informix, DB2, mSQL, MS-SQL, MySQL, Pg, Solid and Sybase
|
||||
|
||||
--silent
|
||||
Don't print info about the server when starting test.
|
||||
|
||||
--skip-delete
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
This will keep the test tables after the test is run.
|
||||
|
||||
--skip-test=test1[,test2,...]
|
||||
For run-all-programs; Don\'t execute the named tests.
|
||||
|
||||
--small-test
|
||||
This runs some tests with smaller limits to get a faster test.
|
||||
Can be used if you just want to verify that the database works, but
|
||||
don't have time to run a full test.
|
||||
|
||||
--small-tables
|
||||
This runs some tests that generate big tables with fewer rows.
|
||||
This can be used with databases that can\'t handle that many rows
|
||||
because of pre-sized partitions.
|
||||
|
||||
--suffix (Default $opt_suffix)
|
||||
The suffix that is added to the database name in the benchmark output
|
||||
filename. This can be used to run the benchmark multiple times with
|
||||
different server options without overwritten old files.
|
||||
When using --fast the suffix is automaticly set to '_fast'.
|
||||
|
||||
--random
|
||||
Inform test suite that we are generate random inital values for sequence of
|
||||
test executions. It should be used for imitation of real conditions.
|
||||
|
||||
--threads=# (Default 5)
|
||||
Number of threads for multi-user benchmarks.
|
||||
|
||||
--tcpip
|
||||
Inform test suite that we are using TCP/IP to connect to the server. In
|
||||
this case we can\t do many new connections in a row as we in this case may
|
||||
fill the TCP/IP stack
|
||||
|
||||
--time-limit (Default $opt_time_limit)
|
||||
How long a test loop is allowed to take, in seconds, before the end result
|
||||
is 'estimated'.
|
||||
|
||||
--use-old-results
|
||||
Option to 'run-all-tests' to use the old results from the '--dir' directory
|
||||
instead of running the tests.
|
||||
|
||||
--user='user_name'
|
||||
User name to log into the SQL server.
|
||||
|
||||
--verbose
|
||||
This is a test specific option that is only used when debugging a test.
|
||||
Print more information about what is going on.
|
||||
|
||||
--optimization='some comments'
|
||||
Add coments about optimization of DBMS, which was done before the test.
|
||||
|
||||
--hw='some comments'
|
||||
Add coments about hardware used for this test.
|
||||
|
||||
--connect-options='some connect options'
|
||||
Add options, which uses at DBI connect.
|
||||
For example --connect-options=mysql_read_default_file=/etc/my.cnf.
|
||||
|
||||
EOF
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
####
|
||||
#### The end of the base file ...
|
||||
####
|
||||
1;
|
619
sql-bench/compare-results.sh
Normal file
619
sql-bench/compare-results.sh
Normal file
|
@ -0,0 +1,619 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# a little program to generate a table of results
|
||||
# just read all the RUN-*.log files and format them nicely
|
||||
# Made by Luuk de Boer
|
||||
# Patched by Monty
|
||||
|
||||
use Getopt::Long;
|
||||
|
||||
$opt_server="mysql";
|
||||
$opt_dir="output";
|
||||
$opt_machine=$opt_cmp="";
|
||||
$opt_relative=$opt_same_server=$opt_help=$opt_Information=$opt_skip_count=$opt_no_bars=$opt_verbose=0;
|
||||
|
||||
GetOptions("Information","help","server=s","cmp=s","machine=s","relative","same-server","dir=s","skip-count","no-bars","html","verbose") || usage();
|
||||
|
||||
usage() if ($opt_help || $opt_Information);
|
||||
|
||||
$opt_cmp=lc(join(",",sort(split(',',$opt_cmp))));
|
||||
|
||||
if ($opt_same_server)
|
||||
{
|
||||
$files="$opt_dir/RUN-$opt_server*$opt_machine";
|
||||
}
|
||||
else
|
||||
{
|
||||
$files="$opt_dir/RUN-*$opt_machine";
|
||||
}
|
||||
$files.= "-cmp-$opt_cmp" if (length($opt_cmp));
|
||||
|
||||
#
|
||||
# Go trough all RUN files and gather statistics.
|
||||
#
|
||||
|
||||
if ($#ARGV == -1)
|
||||
{
|
||||
@ARGV=glob($files);
|
||||
$automatic_files=1;
|
||||
}
|
||||
|
||||
foreach (@ARGV)
|
||||
{
|
||||
next if (!$opt_cmp && /-cmp-/ && $automatic_files || defined($found{$_}));
|
||||
$prog=$filename = $_;
|
||||
$found{$_}=1; # Remove dupplicates
|
||||
/RUN-(.*)$/;
|
||||
$tot{$prog}{'version'}=$1;
|
||||
push(@key_order,$prog);
|
||||
$next = 0;
|
||||
open(TMP, "<$filename") || die "Can't open $filename: $!\n";
|
||||
while (<TMP>)
|
||||
{
|
||||
chomp;
|
||||
if ($next == 0) {
|
||||
if (/Server version:\s+(\S+.*)/i)
|
||||
{
|
||||
$tot{$prog}{'server'} = $1;
|
||||
}
|
||||
elsif (/Arguments:\s+(.+)/i)
|
||||
{
|
||||
$arguments= $1;
|
||||
# Remove some standard, not informative arguments
|
||||
$arguments =~ s/--force|--log|--use-old\S*|--server=\S+|--cmp=\S+|--user=\S+|--pass=\S+|--machine=\S+|--dir=\S+//g;
|
||||
if (($tmp=index($arguments,"--comment")) >= 0)
|
||||
{
|
||||
if (($end=index($arguments,$tmp+2,"--")) >= 0)
|
||||
{
|
||||
substr($arguments,$tmp,($end-$tmp))="";
|
||||
}
|
||||
else
|
||||
{
|
||||
$arguments=substr($arguments,0,$tmp);
|
||||
}
|
||||
}
|
||||
$arguments =~ s/\s+/ /g;
|
||||
$tot{$prog}{'arguments'}=$arguments;
|
||||
}
|
||||
elsif (/Comments:\s+(.+)/i) {
|
||||
$tot{$prog}{'comments'} = $1;
|
||||
} elsif (/^(\S+):.*(estimated\s|)total\stime:\s+([\d.]+)\s+(wallclock\s|)secs/i)
|
||||
{
|
||||
$tmp = $1; $tmp =~ s/://;
|
||||
$tot{$prog}{$tmp} = [ $3, (length($2) ? "+" : "")];
|
||||
$op1{$tmp} = $tmp;
|
||||
} elsif (/Totals per operation:/i) {
|
||||
$next = 1;
|
||||
next;
|
||||
}
|
||||
}
|
||||
elsif ($next == 1)
|
||||
{
|
||||
if (/^(\S+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s*([+|?])*/)
|
||||
{
|
||||
$tot1{$prog}{$1} = [$2,$6,$7];
|
||||
$op{$1} = $1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!%op)
|
||||
{
|
||||
print "Didn't find any files matching: '$files'\n";
|
||||
print "Use the --cmp=server,server option to compare benchmarks\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
# everything is loaded ...
|
||||
# now we have to create a fancy output :-)
|
||||
|
||||
# I prefer to redirect scripts instead to force it to file ; Monty
|
||||
#
|
||||
# open(RES, ">$resultfile") || die "Can't write to $resultfile: $!\n";
|
||||
# select(RES)
|
||||
#
|
||||
|
||||
if ($opt_html) {
|
||||
html_output();
|
||||
} else {
|
||||
ascii_output();
|
||||
}
|
||||
exit 0;
|
||||
|
||||
#
|
||||
# some output + format functions;
|
||||
#
|
||||
|
||||
sub ascii_output {
|
||||
print <<EOF;
|
||||
This is the result file of the different benchmark tests.
|
||||
|
||||
The number in () after each tests shows how many SQL commands the particular
|
||||
test did. As one test may have many different parameters this gives only
|
||||
a rough picture of what was done. Check the source for more information :)
|
||||
|
||||
Keep in mind that one can\'t compare benchmarks run with different --cmp
|
||||
options. The --cmp options sets the all limits according to the worst
|
||||
limit for all server in the benchmark.
|
||||
|
||||
Numbers marked with '+' are estimated according to previous runs because
|
||||
the query took longer than a given time-limit to finish. The estimation
|
||||
shouldn\'t be far from the real result thought.
|
||||
|
||||
Numbers marked with '?' contains results that gave wrong result. This can only
|
||||
be used as an indication of how long it took for the server to produce a wrong
|
||||
result :)
|
||||
|
||||
Numbers marked with '*' are tests that was run a different number times
|
||||
than the test in the first column. The reason for this is normally that the
|
||||
marked test was run with different options that affects the number of tests
|
||||
or that the test was from another version of the MySQL benchmarks.
|
||||
|
||||
Hope this will give you some idea how each db is performing at what thing ....
|
||||
Hope you like it .... Luuk & Monty (1997)
|
||||
|
||||
EOF
|
||||
|
||||
if ($opt_relative)
|
||||
{
|
||||
print "Column 1 is in seconds. All other columns are presented relative\n";
|
||||
print "to this. 1.00 is the same, bigger numbers indicates slower\n\n";
|
||||
}
|
||||
|
||||
if ($opt_verbose)
|
||||
{
|
||||
print "The test values is printed in the format 'time:number of tests'\n";
|
||||
}
|
||||
|
||||
if (length($opt_cmp))
|
||||
{
|
||||
print "The test was run with limits from: $opt_cmp\n\n";
|
||||
}
|
||||
print "The result logs which where found and the options:\n";
|
||||
$bar= $opt_no_bars ? " " : "|";
|
||||
|
||||
# Move $opt_server first in array if not filename on command line
|
||||
if ($automatic_files)
|
||||
{
|
||||
@key_order=sort {$a cmp $b} keys %tot;
|
||||
for ($i=0; $i <= $#key_order; $i++)
|
||||
{
|
||||
if ($tot{$key_order[$i]}{'version'} =~ /^$opt_server-/)
|
||||
{
|
||||
unshift(@key_order,$key_order[$i]);
|
||||
splice(@key_order,$i+1,1);
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
# Print header
|
||||
|
||||
$column_count=0;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
$tmp=$tmp=$tot{$key}{'version'};
|
||||
$tmp =~ s/-cmp-$opt_cmp// if (length($opt_cmp));
|
||||
$column_count++;
|
||||
printf "%2d %-40.40s: %s %s\n", $column_count, $tmp,
|
||||
$tot{$key}{'server'}, $tot{$key}{'arguments'};
|
||||
print " $tot{$key}{'comments'}\n"
|
||||
if ($tot{$key}{'comments'} =~ /\w+/);
|
||||
}
|
||||
|
||||
print "\n";
|
||||
|
||||
$namewidth=($opt_skip_count && !$opt_verbose) ? 29 : 36;
|
||||
$colwidth= $opt_relative ? 10 : 7;
|
||||
$count_width=7;
|
||||
$colwidth+=$count_width if ($opt_verbose);
|
||||
|
||||
print_sep("=");
|
||||
printf "%-$namewidth.${namewidth}s${bar}", "Operation";
|
||||
$count = 1;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
printf "%${colwidth}d${bar}", $count;
|
||||
$count++;
|
||||
}
|
||||
printf "\n%-$namewidth.${namewidth}s${bar}", "";
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
$ver=$tot{$key}{'version'};
|
||||
$ver =~ s/-[a-zA-Z0-9_\.]+-cmp-$opt-cmp$//;
|
||||
printf "%${colwidth}.${colwidth}s${bar}", $ver;
|
||||
}
|
||||
print "\n";
|
||||
print_sep("-");
|
||||
print_string($opt_relative ? "Relative results per test (First column is in seconds):" : "Results per test in seconds:");
|
||||
print_sep("-");
|
||||
|
||||
foreach $key (sort {$a cmp $b} keys %op1)
|
||||
{
|
||||
printf "%-$namewidth.${namewidth}s${bar}", $key;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot{$server}{$key}->[0],undef(),$tot{$server}{$key}->[1]);
|
||||
$first=$tot{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
|
||||
print_sep("-");
|
||||
print_string("The results per operation:");
|
||||
print_sep("-");
|
||||
|
||||
foreach $key (sort {$a cmp $b} keys %op)
|
||||
{
|
||||
next if ($key =~ /TOTALS/i);
|
||||
$tmp=$key;
|
||||
$count=$tot1{$key_order[0]}{$key}->[1];
|
||||
$tmp.= " (" . $count . ")" if (!$skip_count);
|
||||
printf "%-$namewidth.${namewidth}s${bar}", $tmp;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
$tmp= $count != $tot1{$server}{$key}->[1] ? "*" : "";
|
||||
print_value($first,$tot1{$server}{$key}->[0],$tot1{$server}{$key}->[1],
|
||||
$tot1{$server}{$key}->[2] . $tmp);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
|
||||
print_sep("-");
|
||||
$key="TOTALS";
|
||||
printf "%-$namewidth.${namewidth}s${bar}", $key;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot1{$server}{$key}->[0],undef(),
|
||||
$tot1{$server}{$key}->[2]);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "\n";
|
||||
print_sep("=");
|
||||
}
|
||||
|
||||
|
||||
sub html_output
|
||||
{
|
||||
my $template="template.html";
|
||||
my $title="MySQL | | Information | Benchmarks | Compare with $opt_cmp";
|
||||
my $image="info.gif";
|
||||
$bar="";
|
||||
|
||||
open(TEMPLATE, $template) || die;
|
||||
while (<TEMPLATE>)
|
||||
{
|
||||
if (/<center>/)
|
||||
{
|
||||
print $_;
|
||||
print "<!---- This is AUTOMATICALLY Generated. Do not edit here! ---->\n";
|
||||
}
|
||||
elsif (/TITLE:SUBTITLE/)
|
||||
{
|
||||
s|TITLE:SUBTITLE|$title|;
|
||||
print $_;
|
||||
}
|
||||
elsif (/TITLE:COMPARE/)
|
||||
{
|
||||
s|TITLE:COMPARE|$opt_cmp|;
|
||||
print $_;
|
||||
}
|
||||
elsif (/ subchapter name /)
|
||||
{
|
||||
# Nothing here for now
|
||||
print $_;
|
||||
}
|
||||
elsif (/ text of chapter /)
|
||||
{
|
||||
print $_;
|
||||
print_html_body();
|
||||
}
|
||||
else
|
||||
{
|
||||
print $_;
|
||||
}
|
||||
}
|
||||
close(TEMPLATE);
|
||||
}
|
||||
|
||||
|
||||
sub print_html_body
|
||||
{
|
||||
my ($title,$count,$key);
|
||||
print <<EOF;
|
||||
<center>
|
||||
<font size=+4><b>MySQL Benchmark Results</b></font><br>
|
||||
<font size=+1><b>Compare with $opt_cmp</b></font><p><p>
|
||||
</center>
|
||||
This is the result file of the different benchmark tests.
|
||||
<p>
|
||||
|
||||
The number in () after each tests shows how many SQL commands the particular
|
||||
test did. As one test may have many different parameters this gives only
|
||||
a rough picture of what was done. Check the source for more information.
|
||||
<p>
|
||||
Keep in mind that one can\'t compare benchmarks run with different --cmp
|
||||
options. The --cmp options sets the all limits according to the worst
|
||||
limit for all server in the benchmark.
|
||||
<p>
|
||||
Numbers marked with '+' are estimated according to previous runs because
|
||||
the query took longer than a given time-limit to finish. The estimation
|
||||
shouldn\'t be far from the real result thought.
|
||||
<p>
|
||||
Numbers marked with '?' contains results that gave wrong result. This can only
|
||||
be used as an indication of how long it took for the server to produce a wrong
|
||||
result :)
|
||||
<p>
|
||||
Hope this will give you some idea how each db is performing at what thing ....
|
||||
<br>
|
||||
Hope you like it .... Luuk & Monty (1997)
|
||||
<p><p>
|
||||
EOF
|
||||
|
||||
if ($opt_relative)
|
||||
{
|
||||
print "Column 1 is in seconds. All other columns are presented relative<br>\n";
|
||||
print "to this. 1.00 is the same, bigger numbers indicates slower<p>\n\n";
|
||||
}
|
||||
|
||||
if (length($opt_cmp))
|
||||
{
|
||||
print "The test was run with limits from: $opt_cmp\n\n";
|
||||
}
|
||||
print "The result logs which where found and the options:<br>\n";
|
||||
|
||||
# Move $opt_server first in array
|
||||
if ($automatic_files)
|
||||
{
|
||||
@key_order=sort {$a cmp $b} keys %tot;
|
||||
for ($i=0; $i <= $#key_order; $i++)
|
||||
{
|
||||
if ($tot{$key_order[$i]}{'version'} =~ /^$opt_server-/)
|
||||
{
|
||||
unshift(@key_order,$key_order[$i]);
|
||||
splice(@key_order,$i+1,1);
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
# Print header
|
||||
print "<p><center><table border=1 width=100%>\n";
|
||||
$column_count=0;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
$tmp=$tot{$key}{'version'};
|
||||
$tmp =~ s/-cmp-$opt_cmp// if (length($opt_cmp));
|
||||
$column_count++;
|
||||
# printf "<tr><td>%2d<td>%-36.36s<td>%s %s</tr>\n", $column_count, $tmp,
|
||||
printf "<tr><td>%2d</td><td>%s</td><td>%s %s</td></tr>\n",
|
||||
$column_count, $tmp, $tot{$key}{'server'}, $tot{$key}{'arguments'};
|
||||
print "<tr><td colspan=3>$tot{$key}{'comments'}</td></tr>\n"
|
||||
if ($tot{$key}{'comments'} =~ /\w+/);
|
||||
}
|
||||
|
||||
print "</table></center><p><center><table border=1 width=100%>\n";
|
||||
|
||||
$namewidth=$opt_skip_count ? 22 :29;
|
||||
$colwidth= $opt_relative ? 10 : 7;
|
||||
$count_width=7;
|
||||
|
||||
printf "<tr><td><b>%s</b></td>\n", "Operation";
|
||||
$count = 1;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
$ver=$tot{$key}{'version'};
|
||||
printf "<td align=center><b>%d", $count;
|
||||
printf "<br>%${colwidth}.${colwidth}s</b></td>\n", substr($ver,0,index($ver,"-"));
|
||||
$count++;
|
||||
}
|
||||
print "</tr>\n";
|
||||
$title = $opt_relative ? "Relative results per test (First column is in seconds):" : "Results per test in seconds:";
|
||||
printf "<tr><td colspan=%d><b>%s</b></td></tr>\n", $count, $title;
|
||||
|
||||
foreach $key (sort {$a cmp $b} keys %op1)
|
||||
{
|
||||
if (!$opt_html)
|
||||
{
|
||||
printf "<tr><td>%-$namewidth.${namewidth}s</td>", $key;
|
||||
}
|
||||
else
|
||||
{
|
||||
print "<tr><td>$key</td>";
|
||||
}
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot{$server}{$key}->[0],undef(),
|
||||
$tot{$server}{$key}->[1]);
|
||||
$first=$tot{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
$title = "The results per operation:";
|
||||
printf "<tr><td colspan=%d><b>%s</b></td></tr>\n", $count, $title;
|
||||
|
||||
foreach $key (sort {$a cmp $b} keys %op)
|
||||
{
|
||||
next if ($key =~ /TOTALS/i);
|
||||
$tmp=$key;
|
||||
$tmp.= " (" . $tot1{$key_order[0]}{$key}->[1] . ")" if (!$skip_count);
|
||||
if (!$opt_html)
|
||||
{
|
||||
printf "<tr><td>%-$namewidth.${namewidth}s</td>", $tmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
print "<tr><td>$tmp</td>";
|
||||
}
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot1{$server}{$key}->[0],
|
||||
$tot1{$server}{$key}->[1],
|
||||
$tot1{$server}{$key}->[2]);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
$key="TOTALS";
|
||||
printf "<tr><td><b>%-$namewidth.${namewidth}s</b></td>", $key;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot1{$server}{$key}->[0],undef(),
|
||||
$tot1{$server}{$key}->[2]);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
print "</tr>\n</table>\n";
|
||||
}
|
||||
|
||||
|
||||
sub print_sep
|
||||
{
|
||||
my ($sep)=@_;
|
||||
print $sep x ($namewidth + (($colwidth+1) * $column_count)+1),"\n";
|
||||
}
|
||||
|
||||
|
||||
sub print_value
|
||||
{
|
||||
my ($first,$value,$count,$flags)=@_;
|
||||
my ($tmp,$width);
|
||||
|
||||
if (defined($value))
|
||||
{
|
||||
if (!defined($first) || !$opt_relative)
|
||||
{
|
||||
$tmp=sprintf("%.2f",$value);
|
||||
}
|
||||
else
|
||||
{
|
||||
$first=1 if ($first == 0); # Assume that it took one second instead of 0
|
||||
$tmp= sprintf("%.2f",$value/$first);
|
||||
}
|
||||
if (defined($flags))
|
||||
{
|
||||
$tmp="+".$tmp if ($flags =~ /\+/);
|
||||
$tmp="?".$tmp if ($flags =~ /\?/);
|
||||
$tmp="*".$tmp if ($flags =~ /\*/);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmp="";
|
||||
}
|
||||
$width= ($opt_verbose ? $colwidth - $count_width : $colwidth);
|
||||
if (!$opt_html)
|
||||
{
|
||||
$tmp= " " x ($width-length($tmp)) . $tmp if (length($tmp) < $width);
|
||||
}
|
||||
if ($opt_verbose)
|
||||
{
|
||||
if ($count)
|
||||
{
|
||||
$tmp.= ":" . " " x ($count_width-1-length($count)) . $count;
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmp.= " " x ($count_width);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$opt_html) {
|
||||
print $tmp . "${bar}";
|
||||
} else {
|
||||
print "<td align=right>$tmp</td>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub print_string
|
||||
{
|
||||
my ($str)=@_;
|
||||
if (!$opt_html)
|
||||
{
|
||||
my ($width);
|
||||
$width=$namewidth + ($colwidth+1)*$column_count;
|
||||
$str=substr($str,1,$width) if (length($str) > $width);
|
||||
print($str," " x ($width - length($str)),"${bar}\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
print $str,"\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub usage
|
||||
{
|
||||
print <<EOF;
|
||||
$0 Ver 1.2
|
||||
|
||||
This program parses all RUN files from old 'run-all-tests --log' scripts
|
||||
and makes a nice comparable table.
|
||||
|
||||
$0 takes currently the following options:
|
||||
|
||||
--help or --Information
|
||||
Shows this help
|
||||
|
||||
--cmp=server,server,server (Default $opt_cmp)
|
||||
Compares all runs that are done with the same --cmp options to run-all-tests.
|
||||
The most normal options are '--cmp=mysql,pg,solid' and '--cmp ""'
|
||||
|
||||
--dir=... (Default $opt_dir)
|
||||
From which directory one should get the runs. All runs made by
|
||||
run-all-tests --log is saved in the 'output' directory.
|
||||
In the 'results' directory you may have some example runs from different
|
||||
databases.
|
||||
|
||||
--html
|
||||
Print the table in html format.
|
||||
|
||||
--machine='full-machine-name' (Default $opt_machine)
|
||||
Use only runs that match this machine.
|
||||
|
||||
--relative
|
||||
Show all numbers in times of the first server where the time for the
|
||||
first server is 1.0
|
||||
|
||||
--same-server
|
||||
Compare all runs for --server=.... The --machine is not used in this case
|
||||
This is nice to compare how the same server runs on different machines.
|
||||
|
||||
--server='server name' (Default $opt_server)
|
||||
Put this server in the first result column.
|
||||
|
||||
--skip-count
|
||||
Do not write the number of tests after the test-name.
|
||||
|
||||
--verbose
|
||||
Write the number of tests in each column. This is useful when some column
|
||||
is marked with '*'.
|
||||
EOF
|
||||
|
||||
exit(0);
|
||||
}
|
372
sql-bench/copy-db.sh
Normal file
372
sql-bench/copy-db.sh
Normal file
|
@ -0,0 +1,372 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# start initialition
|
||||
#
|
||||
|
||||
$VER = "1.0";
|
||||
|
||||
use Getopt::Long;
|
||||
use Cwd;
|
||||
use DBI;
|
||||
|
||||
$max_row_length=500000; # Don't create bigger SQL rows that this
|
||||
$opt_lock=1; # lock tables
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
|
||||
require "$pwd/server-cfg" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$|=1;
|
||||
|
||||
$opt_from_server= $opt_to_server= "mysql";
|
||||
$opt_from_host= $opt_to_host= "localhost";
|
||||
$opt_from_db= $opt_to_db= "test";
|
||||
$opt_from_user=$opt_from_password=$opt_to_user=$opt_to_password="";
|
||||
$opt_help=$opt_verbose=$opt_debug=0;
|
||||
|
||||
|
||||
GetOptions("from-server=s","to-server=s","from-host=s","to-host=s","from-db=s",
|
||||
"to-db=s", "help", "verbose","debug") || usage();
|
||||
|
||||
usage() if ($opt_help ||
|
||||
($opt_from_server eq $opt_to_server &&
|
||||
$opt_from_db eq $opt_to_db &&
|
||||
$opt_from_host eq $opt_to_host));
|
||||
|
||||
####
|
||||
#### Usage
|
||||
####
|
||||
|
||||
|
||||
sub usage
|
||||
{
|
||||
print <<EOF;
|
||||
|
||||
$0 version $VER by Monty
|
||||
|
||||
Copies tables between two database servers. If the destination table doesn\'t
|
||||
exist it\'s autoamticly created. If the destination table exists, it
|
||||
should be compatible with the source table.
|
||||
|
||||
Because DBI doesn\'t provide full information about the columns in a table,
|
||||
some columns may not have optimal types in a create tables. Any created
|
||||
tables will also not have any keys!
|
||||
|
||||
Usage: $0 [options] tables...
|
||||
|
||||
Options:
|
||||
--help Show this help and exit
|
||||
--from-server Source server (Default: $opt_from_server)
|
||||
--from-host Source hostname (Default: $opt_from_host)
|
||||
--from-db Source database name (Default: $opt_from_db)
|
||||
--from-user Source user (Default: $opt_from_password)
|
||||
--from-password Source password (Default: $opt_from_password)
|
||||
--to-server Destination server (Default: $opt_to_server)
|
||||
--to-host Destination hostname (Default: $opt_to_host)
|
||||
--to-db Destination database name (Default: $opt_to_db)
|
||||
--to-user Destination user (Default: $opt_to_user)
|
||||
--to-password Destination password (Default: $opt_to_password)
|
||||
--verbose Be more verbose
|
||||
|
||||
If you the server names ends with _ODBC, then this program will connect
|
||||
through ODBC instead of using a native driver.
|
||||
EOF
|
||||
exit(0);
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$from_server=get_server($opt_from_server,$opt_from_host,$opt_from_db);
|
||||
$to_server=get_server($opt_to_server,$opt_to_host,$opt_to_db);
|
||||
|
||||
$opt_user=$opt_from_user; $opt_password=$opt_from_password;
|
||||
print "- connecting to SQL servers\n" if ($opt_verbose);
|
||||
$from_dbh=$from_server->connect() || die "Can't connect to source server $opt_from_server on host $opt_from_host using db $opt_from_db";
|
||||
$opt_user=$opt_to_user; $opt_password=$opt_to_password;
|
||||
$to_dbh=$to_server->connect() || die "Can't connect to source server $opt_to_server on host $opt_to_host using db $opt_to_db";
|
||||
|
||||
####
|
||||
#### Copy data
|
||||
####
|
||||
|
||||
foreach $table (@ARGV)
|
||||
{
|
||||
|
||||
print "- querying $table\n" if ($opt_verbose);
|
||||
$sth=$from_dbh->prepare("select * from $table") || die "Can't prepare query to get $table; $DBI::errstr";
|
||||
$sth->execute || die "Can't execute query to get data from $table; $DBI::errstr";
|
||||
|
||||
if (!table_exists($to_server,$to_dbh,$table))
|
||||
{
|
||||
print "- creating $table\n" if ($opt_verbose);
|
||||
$table_def=get_table_definition($from_server,$from_dbh,$sth);
|
||||
do_many($to_dbh,$to_server->create($table,$table_def,[]));
|
||||
}
|
||||
if ($opt_lock && $to_server->{'lock_tables'})
|
||||
{
|
||||
print "- locking $table\n" if ($opt_verbose);
|
||||
$to_dbh->do("lock tables $table WRITE");
|
||||
}
|
||||
|
||||
$columns=$sth->{NUM_OF_FIELDS};
|
||||
$columns_to_quote=get_columns_to_quote($sth);
|
||||
$insert_multi_value=$sth->{'insert_multi_value'};
|
||||
$query="insert into $table values"; $result="";
|
||||
|
||||
print "- copying $table\n" if ($opt_verbose);
|
||||
while (($row = $sth->fetchrow_arrayref))
|
||||
{
|
||||
$tmp="(";
|
||||
for ($i=0 ; $i < $columns ; $i++)
|
||||
{
|
||||
if ($columns_to_quote->[$i])
|
||||
{
|
||||
$tmp.= $to_dbh->quote($row->[$i]) . ",";
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmp.= $row->[$i] . ",";
|
||||
}
|
||||
}
|
||||
substr($tmp,-1)=")"; # Remove last ','
|
||||
if ($insert_multi_value)
|
||||
{
|
||||
$to_dbh->do($query . $tmp) || die "Can't insert row: $DBI::errstr";
|
||||
}
|
||||
elsif (length($result)+length($tmp) >= $max_row_length && $result)
|
||||
{
|
||||
$to_dbh->do($query . $result) || die "Can't insert row: $DBI::errstr";
|
||||
$result="";
|
||||
}
|
||||
elsif (length($result))
|
||||
{
|
||||
$result.= ",$tmp";
|
||||
}
|
||||
else
|
||||
{
|
||||
$result=$tmp;
|
||||
}
|
||||
}
|
||||
if (length($result))
|
||||
{
|
||||
$to_dbh->do($query . $result) || die "Can't insert row: $DBI::errstr";
|
||||
}
|
||||
if ($opt_lock && $to_server->{'lock_tables'})
|
||||
{
|
||||
$to_dbh->do("unlock tables");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub get_table_definition
|
||||
{
|
||||
my ($server,$dbh,$sth)=@_;
|
||||
my ($i,$names,$types,$scale,$precision,$nullable,@res);
|
||||
|
||||
$names=$sth->{NAME};
|
||||
$types=$sth->{TYPE};
|
||||
$nullable=$sth->{NULLABLE};
|
||||
if (0)
|
||||
{
|
||||
# The following doesn't yet work
|
||||
$scale=$sth->{SCALE};
|
||||
$precision=$sth->{PRECISION};
|
||||
}
|
||||
else
|
||||
{
|
||||
my (@tmp);
|
||||
@tmp= (undef()) x $sth->{NUM_OF_FIELDS};
|
||||
$precision= $scale= \@tmp;
|
||||
}
|
||||
for ($i = 0; $i < $sth->{NUM_OF_FIELDS} ; $i++)
|
||||
{
|
||||
push(@res,$names->[$i] . " " .
|
||||
odbc_to_sql($server,$types->[$i],$precision->[$i],$scale->[$i]) .
|
||||
($nullable->[$i] ? "" : " NOT NULL"));
|
||||
}
|
||||
return \@res;
|
||||
}
|
||||
|
||||
|
||||
sub odbc_to_sql
|
||||
{
|
||||
my ($server,$type,$precision,$scale)=@_;
|
||||
|
||||
if ($type == DBI::SQL_CHAR())
|
||||
{
|
||||
return defined($precision) ? "char($precision)" : "varchar(255)";
|
||||
}
|
||||
|
||||
if ($type == DBI::SQL_NUMERIC())
|
||||
{
|
||||
$precision=15 if (!defined($precision));
|
||||
$scale=6 if (!defined($scale));
|
||||
return "numeric($precision,$scale)";
|
||||
}
|
||||
if ($type == DBI::SQL_DECIMAL())
|
||||
{
|
||||
$precision=15 if (!defined($precision));
|
||||
$scale=6 if (!defined($scale));
|
||||
return "decimal($precision,$scale)";
|
||||
}
|
||||
if ($type == DBI::SQL_INTEGER())
|
||||
{
|
||||
return "integer" if (!defined($precision));
|
||||
return "integer($precision)";
|
||||
}
|
||||
if ($type == DBI::SQL_SMALLINT())
|
||||
{
|
||||
return "smallint" if (!defined($precision));
|
||||
return "smallint($precision)";
|
||||
}
|
||||
if ($type == DBI::SQL_FLOAT())
|
||||
{
|
||||
$precision=12 if (!defined($precision));
|
||||
$scale=2 if (!defined($scale));
|
||||
return "float($precision,$scale)";
|
||||
}
|
||||
if ($type == DBI::SQL_REAL())
|
||||
{
|
||||
$precision=12 if (!defined($precision));
|
||||
$scale=2 if (!defined($scale));
|
||||
return "float($precision,$scale)";
|
||||
}
|
||||
if ($type == DBI::SQL_DOUBLE())
|
||||
{
|
||||
$precision=22 if (!defined($precision));
|
||||
$scale=2 if (!defined($scale));
|
||||
return "double($precision,$scale)";
|
||||
}
|
||||
if ($type == DBI::SQL_VARCHAR())
|
||||
{
|
||||
$precision=255 if (!defined($precision));
|
||||
return "varchar($precision)";
|
||||
}
|
||||
return "date" if ($type == DBI::SQL_DATE());
|
||||
return "time" if ($type == DBI::SQL_TIME());
|
||||
return "timestamp" if ($type == DBI::SQL_TIMESTAMP());
|
||||
return $server->{'text'} if ($type == DBI::SQL_LONGVARCHAR());
|
||||
return $server->{'blob'} if ($type == DBI::SQL_LONGVARBINARY());
|
||||
if ($type == DBI::SQL_BIGINT())
|
||||
{
|
||||
return "bigint" if (!defined($precision));
|
||||
return "bigint($precision)";
|
||||
}
|
||||
if ($type == DBI::SQL_TINYINT())
|
||||
{
|
||||
return "tinyint" if (!defined($precision));
|
||||
return "tinyint($precision)";
|
||||
}
|
||||
die "Can't covert type '$type' to a ODBC type\n";
|
||||
}
|
||||
|
||||
#
|
||||
# return an array with 1 for all coumns that we have to quote
|
||||
#
|
||||
|
||||
sub get_columns_to_quote($sth)
|
||||
{
|
||||
my ($sth)=@_;
|
||||
my ($i,@res,$type,$tmp);
|
||||
|
||||
@res=();
|
||||
for ($i = 0; $i < $sth->{NUM_OF_FIELDS} ; $i++)
|
||||
{
|
||||
$type=$sth->{TYPE}->[$i];
|
||||
$tmp=1; # String by default
|
||||
if ($type == DBI::SQL_NUMERIC() || $type == DBI::SQL_DECIMAL() ||
|
||||
$type == DBI::SQL_INTEGER() || $type == DBI::SQL_SMALLINT() ||
|
||||
$type == DBI::SQL_SMALLINT() || $type == DBI::SQL_FLOAT() ||
|
||||
$type == DBI::SQL_REAL() || $type == DBI::SQL_DOUBLE() ||
|
||||
$type == DBI::SQL_BIGINT() || $type == DBI::SQL_TINYINT())
|
||||
{
|
||||
$tmp=0;
|
||||
}
|
||||
push (@res,$tmp);
|
||||
}
|
||||
return \@res;
|
||||
}
|
||||
|
||||
#
|
||||
# Check if table exists; Return 1 if table exists
|
||||
#
|
||||
|
||||
sub table_exists
|
||||
{
|
||||
my ($server,$dbh,$table)=@_;
|
||||
if ($server->{'limits'}->{'group_functions'})
|
||||
{
|
||||
return !safe_query($dbh,"select count(*) from $table");
|
||||
}
|
||||
if ($server->{'limits'}->{'limit'})
|
||||
{
|
||||
return !safe_query($dbh,"select * from $table limit 1");
|
||||
}
|
||||
die "Don't know how to check if table '$table' exists in destination server\n";
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# execute query; return 0 if query is ok
|
||||
#
|
||||
|
||||
sub safe_query
|
||||
{
|
||||
my ($dbh,$query)=@_;
|
||||
my ($sth);
|
||||
|
||||
print "query: $query\n" if ($opt_debug);
|
||||
if (!($sth= $dbh->prepare($query)))
|
||||
{
|
||||
print "error: $DBI::errstr\n" if ($opt_debug);
|
||||
return 1;
|
||||
}
|
||||
if (!$sth->execute)
|
||||
{
|
||||
print "error: $DBI::errstr\n" if ($opt_debug);
|
||||
return 1
|
||||
}
|
||||
while ($sth->fetchrow_arrayref)
|
||||
{
|
||||
}
|
||||
$sth->finish;
|
||||
undef($sth);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#
|
||||
# execute an array of queries
|
||||
#
|
||||
|
||||
sub do_many
|
||||
{
|
||||
my ($dbh,@statements)=@_;
|
||||
my ($statement,$sth);
|
||||
|
||||
foreach $statement (@statements)
|
||||
{
|
||||
print "query: $statement\n" if ($opt_debug);
|
||||
if (!($sth=$dbh->do($statement)))
|
||||
{
|
||||
die "Can't execute command '$statement'\nError: $DBI::errstr\n";
|
||||
}
|
||||
}
|
||||
}
|
5024
sql-bench/crash-me.sh
Normal file
5024
sql-bench/crash-me.sh
Normal file
File diff suppressed because it is too large
Load diff
7
sql-bench/example.bat
Normal file
7
sql-bench/example.bat
Normal file
|
@ -0,0 +1,7 @@
|
|||
REM
|
||||
REM Example use to run test on PC
|
||||
REM One need only to run 'comapre-results' to view results from old runs
|
||||
|
||||
perl run-all-tests --server mysql --cmp "access,mysql"
|
||||
perl run-all-tests --server mysql --cmp "access,mysql" --log --use-old-results
|
||||
perl compare-results --cmp "access,mysql" -rel
|
660
sql-bench/graph-compare-results.sh
Normal file
660
sql-bench/graph-compare-results.sh
Normal file
|
@ -0,0 +1,660 @@
|
|||
####
|
||||
#### Hello ... this is a heavily hacked script by Luuk
|
||||
#### instead of printing the result it makes a nice gif
|
||||
#### when you want to look at the code ... beware of the
|
||||
#### ugliest code ever seen .... but it works ...
|
||||
#### and that's sometimes the only thing you want ... isn't it ...
|
||||
#### as the original script ... Hope you like it
|
||||
####
|
||||
#### Greetz..... Luuk de Boer 1997.
|
||||
####
|
||||
|
||||
## if you want the seconds behind the bar printed or not ...
|
||||
## or only the one where the bar is too big for the graph ...
|
||||
## look at line 535 of this program and below ...
|
||||
## look in sub calculate for allmost all hard/soft settings :-)
|
||||
|
||||
# a little program to generate a table of results
|
||||
# just read all the RUN-*.log files and format them nicely
|
||||
# Made by Luuk de Boer
|
||||
# Patched by Monty
|
||||
|
||||
use Getopt::Long;
|
||||
use GD;
|
||||
|
||||
$opt_server="mysql";
|
||||
$opt_cmp="mysql,pg,solid";
|
||||
$opt_cmp="msql,mysql,pg,solid";
|
||||
$opt_cmp="empress,mysql,pg,solid";
|
||||
$opt_dir="output";
|
||||
$opt_machine="";
|
||||
$opt_relative=$opt_same_server=$opt_help=$opt_Information=$opt_skip_count=0;
|
||||
|
||||
GetOptions("Information","help","server=s","cmp=s","machine=s","relative","same-server","dir=s","skip-count") || usage();
|
||||
|
||||
usage() if ($opt_help || $opt_Information);
|
||||
|
||||
if ($opt_same_server)
|
||||
{
|
||||
$files="$opt_dir/RUN-$opt_server-*$opt_machine";
|
||||
}
|
||||
else
|
||||
{
|
||||
$files="$opt_dir/RUN-*$opt_machine";
|
||||
}
|
||||
$files.= "-cmp-$opt_cmp" if (length($opt_cmp));
|
||||
|
||||
$automatic_files=0;
|
||||
if ($#ARGV == -1)
|
||||
{
|
||||
@ARGV=glob($files);
|
||||
$automatic_files=1;
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Go trough all RUN files and gather statistics.
|
||||
#
|
||||
|
||||
foreach (@ARGV)
|
||||
{
|
||||
$filename = $_;
|
||||
next if (defined($found{$_})); # remove duplicates
|
||||
$found{$_}=1;
|
||||
/RUN-(.*)$/;
|
||||
$prog = $1;
|
||||
push(@key_order,$prog);
|
||||
$next = 0;
|
||||
open(TMP, "<$filename") || die "Can't open $filename: $!\n";
|
||||
while (<TMP>)
|
||||
{
|
||||
chomp;
|
||||
if ($next == 0) {
|
||||
if (/Server version:\s+(\S+.*)/i)
|
||||
{
|
||||
$tot{$prog}{'server'} = $1;
|
||||
}
|
||||
elsif (/Arguments:\s+(.+)/i)
|
||||
{
|
||||
$tot{$prog}{'arguments'} = $1;
|
||||
# Remove some standard, not informative arguments
|
||||
$tot{$prog}{'arguments'} =~ s/--log|--use-old-results|--server=\S+|--cmp=\S+|--user=\S+|--pass=\S+|--machine=\S+//g;
|
||||
$tot{$prog}{'arguments'} =~ s/\s+/ /g;
|
||||
}
|
||||
elsif (/Comments:\s+(.+)/i) {
|
||||
$tot{$prog}{'comments'} = $1;
|
||||
} elsif (/^(\S+):\s*(estimated\s|)total\stime:\s+(\d+)\s+secs/i)
|
||||
{
|
||||
$tmp = $1; $tmp =~ s/://;
|
||||
$tot{$prog}{$tmp} = [ $3, (length($2) ? "+" : "")];
|
||||
$op1{$tmp} = $tmp;
|
||||
} elsif (/Totals per operation:/i) {
|
||||
$next = 1;
|
||||
next;
|
||||
}
|
||||
}
|
||||
elsif ($next == 1)
|
||||
{
|
||||
if (/^(\S+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)\s*([+|?])*/)
|
||||
{
|
||||
$tot1{$prog}{$1} = [$2,$6,$7];
|
||||
$op{$1} = $1;
|
||||
#print "TEST - $_ \n * $prog - $1 - $2 - $6 - $7 ****\n";
|
||||
# $prog - filename
|
||||
# $1 - operation
|
||||
# $2 - time in secs
|
||||
# $6 - number of loops
|
||||
# $7 - nothing / + / ? / * => estimated time ...
|
||||
# get the highest value ....
|
||||
$highest = ($2/$6) if (($highest < ($2/$6)) && ($1 !~/TOTALS/i));
|
||||
$gifcount++;
|
||||
$giftotal += ($2/$6);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!%op)
|
||||
{
|
||||
print "Didn't find any files matching: '$files'\n";
|
||||
print "Use the --cmp=server,server option to compare benchmarks\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
# everything is loaded ...
|
||||
# now we have to create a fancy output :-)
|
||||
|
||||
# I prefer to redirect scripts instead to force it to file ; Monty
|
||||
#
|
||||
# open(RES, ">$resultfile") || die "Can't write to $resultfile: $!\n";
|
||||
# select(RES)
|
||||
#
|
||||
|
||||
#print <<EOF;
|
||||
#<cut for this moment>
|
||||
#
|
||||
#EOF
|
||||
|
||||
if ($opt_relative)
|
||||
{
|
||||
# print "Column 1 is in seconds. All other columns are presented relative\n";
|
||||
# print "to this. 1.00 is the same, bigger numbers indicates slower\n\n";
|
||||
}
|
||||
|
||||
#print "The result logs which where found and the options:\n";
|
||||
|
||||
if ($automatic_files)
|
||||
{
|
||||
if ($key_order[$i] =~ /^$opt_server/)
|
||||
{
|
||||
if ($key_order[$i] =~ /^$opt_server/)
|
||||
{
|
||||
unshift(@key_order,$key_order[$i]);
|
||||
splice(@key_order,$i+1,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
# extra for mysql and mysql_pgcc
|
||||
#$number1 = shift(@key_order);
|
||||
#$number2 = shift(@key_order);
|
||||
#unshift(@key_order,$number1);
|
||||
#unshift(@key_order,$number2);
|
||||
|
||||
# Print header
|
||||
|
||||
$column_count=0;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
$column_count++;
|
||||
# printf "%2d %-40.40s: %s %s\n", $column_count, $key,
|
||||
# $tot{$key}{'server'}, $tot{$key}{'arguments'};
|
||||
# print "Comments: $tot{$key}{'comments'}\n"
|
||||
# if ($tot{$key}{'comments'} =~ /\w+/);
|
||||
}
|
||||
|
||||
#print "\n";
|
||||
|
||||
$namewidth=$opt_skip_count ? 20 :25;
|
||||
$colwidth= $opt_relative ? 9 : 6;
|
||||
|
||||
print_sep("=");
|
||||
#printf "%-$namewidth.${namewidth}s|", "Operation";
|
||||
$count = 1;
|
||||
foreach $key (@key_order)
|
||||
{
|
||||
# printf "%${colwidth}d|", $count;
|
||||
$count++;
|
||||
}
|
||||
#print "\n";
|
||||
#print_sep("-");
|
||||
#print_string("Results per test:");
|
||||
#print_sep("-");
|
||||
|
||||
foreach $key (sort {$a cmp $b} keys %op1)
|
||||
{
|
||||
# printf "%-$namewidth.${namewidth}s|", $key;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot{$server}{$key}->[0],$tot{$server}{$key}->[1]);
|
||||
$first=$tot{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
# print "\n";
|
||||
}
|
||||
|
||||
print_sep("-");
|
||||
print_string("The results per operation:");
|
||||
print_sep("-");
|
||||
$luukcounter = 1;
|
||||
foreach $key (sort {$a cmp $b} keys %op)
|
||||
{
|
||||
next if ($key =~ /TOTALS/i);
|
||||
$tmp=$key;
|
||||
$tmp.= " (" . $tot1{$key_order[0]}{$key}->[1] . ")" if (!$skip_count);
|
||||
# printf "%-$namewidth.${namewidth}s|", $tmp;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
print_value($first,$tot1{$server}{$key}->[0],$tot1{$server}{$key}->[2]);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
# print "\n";
|
||||
$luukcounter++;
|
||||
}
|
||||
|
||||
#print_sep("-");
|
||||
$key="TOTALS";
|
||||
#printf "%-$namewidth.${namewidth}s|", $key;
|
||||
$first=undef();
|
||||
foreach $server (@key_order)
|
||||
{
|
||||
# print_value($first,$tot1{$server}{$key}->[0],$tot1{$server}{$key}->[2]);
|
||||
$first=$tot1{$server}{$key}->[0] if (!defined($first));
|
||||
}
|
||||
#print "\n";
|
||||
#print_sep("=");
|
||||
&make_gif;
|
||||
|
||||
exit 0;
|
||||
|
||||
#
|
||||
# some format functions;
|
||||
#
|
||||
|
||||
sub print_sep
|
||||
{
|
||||
my ($sep)=@_;
|
||||
# print $sep x ($namewidth + (($colwidth+1) * $column_count)+1),"\n";
|
||||
}
|
||||
|
||||
|
||||
sub print_value
|
||||
{
|
||||
my ($first,$value,$flags)=@_;
|
||||
my ($tmp);
|
||||
|
||||
if (defined($value))
|
||||
{
|
||||
if (!defined($first) || !$opt_relative)
|
||||
{
|
||||
$tmp=sprintf("%d",$value);
|
||||
}
|
||||
else
|
||||
{
|
||||
$first=1 if (!$first); # Assume that it took one second instead of 0
|
||||
$tmp= sprintf("%.2f",$value/$first);
|
||||
}
|
||||
if (defined($flags))
|
||||
{
|
||||
$tmp="+".$tmp if ($flags =~ /\+/);
|
||||
$tmp="?".$tmp if ($flags =~ /\?/);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmp="";
|
||||
}
|
||||
$tmp= " " x ($colwidth-length($tmp)) . $tmp if (length($tmp) < $colwidth);
|
||||
# print $tmp . "|";
|
||||
}
|
||||
|
||||
|
||||
sub print_string
|
||||
{
|
||||
my ($str)=@_;
|
||||
my ($width);
|
||||
$width=$namewidth + ($colwidth+1)*$column_count;
|
||||
|
||||
$str=substr($str,1,$width) if (length($str) > $width);
|
||||
# print($str," " x ($width - length($str)),"|\n");
|
||||
}
|
||||
|
||||
sub usage
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
###########################################
|
||||
###########################################
|
||||
# making here a gif of the results ... (lets try it :-))
|
||||
# luuk .... 1997
|
||||
###########################################
|
||||
## take care that $highest / $giftotal / $gifcount / $luukcounter
|
||||
## are getting there value above ... so don't forget them while
|
||||
## copying the code to some other program ....
|
||||
|
||||
sub make_gif {
|
||||
&gd; # some base things ....
|
||||
&legend; # make the nice legend
|
||||
&lines; # yep sometimes you have to print some lines
|
||||
&gif("gif/benchmark2-".$opt_cmp); # and finally we can print all to a gif file ...
|
||||
}
|
||||
##### mmm we are finished now ...
|
||||
|
||||
|
||||
# first we have to calculate some limits and some other stuff
|
||||
sub calculate {
|
||||
# here is the list which I have to know to make everything .....
|
||||
# the small border width ... $sm_border =
|
||||
# the border default $border =
|
||||
# the step default ... if it must be calculated then no value $step =
|
||||
# the highest number $highest =
|
||||
# the max length of the text of the x borders $max_len_lb=
|
||||
# the max length of a legend entry $max_len_le=
|
||||
# number of entries in the legend $num_legen =
|
||||
# the length of the color blocks for the legend $legend_block=
|
||||
# the width of the gif ...if it must be calculated - no value $width =
|
||||
# the height of the gif .. if it must be calculated - no value $height =
|
||||
# the width of the grey field ' ' ' ' $width_grey=
|
||||
# the height of the grey field ' ' ' ' $height_grey=
|
||||
# number of dashed lines $lines=
|
||||
# if bars must overlap how much they must be overlapped $overlap=
|
||||
# titlebar title of graph in two colors big $titlebar=
|
||||
# titlebar1 sub title of graph in small font in black $titlebar1=
|
||||
# xlabel $xlabel=
|
||||
# ylabel $ylabel=
|
||||
# the name of the gif ... $name=
|
||||
# then the following things must be knows .....
|
||||
# xlabel below or on the left side ?
|
||||
# legend yes/no?
|
||||
# where must the legend be placed?
|
||||
# must the xlabel be printed horizontal or vertical?
|
||||
# must the ylabel be printed horizontal or vertical?
|
||||
# must the graph be a line or a bar graph?
|
||||
# is a xlabel several different entries or some sub entries of one?
|
||||
# so xlabel 1 => test1=10, test2=15, test3=7 etc
|
||||
# or xlabel 1 => test1a=12, test1b=10, test1c=7 etc
|
||||
# must the bars overlap (only with the second example I think)
|
||||
# must the number be printed above or next to the bar?
|
||||
# when must the number be printed .... only when it extends the graph ...???
|
||||
# the space between the bars .... are that the same width of the bars ...
|
||||
# or is it a separate space ... defined ???
|
||||
# must the date printed below or some where else ....
|
||||
|
||||
#calculate all space for text and other things ....
|
||||
$sm_border = 8; # the grey border around ...
|
||||
$border = 40; #default ...
|
||||
$left_border = 2.75 * $border; #default ...
|
||||
$right_border = $border; #default ...
|
||||
$up_border = $border; #default ...
|
||||
$down_border = $border; # default ...
|
||||
$step = ($height - $up_border - $down_border)/ ($luukcounter + (($#key_order + 1) * $luukcounter));
|
||||
# can set $step to get nice graphs ... and change the format ...
|
||||
$step = 8; # set hard the step value
|
||||
|
||||
$gifavg = ($giftotal/$gifcount);
|
||||
$highest = 2 * $gifavg;
|
||||
$highest = 1; # set hard the highest value ...
|
||||
$xhigh = int($highest + .5 * $highest);
|
||||
|
||||
# here to get the max lenght of the test entries ...
|
||||
# so we can calculate the with of the left border
|
||||
foreach $oper (sort keys (%op)) {
|
||||
$max_len_lb = length($oper) if (length($oper) > $max_len_lb);
|
||||
# print "oper = $oper - $max_len_lb\n";
|
||||
}
|
||||
$max_len_lb = $max_len_lb * gdSmallFont->width;
|
||||
$left_border = (3*$sm_border) + $max_len_lb;
|
||||
$down_border = (4*$sm_border) + (gdSmallFont->width*(length($xhigh)+3)) + (gdSmallFont->height *2);
|
||||
$right_border = (3*$sm_border) + 3 + (gdSmallFont->width*(length($highest)+5));
|
||||
|
||||
# calculate the space for the legend .....
|
||||
foreach $key (@key_order) {
|
||||
$tmp = $key;
|
||||
$tmp =~ s/-cmp-$opt_cmp//i;
|
||||
$giflegend = sprintf "%-24.24s: %-40.40s",$tmp,$tot{$key}{'server'};
|
||||
$max_len_le = length($giflegend) if (length($giflegend) > $max_len_le);
|
||||
}
|
||||
$max_len_le = $max_len_le * gdSmallFont->width;
|
||||
$legend_block = 10; # the length of the block in the legend
|
||||
$max_high_le = (($#key_order + 1)*(gdSmallFont->height+2)) + (2*$legend_block);
|
||||
$down_border += $max_high_le;
|
||||
$up_border = (5 * $sm_border) + gdSmallFont->height + gdLargeFont->height;
|
||||
|
||||
print "Here some things we already know ....\n";
|
||||
# print "luukcounter = $luukcounter (number of tests)\n";
|
||||
# print "gifcount = $gifcount (number of total entries)\n";
|
||||
# print "giftotal = $giftotal (total secs)\n";
|
||||
# print "gifavg = $gifavg\n";
|
||||
# print "highest = $highest\n";
|
||||
# print "xhigh = $xhigh\n";
|
||||
# print "step = $step -- $#key_order\n";
|
||||
# print "max_len_lb = $max_len_lb\n";
|
||||
# printf "Small- width %d - height %s\n",gdSmallFont->width,gdSmallFont->height;
|
||||
# printf "Tiny- width %d - height %s\n",gdTinyFont->width,gdTinyFont->height;
|
||||
}
|
||||
|
||||
sub gd {
|
||||
&calculate;
|
||||
$width = 600; # the width ....
|
||||
$height = 500; # the height ...
|
||||
$width_greyfield = 430;
|
||||
# when $step is set ... count the height ....????
|
||||
$width = $width_greyfield + $left_border + $right_border;
|
||||
$height = ($step * ($luukcounter + ($luukcounter * ($#key_order + 1)))) + $down_border + $up_border;
|
||||
$b_width = $width - ($left_border + $right_border); # width within the grey field
|
||||
$overlap = 0; # how far each colum can fall over each other ...nice :-)
|
||||
|
||||
# make the gif image ....
|
||||
$im = new GD::Image($width,$height);
|
||||
|
||||
# allocate the colors to use ...
|
||||
$white = $im->colorAllocate(255,255,255);
|
||||
$black = $im->colorAllocate(0,0,0);
|
||||
$paper_white = $im->colorAllocate(220, 220, 220);
|
||||
$grey1 = $im->colorAllocate(240, 240, 240);
|
||||
$grey4 = $im->colorAllocate(229, 229, 229);
|
||||
$grey2 = $im->colorAllocate(102, 102, 102);
|
||||
$grey3 = $im->colorAllocate(153, 153, 153);
|
||||
|
||||
$red = $im->colorAllocate(205,0,0); # msql
|
||||
$lred = $im->colorAllocate(255,0,0);
|
||||
$blue = $im->colorAllocate(0,0,205); # mysql
|
||||
$lblue = $im->colorAllocate(0,0,255); # mysql_pgcc
|
||||
$green = $im->colorAllocate(0, 205, 0); # postgres
|
||||
$lgreen = $im->colorAllocate(0, 255, 0); # pg_fast
|
||||
$orange = $im->colorAllocate(205,133, 0); # solid
|
||||
$lorange = $im->colorAllocate(255, 165, 0); # Adabas
|
||||
$yellow = $im->colorAllocate(205,205,0); # empress
|
||||
$lyellow = $im->colorAllocate(255,255,0);
|
||||
$magenta = $im->colorAllocate(255,0,255); # oracle
|
||||
$lmagenta = $im->colorAllocate(255,200,255);
|
||||
$cyan = $im->colorAllocate(0,205,205); # sybase
|
||||
$lcyan = $im->colorAllocate(0,255,255);
|
||||
$sienna = $im->colorAllocate(139,71,38); # db2
|
||||
$lsienna = $im->colorAllocate(160,82,45);
|
||||
$coral = $im->colorAllocate(205,91,69); # Informix
|
||||
$lcoral = $im->colorAllocate(255,114,86);
|
||||
$peach = $im->colorAllocate(205,175,149);
|
||||
$lpeach = $im->colorAllocate(255,218,185);
|
||||
|
||||
@colors = ($red, $blue, $green, $orange, $yellow, $magenta, $cyan, $sienna, $coral, $peach);
|
||||
@lcolors = ($lred, $lblue, $lgreen, $lorange, $lyellow, $lmagenta, $lcyan, $lsienna, $lcoral, $lpeach);
|
||||
|
||||
# set a color per server so in every result it has the same color ....
|
||||
foreach $key (@key_order) {
|
||||
if ($tot{$key}{'server'} =~ /mysql/i) {
|
||||
if ($key =~ /mysql_pgcc/i || $key =~ /mysql_odbc/i || $key =~ /mysql_fast/i) {
|
||||
$tot{$key}{'color'} = $lblue;
|
||||
} else {
|
||||
$tot{$key}{'color'} = $blue;
|
||||
}
|
||||
} elsif ($tot{$key}{'server'} =~ /msql/i) {
|
||||
$tot{$key}{'color'} = $lred;
|
||||
} elsif ($tot{$key}{'server'} =~ /postgres/i) {
|
||||
if ($key =~ /pg_fast/i) {
|
||||
$tot{$key}{'color'} = $lgreen;
|
||||
} else {
|
||||
$tot{$key}{'color'} = $green;
|
||||
}
|
||||
} elsif ($tot{$key}{'server'} =~ /solid/i) {
|
||||
$tot{$key}{'color'} = $lorange;
|
||||
} elsif ($tot{$key}{'server'} =~ /empress/i) {
|
||||
$tot{$key}{'color'} = $lyellow;
|
||||
} elsif ($tot{$key}{'server'} =~ /oracle/i) {
|
||||
$tot{$key}{'color'} = $magenta;
|
||||
} elsif ($tot{$key}{'server'} =~ /sybase/i) {
|
||||
$tot{$key}{'color'} = $cyan;
|
||||
} elsif ($tot{$key}{'server'} =~ /db2/i) {
|
||||
$tot{$key}{'color'} = $sienna;
|
||||
} elsif ($tot{$key}{'server'} =~ /informix/i) {
|
||||
$tot{$key}{'color'} = $coral;
|
||||
} elsif ($tot{$key}{'server'} =~ /microsoft/i) {
|
||||
$tot{$key}{'color'} = $peach;
|
||||
} elsif ($tot{$key}{'server'} =~ /access/i) {
|
||||
$tot{$key}{'color'} = $lpeach;
|
||||
} elsif ($tot{$key}{'server'} =~ /adabas/i) {
|
||||
$tot{$key}{'color'} = $lorange;
|
||||
}
|
||||
}
|
||||
|
||||
# make the nice little borders
|
||||
# left bar
|
||||
$poly0 = new GD::Polygon;
|
||||
$poly0->addPt(0,0);
|
||||
$poly0->addPt($sm_border,$sm_border);
|
||||
$poly0->addPt($sm_border,($height - $sm_border));
|
||||
$poly0->addPt(0,$height);
|
||||
$im->filledPolygon($poly0,$grey1);
|
||||
$im->polygon($poly0, $grey4);
|
||||
# upper bar
|
||||
$poly3 = new GD::Polygon;
|
||||
$poly3->addPt(0,0);
|
||||
$poly3->addPt($sm_border,$sm_border);
|
||||
$poly3->addPt(($width - $sm_border),$sm_border);
|
||||
$poly3->addPt($width,0);
|
||||
$im->polygon($poly3, $grey4);
|
||||
$tmptime = localtime(time);
|
||||
$im->string(gdSmallFont,($width - $sm_border - (gdSmallFont->width * length($tmptime))),($height - ($sm_border) - gdSmallFont->height), $tmptime, $grey3);
|
||||
|
||||
# right bar
|
||||
$poly1 = new GD::Polygon;
|
||||
$poly1->addPt($width,0);
|
||||
$poly1->addPt(($width - $sm_border),$sm_border);
|
||||
$poly1->addPt(($width - $sm_border),($height - $sm_border));
|
||||
$poly1->addPt($width,$height);
|
||||
$im->filledPolygon($poly1, $grey3);
|
||||
$im->stringUp(gdSmallFont,($width - 10),($height - (2 * $sm_border)), "Made by Luuk de Boer - 1997 (c)", $blue);
|
||||
#below bar
|
||||
$poly2 = new GD::Polygon;
|
||||
$poly2->addPt(0,$height);
|
||||
$poly2->addPt($sm_border,($height - $sm_border));
|
||||
$poly2->addPt(($width - $sm_border),($height - $sm_border));
|
||||
$poly2->addPt($width,$height);
|
||||
$im->filledPolygon($poly2, $grey2);
|
||||
|
||||
# do the black line around where in you will print ... (must be done at last
|
||||
# but is hard to develop with ... but the filled grey must be done first :-)
|
||||
$im->filledRectangle($left_border,$up_border,($width - ($right_border)),($height-$down_border),$grey4);
|
||||
|
||||
|
||||
# print the nice title ...
|
||||
$titlebar = "MySQL Benchmark results"; # head title ...
|
||||
$titlebar1 = "Compare $opt_cmp "; # sub title
|
||||
$header2 = "seconds/test"; # header value
|
||||
$center = ($width / 2) - ((gdLargeFont->width * length($titlebar)) / 2);
|
||||
$center1 = ($width / 2) - ((gdSmallFont->width * length($titlebar1)) / 2);
|
||||
$center2 = ($width_greyfield/2) - ((gdSmallFont->width*length($header2))/2);
|
||||
$bovenkant = $sm_border * 3;
|
||||
$bovenkant1 = $bovenkant + gdLargeFont->height + (.5*$sm_border);
|
||||
$bovenkant2 = $height - $down_border + (1*$sm_border) + (gdSmallFont->width*(length($xhigh)+3));
|
||||
$im->string(gdLargeFont,($center),($bovenkant + 1), $titlebar, $grey3);
|
||||
$im->string(gdLargeFont,($center),($bovenkant), $titlebar, $red);
|
||||
$im->string(gdSmallFont,($center1),($bovenkant1), $titlebar1, $black);
|
||||
$im->string(gdSmallFont,($left_border + $center2),($bovenkant2), $header2, $black);
|
||||
|
||||
$xlength = $width - $left_border - $right_border;
|
||||
$lines = 10; # hard coded number of dashed lines
|
||||
$xverh = $xlength / $xhigh;
|
||||
# print " de verhouding ===> $xverh --- $xlength -- $xhigh \n";
|
||||
|
||||
$xstep = ($xhigh / $lines) * $xverh;
|
||||
$teller = 0;
|
||||
# make the nice dashed lines and print the values ...
|
||||
for ($i = 0; $i <= $lines; $i++) {
|
||||
$st2 = ($left_border) + ($i * $xstep);
|
||||
$im->dashedLine($st2,($height-$down_border),$st2,($up_border), $grey3);
|
||||
if (($i != 0) && ($teller == 2)) {
|
||||
$st3 = sprintf("%.2f", $i*($xhigh/$lines));
|
||||
$im->stringUp(gdTinyFont,($st2 - (gdSmallFont->height/2)),($height - $down_border +(.5*$sm_border) + (gdSmallFont->width*(length($xhigh)+3))), $st3, $black);
|
||||
$teller = 0;
|
||||
}
|
||||
$teller++;
|
||||
}
|
||||
$im->rectangle($left_border,$up_border,($width - ($right_border)),($height-$down_border),$black);
|
||||
}
|
||||
|
||||
sub legend {
|
||||
# make the legend ...
|
||||
$legxbegin = $left_border;
|
||||
|
||||
$legybegin = $height - $down_border + (2*$sm_border) + (gdSmallFont->width * (length($xhigh) + 3)) + gdSmallFont->height;
|
||||
$legxend = $legxbegin + $max_len_le + (4*$legend_block);
|
||||
$legxend = $legxbegin + $width_greyfield;
|
||||
$legyend = $legybegin + $max_high_le;
|
||||
$im->filledRectangle($legxbegin,$legybegin,$legxend,$legyend,$grey4);
|
||||
$im->rectangle($legxbegin,$legybegin,$legxend,$legyend,$black);
|
||||
# calculate the space for the legend .....
|
||||
$c = 0; $i = 1;
|
||||
$legybegin += $legend_block;
|
||||
foreach $key (@key_order) {
|
||||
$xtmp = $legxbegin + $legend_block;
|
||||
$ytmp = $legybegin + ($c * (gdSmallFont->height +2));
|
||||
$xtmp1 = $xtmp + $legend_block;
|
||||
$ytmp1 = $ytmp + gdSmallFont->height;
|
||||
$im->filledRectangle($xtmp,$ytmp,$xtmp1,$ytmp1,$tot{$key}{'color'});
|
||||
$im->rectangle($xtmp,$ytmp,$xtmp1,$ytmp1,$black);
|
||||
$tmp = $key;
|
||||
$tmp =~ s/-cmp-$opt_cmp//i;
|
||||
$giflegend = sprintf "%-24.24s: %-40.40s",$tmp,$tot{$key}{'server'};
|
||||
$xtmp2 = $xtmp1 + $legend_block;
|
||||
$im->string(gdSmallFont,$xtmp2,$ytmp,"$giflegend",$black);
|
||||
$c++;
|
||||
$i++;
|
||||
# print "$c $i -> $giflegend\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sub lines {
|
||||
|
||||
$g = 0;
|
||||
$i = 0;
|
||||
$ybegin = $up_border + ((($#key_order + 2)/2)*$step);
|
||||
$xbegin = $left_border;
|
||||
foreach $key (sort {$a cmp $b} keys %op) {
|
||||
next if ($key =~ /TOTALS/i);
|
||||
$c = 0;
|
||||
# print "key - $key\n";
|
||||
foreach $server (@key_order) {
|
||||
$tot1{$server}{$key}->[1] = 1 if ($tot1{$server}{$key}->[1] == 0);
|
||||
$entry = $tot1{$server}{$key}->[0]/$tot1{$server}{$key}->[1];
|
||||
$ytmp = $ybegin + ($i * $step) ;
|
||||
$xtmp = $xbegin + ($entry * $xverh) ;
|
||||
$ytmp1 = $ytmp + $step;
|
||||
# print "$server -- $entry --x $xtmp -- y $ytmp - $c\n";
|
||||
$entry1 = sprintf("%.2f", $entry);
|
||||
if ($entry < $xhigh) {
|
||||
$im->filledRectangle($xbegin, $ytmp, $xtmp, $ytmp1, $tot{$server}{'color'});
|
||||
$im->rectangle($xbegin, $ytmp, $xtmp, $ytmp1, $black);
|
||||
# print the seconds behind the bar (look below for another entry)
|
||||
# this entry is for the bars that are not greater then the max width
|
||||
# of the grey field ...
|
||||
# $im->string(gdTinyFont,(($xtmp+3),($ytmp),"$entry1",$black));
|
||||
# if you want the seconds in the color of the bar just uncomment it (below)
|
||||
# $im->string(gdTinyFont,(($xtmp+3),($ytmp),"$entry1",$tot{$server}{'color'}));
|
||||
} else {
|
||||
$im->filledRectangle($xbegin, $ytmp, ($xbegin + ($xhigh*$xverh)), $ytmp1, $tot{$server}{'color'});
|
||||
$im->rectangle($xbegin, $ytmp, ($xbegin + ($xhigh*$xverh)), $ytmp1, $black);
|
||||
|
||||
# print the seconds behind the bar (look below for another entry)
|
||||
# here is the seconds printed behind the bar is the bar is too big for
|
||||
# the graph ... (seconds is greater then xhigh ...)
|
||||
$im->string(gdTinyFont, ($xbegin + ($xhigh*$xverh)+3),($ytmp),"$entry1",$black);
|
||||
# if you want the seconds in the color of the bar just uncomment it (below)
|
||||
# $im->string(gdTinyFont, ($xbegin + ($xhigh*$xverh)+3),($ytmp),"$entry1",$colors[$c]);
|
||||
}
|
||||
$c++;
|
||||
$i++;
|
||||
}
|
||||
# see if we can center the text between the bars ...
|
||||
$ytmp2 = $ytmp1 - (((($c)*$step) + gdSmallFont->height)/2);
|
||||
$im->string(gdSmallFont,($sm_border*2),$ytmp2,$key, $black);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub gif {
|
||||
my ($name) = @_;
|
||||
$name_gif = $name . ".gif";
|
||||
print "name --> $name_gif\n";
|
||||
open (GIF, "> $name_gif") || die "Can't open $name_gif: $!\n";
|
||||
print GIF $im->gif;
|
||||
close (GIF);
|
||||
}
|
||||
|
142
sql-bench/innotest1.sh
Normal file
142
sql-bench/innotest1.sh
Normal file
|
@ -0,0 +1,142 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/InnoDB combined database
|
||||
# (c) 2002 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 100000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest1: MySQL/InnoDB stress test in Perl\n";
|
||||
print "-------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest1, innotest1a, and innotest1b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on table innotest1 in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest1 > out1\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 63857) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kjgclgrtfuylfluyfyufyulfulfyyulofuyolfyufyufuyfyufyufyufyufyyufujhfghd";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kh";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 20); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect()
|
||||
|| die $dbh->errstr;
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
$n = 0;
|
||||
|
||||
for ($i = 0; $i < 1; $i++) {
|
||||
|
||||
print "Dropping table innotest1\n";
|
||||
|
||||
$dbh->do("drop table innotest1");
|
||||
|
||||
print "Creating table innotest1\n";
|
||||
|
||||
$dbh->do(
|
||||
"create table innotest1 (A INT NOT NULL AUTO_INCREMENT, D INT NOT NULL, B VARCHAR(200) NOT NULL, C VARCHAR(175), E TIMESTAMP, F TIMESTAMP, G DATETIME, PRIMARY KEY (A, D), INDEX
|
||||
(B, C), INDEX (C), INDEX (D), INDEX(E), INDEX(G)) TYPE = INNODB")
|
||||
|| die $dbh->errstr;
|
||||
|
||||
for ($j = 2; $j < $opt_loop_count - 10; $j = $j + 2) {
|
||||
|
||||
if ($j % 10 == 0) {
|
||||
$dbh->do(
|
||||
"insert into innotest1 (D, B, C, F, G) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."', NULL, NULL)");
|
||||
} else {
|
||||
$dbh->do(
|
||||
"insert into innotest1 (D, B, C, F, G) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."', NOW(), NOW())");
|
||||
}
|
||||
|
||||
$dbh->do("update innotest1 set B = '".$rnd_str[$j + 7]."' where A = ".$random[$j + 5]);
|
||||
|
||||
$dbh->do("update innotest1 SET D = D + 1 where A =".($j / 2 - 500));
|
||||
|
||||
$dbh->do("update innotest1 set B = '".$rnd_str[$j + 1]."' where A =".($j / 2 - 505));
|
||||
|
||||
$dbh->do("delete from innotest1 where A = ".$random[$random[$j]]);
|
||||
|
||||
fetch_all_rows($dbh, "select b, c from innotest1 where a > ".$random[$j]." and a < ".($random[$j] + 7));
|
||||
|
||||
if (0 == ($j % 10)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 97)) {
|
||||
fetch_all_rows($dbh, "select c, e, f, g from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
fetch_all_rows($dbh, "select b, e, f, g from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
fetch_all_rows($dbh, "select b, c, e, f, g from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
fetch_all_rows($dbh, "select b, c, g from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
fetch_all_rows($dbh, "select a, b, c, e, f, g from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
fetch_all_rows($dbh, "select a, b, c, e, f, g from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
fetch_all_rows($dbh, "select d, b, c from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
fetch_all_rows($dbh, "select d, b, c, g from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
for ($k = 1; $k < 10; $k++) {
|
||||
|
||||
$n += fetch_all_rows($dbh,
|
||||
"SELECT a, d from innotest1 where a = ".(($k * 1764767) % $j));
|
||||
|
||||
$n += fetch_all_rows($dbh,
|
||||
"SELECT * from innotest1 where a = ".(($k * 187567) % $j));
|
||||
|
||||
}
|
||||
|
||||
if (0 == ($j % 1000)) {
|
||||
print "round $j, $n rows fetched\n";
|
||||
}
|
||||
|
||||
if (0 == ($j % 20000)) {
|
||||
print "Checking table innotest1...\n";
|
||||
$dbh->do("check table innotest1");
|
||||
print "Table checked.\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
108
sql-bench/innotest1a.sh
Normal file
108
sql-bench/innotest1a.sh
Normal file
|
@ -0,0 +1,108 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/InnoDB combined database
|
||||
# (c) 2002 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 200000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest1a: MySQL/InnoDB stress test in Perl\n";
|
||||
print "-------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest1, innotest1a, and innotest1b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on table innotest1 in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest1 > out1\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 63857) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kjgclgrtfuylfluyfyufyulfulfyyulofuyolfyufyufuyfyufyufyufyufyyufujhfghd";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kh";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 20); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect()
|
||||
|| die $dbh->errstr;
|
||||
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
for ($i = 0; $i < 1; $i++) {
|
||||
print "loop $i\n";
|
||||
|
||||
for ($j = 1; $j < $opt_loop_count - 10; $j = $j + 2) {
|
||||
$dbh->do(
|
||||
"insert into innotest1 (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')");
|
||||
$dbh->do("update innotest1 set B = '".$rnd_str[$j + 2]."' where A = ".$random[$j + 5]);
|
||||
$dbh->do("update innotest1 SET D = D + 1 where A =".(($j - 1) / 2 - 777));
|
||||
$dbh->do("update innotest1 set B = '".$rnd_str[$j + 8]."' where A =".(($j - 1) / 2 - 770));
|
||||
$dbh->do("delete from innotest1 where A = ".$random[$random[$j]]);
|
||||
|
||||
fetch_all_rows($dbh, "select b, c from innotest1 where a > ".$random[$j]." and a < ".($random[$j] + 7));
|
||||
|
||||
if (0 == ($j % 37)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 533)) {
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
if (0 == ($j % 537)) {
|
||||
print fetch_all_rows($dbh, "select c from innotest1 where c = '".$rnd_str[$j - 67]."'");
|
||||
print fetch_all_rows($dbh, "select b from innotest1 where b = '".$rnd_str[$j - 688]."'");
|
||||
print fetch_all_rows($dbh, "select b, c from innotest1 where c = '".$rnd_str[$j - 67]."'");
|
||||
print fetch_all_rows($dbh, "select b, c from innotest1 where b = '".$rnd_str[$j - 622]."'");
|
||||
print fetch_all_rows($dbh, "select a, b, c from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
print fetch_all_rows($dbh, "select a, b, c from innotest1 where b = '".$rnd_str[$j - 644]."'");
|
||||
print fetch_all_rows($dbh, "select d, b, c from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
print fetch_all_rows($dbh, "select d, b, c from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
print "\n";
|
||||
}
|
||||
|
||||
if (0 == (($j - 1) % 1000)) {
|
||||
print "round $j\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
101
sql-bench/innotest1b.sh
Normal file
101
sql-bench/innotest1b.sh
Normal file
|
@ -0,0 +1,101 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/InnoDB combined database
|
||||
# (c) 2002 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 200000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest1b: MySQL/InnoDB stress test in Perl\n";
|
||||
print "-------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest1, innotest1a, and innotest1b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on table innotest1 in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest1 > out1\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 63857) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kjgclgrtfuylfluyfyufyulfulfyyulofuyolfyufyufuyfyufyufyufyufyyufujhfghd";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kh";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 20); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect()
|
||||
|| die $dbh->errstr;
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
for ($i = 0; $i < 5; $i++) {
|
||||
print "loop $i\n";
|
||||
|
||||
for ($j = 1; $j < $opt_loop_count - 10; $j = $j + 2) {
|
||||
|
||||
fetch_all_rows($dbh, "select b, c from innotest1 where a > ".$random[$j]." and a < ".($random[$j] + 7));
|
||||
|
||||
if (0 == ($j % 37)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 533)) {
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
if (0 == ($j % 537)) {
|
||||
print fetch_all_rows($dbh, "select c from innotest1 where c = '".$rnd_str[$j - 67]."'");
|
||||
print fetch_all_rows($dbh, "select b from innotest1 where b = '".$rnd_str[$j - 688]."'");
|
||||
print fetch_all_rows($dbh, "select b, c from innotest1 where c = '".$rnd_str[$j - 67]."'");
|
||||
print fetch_all_rows($dbh, "select b, c from innotest1 where b = '".$rnd_str[$j - 622]."'");
|
||||
print fetch_all_rows($dbh, "select a, b, c from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
print fetch_all_rows($dbh, "select a, b, c from innotest1 where b = '".$rnd_str[$j - 644]."'");
|
||||
print fetch_all_rows($dbh, "select d, b, c from innotest1 where c = '".$rnd_str[$j - 68]."'");
|
||||
print fetch_all_rows($dbh, "select d, b, c from innotest1 where b = '".$rnd_str[$j - 677]."'");
|
||||
print "\n";
|
||||
}
|
||||
|
||||
if (0 == (($j - 1) % 1000)) {
|
||||
print "round $j\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
150
sql-bench/innotest2.sh
Normal file
150
sql-bench/innotest2.sh
Normal file
|
@ -0,0 +1,150 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/InnoDB combined database
|
||||
# (c) 2002 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 100000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest2: MySQL/InnoDB stress test in Perl for FOREIGN keys\n";
|
||||
print "------------------------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks with foreign keys with\n";
|
||||
print "the ON DELETE ... clause. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest2, innotest2a, and innotest2b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on tables innotest2a, b, c, d in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest2 > out2\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 63857) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khD";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kHd";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 10); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect()
|
||||
|| die $dbh->errstr;
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
for ($i = 0; $i < 1; $i++) {
|
||||
print "loop $i\n";
|
||||
|
||||
print "dropping table innotest2a\n";
|
||||
$dbh->do("drop table innotest2a");
|
||||
|
||||
print "dropping table innotest2b\n";
|
||||
$dbh->do("drop table innotest2b");
|
||||
|
||||
print "dropping table innotest2c\n";
|
||||
$dbh->do("drop table innotest2c");
|
||||
|
||||
print "dropping table innotest2d\n";
|
||||
$dbh->do("drop table innotest2d");
|
||||
|
||||
print "creating table innotest2b\n";
|
||||
$dbh->do(
|
||||
"create table innotest2b (A INT NOT NULL AUTO_INCREMENT, D INT NOT NULL, B VARCHAR(200) NOT NULL, C VARCHAR(175), PRIMARY KEY (A, D, B), INDEX (B, C), INDEX (C)) TYPE = INNODB")
|
||||
|| die $dbh->errstr;
|
||||
|
||||
print "creating table innotest2a\n";
|
||||
|
||||
$dbh->do(
|
||||
"create table innotest2a (A INT NOT NULL AUTO_INCREMENT, D INT NOT NULL, B VARCHAR(200) NOT NULL, C VARCHAR(175), PRIMARY KEY (A, D, B), INDEX (B, C), INDEX (C), FOREIGN KEY (A, D) REFERENCES innotest2b (A, D) ON DELETE CASCADE) TYPE = INNODB")
|
||||
|| die $dbh->errstr;
|
||||
|
||||
print "creating table innotest2c\n";
|
||||
|
||||
$dbh->do(
|
||||
"create table innotest2c (A INT NOT NULL AUTO_INCREMENT, D INT NOT NULL, B VARCHAR(200) NOT NULL, C VARCHAR(175), PRIMARY KEY (A, D, B), INDEX (B, C), INDEX (C), FOREIGN KEY (A, D) REFERENCES innotest2a (A, D) ON DELETE CASCADE, FOREIGN KEY (B, C) REFERENCES innotest2a (B, C) ON DELETE CASCADE) TYPE = INNODB")
|
||||
|| die $dbh->errstr;
|
||||
|
||||
print "creating table innotest2d\n";
|
||||
|
||||
$dbh->do(
|
||||
"create table innotest2d (A INT AUTO_INCREMENT, D INT, B VARCHAR(200), C VARCHAR(175), UNIQUE KEY (A, D, B), INDEX (B, C), INDEX (C), FOREIGN KEY (C) REFERENCES innotest2c (C) ON DELETE SET NULL, FOREIGN KEY (B, C) REFERENCES innotest2c (B, C) ON DELETE SET NULL) TYPE = INNODB")
|
||||
|| die $dbh->errstr;
|
||||
print "created\n";
|
||||
|
||||
for ($j = 0; $j < $opt_loop_count - 10; $j = $j + 2) {
|
||||
$dbh->do(
|
||||
"insert into innotest2b (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do(
|
||||
"insert into innotest2a (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do(
|
||||
"insert into innotest2c (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do(
|
||||
"insert into innotest2d (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do("delete from innotest2b where A = ".$random[$random[$j]])
|
||||
|| print $dbh->errstr;
|
||||
|
||||
if (0 == ($j % 10)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 39)) {
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
if (0 == ($j % 1000)) {
|
||||
print "round $j\n";
|
||||
}
|
||||
if (0 == ($j % 20000)) {
|
||||
print "Checking tables...\n";
|
||||
$dbh->do("check table innotest2a");
|
||||
$dbh->do("check table innotest2b");
|
||||
$dbh->do("check table innotest2c");
|
||||
$dbh->do("check table innotest2d");
|
||||
print "Tables checked.\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
94
sql-bench/innotest2a.sh
Normal file
94
sql-bench/innotest2a.sh
Normal file
|
@ -0,0 +1,94 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/Innobase combined database
|
||||
# (c) 2000 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 100000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest2a: MySQL/InnoDB stress test in Perl for FOREIGN keys\n";
|
||||
print "------------------------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks with foreign keys with\n";
|
||||
print "the ON DELETE ... clause. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest2, innotest2a, and innotest2b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on tables innotest2a, b, c, d in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest2 > out2\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 63857) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khD";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kHd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 20); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect()
|
||||
|| die $dbh->errstr;
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
for ($i = 0; $i < 5; $i++) {
|
||||
print "loop $i\n";
|
||||
|
||||
for ($j = 0; $j < $opt_loop_count - 10; $j = $j + 1) {
|
||||
|
||||
$dbh->do("update innotest2a set B = '".$rnd_str[$j + 1]."' where A = ".$random[$j + 5])
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do("delete from innotest2a where A = ".$random[$random[$j]])
|
||||
|| print $dbh->errstr;
|
||||
|
||||
if (0 == ($j % 10)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 39)) {
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
if (0 == ($j % 1000)) {
|
||||
print "round $j\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
104
sql-bench/innotest2b.sh
Normal file
104
sql-bench/innotest2b.sh
Normal file
|
@ -0,0 +1,104 @@
|
|||
#!@PERL@
|
||||
############################################################################
|
||||
# Stress test for MySQL/Innobase combined database
|
||||
# (c) 2000 Innobase Oy & MySQL AB
|
||||
#
|
||||
############################################################################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count = 100000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
print "Innotest2b: MySQL/InnoDB stress test in Perl for FOREIGN keys\n";
|
||||
print "------------------------------------------------------------\n";
|
||||
print "This is a randomized stress test for concurrent inserts,\n";
|
||||
print "updates, deletes, commits and rollbacks with foreign keys with\n";
|
||||
print "the ON DELETE ... clause. The test will generate\n";
|
||||
print "also a lot of deadlocks, duplicate key errors, and other SQL errors.\n";
|
||||
print "\n";
|
||||
print "You should run innotest2, innotest2a, and innotest2b concurrently.\n";
|
||||
print "The thing to watch is that the server does not crash or does not\n";
|
||||
print "print to the .err log anything. Currently, due to a buglet in MySQL,\n";
|
||||
print "warnings about MySQL lock reservations can appear in the .err log.\n";
|
||||
print "The test will run very long, even several hours. You can kill\n";
|
||||
print "the perl processes running this test at any time and do CHECK\n";
|
||||
print "TABLE on tables innotest2a, b, c, d in the 'test' database.\n";
|
||||
print "\n";
|
||||
print "Some of these stress tests will print a lot of SQL errors\n";
|
||||
print "to the standard output. That is not to be worried about.\n";
|
||||
print "You can direct the output to a file like this:\n";
|
||||
print "perl innotest2 > out2\n\n";
|
||||
|
||||
print "Generating random keys\n";
|
||||
$random[$opt_loop_count] = 0;
|
||||
$rnd_str[$opt_loop_count] = "a";
|
||||
|
||||
for ($i = 0; $i < $opt_loop_count; $i++) {
|
||||
|
||||
$random[$i] = ($i * 98641) % $opt_loop_count;
|
||||
|
||||
if (0 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khD";
|
||||
} else { if (1 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "khd";
|
||||
} else { if (2 == ($random[$i] % 3)) {
|
||||
$rnd_str[$i] = "kHd";
|
||||
}}}
|
||||
|
||||
for ($j = 0; $j < (($i * 764877) % 10); $j++) {
|
||||
$rnd_str[$i] = $rnd_str[$i]."k";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Connect
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
|
||||
$dbh->do("set autocommit = 0");
|
||||
|
||||
for ($i = 0; $i < 1; $i++) {
|
||||
print "loop $i\n";
|
||||
|
||||
for ($j = 0; $j < $opt_loop_count - 10; $j = $j + 2) {
|
||||
$dbh->do(
|
||||
"insert into innotest2b (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do(
|
||||
"insert into innotest2a (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do(
|
||||
"insert into innotest2c (D, B, C) values (5, '".$rnd_str[$j]."' ,'".$rnd_str[$j]."')")
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do("delete from innotest2b where A = ".$random[$random[$j]])
|
||||
|| print $dbh->errstr;
|
||||
|
||||
$dbh->do("update innotest2b set A = A + 1 where A = ".$random[$j])
|
||||
|| print $dbh->errstr;
|
||||
|
||||
if (0 == ($j % 10)) {
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
if (0 == ($j % 39)) {
|
||||
$dbh->do("rollback");
|
||||
}
|
||||
|
||||
if (0 == ($j % 1000)) {
|
||||
print "round $j\n";
|
||||
}
|
||||
}
|
||||
|
||||
$dbh->do("commit");
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
429
sql-bench/limits/Adabas.cfg
Normal file
429
sql-bench/limits/Adabas.cfg
Normal file
|
@ -0,0 +1,429 @@
|
|||
#This file is automaticly generated by crash-me 1.20b
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_multi_col=without add # Alter table add many columns
|
||||
alter_alter_col=no # Alter table alter column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=16 # number of columns in group by
|
||||
columns_in_order_by=16 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=1 # Simultaneous connections
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.20b # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=yes # String functions on date columns
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=yes # drop index
|
||||
end_colon=no # allows end ';'
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=yes # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=error # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=yes # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=yes # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=yes # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=yes # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=yes # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=yes # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=error # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=yes # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=yes # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=error # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=error # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=error # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=no # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # null values in group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=yes # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=yes # INSERT with set syntax
|
||||
intersect=yes # intersect
|
||||
intersect_all=yes # intersect all
|
||||
join_tables=16 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=4000 # max char() size
|
||||
max_column_name=+512 # column name length
|
||||
max_columns=254 # Columns in table
|
||||
max_conditions=252 # OR and AND in WHERE
|
||||
max_expressions=1723 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=254 # index length
|
||||
max_index_name=+512 # index name length
|
||||
max_index_part_length=254 # max index part length
|
||||
max_index_parts=15 # index parts
|
||||
max_index_varchar_part_length=254 # index varchar part length
|
||||
max_row_length=3991 # max table row length (without blobs)
|
||||
max_row_length_with_null=3991 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=+512 # select alias name length
|
||||
max_stack_expression=1022 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=+512 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=4000 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Linux 2.0.35 i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=8202 # query size
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=223 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
right_outer_join=no # right outer join
|
||||
round_on_store=yes # Correct rounding when storing float values
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=4023 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=Adabas 10.01.00 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=yes # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=no # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=no # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=4023 # constant string size in where
|
420
sql-bench/limits/Informix.cfg
Normal file
420
sql-bench/limits/Informix.cfg
Normal file
|
@ -0,0 +1,420 @@
|
|||
#This file is automaticly generated by crash-me 1.19a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=269 # Simultaneous connections
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.19a # crash me version
|
||||
create_default=no # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=no # Double '' as ' in strings
|
||||
drop_index=yes # drop index
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=yes # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=yes # Function LOGN
|
||||
func_extra_lpad=yes # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=yes # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=yes # Function POW
|
||||
func_extra_range=yes # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=yes # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=yes # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=yes # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=error # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=yes # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Test nulls in group by
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=256 # max char() size
|
||||
max_column_name=18 # column name length
|
||||
max_columns=994 # Columns in table
|
||||
max_conditions=1204 # OR and AND in WHERE
|
||||
max_expressions=16372 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=255 # index length
|
||||
max_index_name=18 # index name length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=15 # index parts
|
||||
max_index_varchar_part_length=254 # index varchar part length
|
||||
max_row_length=32356 # max table row length (without blobs)
|
||||
max_row_length_with_null=32356 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=18 # select alias name length
|
||||
max_stack_expression=47 # stacked expressions
|
||||
max_table_alias_name=18 # table alias name length
|
||||
max_table_name=18 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=255 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows NT Version 4.0 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=32766 # query size
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
recursive_subqueries=10 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
right_outer_join=no # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=256 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=Informix 7.30C1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=error # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=yes # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=yes # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=yes # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=yes # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=no # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=32452 # constant string size in where
|
501
sql-bench/limits/access.cfg
Normal file
501
sql-bench/limits/access.cfg
Normal file
|
@ -0,0 +1,501 @@
|
|||
#This file is automaticly generated by crash-me 1.45
|
||||
|
||||
NEG=no # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=no # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=without add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=no # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=drop constraint # Alter table drop primary key
|
||||
alter_drop_unique=with constraint # Alter table drop unique
|
||||
alter_modify_col=with alter # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic rowid
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=37 # number of columns in group by
|
||||
columns_in_order_by=37 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=64 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.45 # crash me version
|
||||
create_default=no # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=error # String functions on date columns
|
||||
date_last=no # Supports 9999-12-31 dates
|
||||
date_one=no # Supports 0001-01-01 dates
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=error # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=yes # Function <> in SELECT
|
||||
func_extra_==yes # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=yes # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=yes # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=yes # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=error # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=yes # Function IN on numbers in SELECT
|
||||
func_extra_in_str=yes # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=yes # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=yes # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=yes # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=yes # Function NOT in SELECT
|
||||
func_extra_not_between=yes # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=yes # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=error # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=error # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=no # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_nullif=no # Function NULLIF
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=no # Function UPPER
|
||||
func_sql_user=no # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=no # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=no # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=no # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
has_true_false=yes # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=32 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=-1 # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=85 # max char() size
|
||||
max_column_name=59 # column name length
|
||||
max_columns=255 # Columns in table
|
||||
max_conditions=97 # OR and AND in WHERE
|
||||
max_expressions=+10000 # simple expressions
|
||||
max_index=32 # max index
|
||||
max_index_length=10 # index length
|
||||
max_index_name=64 # index name length
|
||||
max_index_part_length=50 # max index part length
|
||||
max_index_parts=10 # index parts
|
||||
max_index_varchar_part_length=50 # index varchar part length
|
||||
max_row_length=2025 # max table row length (without blobs)
|
||||
max_row_length_with_null=2025 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=64 # select alias name length
|
||||
max_stack_expression=14 # stacked expressions
|
||||
max_table_alias_name=253 # table alias name length
|
||||
max_table_name=64 # table name length
|
||||
max_text_size=17 # max text or blob size
|
||||
max_unique_index=32 # unique indexes
|
||||
max_varchar_size=85 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=yes # DELETE FROM table1,table2...
|
||||
multi_table_update=yes # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is concat('a',NULL) = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique index
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Microsoft Windows 2000 [Version 5.00.2195] # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=yes # [] as identifier quote
|
||||
quote_ident_with_`=yes # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=49 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=with TOP # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=516076 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Access 2000 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=error # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=yes # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=yes # Type float4
|
||||
type_extra_float8=yes # Type float8
|
||||
type_extra_image=yes # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=yes # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=yes # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=yes # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=no # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=no # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=no # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=no # Type decimal(2 arg)
|
||||
type_sql_double_precision=no # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=no # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=no # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=no # views
|
||||
where_string_size=258035 # constant string size in where
|
448
sql-bench/limits/access_odbc.cfg
Normal file
448
sql-bench/limits/access_odbc.cfg
Normal file
|
@ -0,0 +1,448 @@
|
|||
#This file is automaticly generated by crash-me 1.37
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_multi_col=without add # Alter table add many columns
|
||||
alter_alter_col=no # Alter table alter column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=11 # number of columns in group by
|
||||
columns_in_order_by=11 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=64 # Simultaneous connections
|
||||
constraint_check=no # CHECK constraint
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.37 # crash me version
|
||||
create_default=no # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=error # String functions on date columns
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=error # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=yes # Function <> in SELECT
|
||||
func_extra_==yes # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=yes # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=yes # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=yes # Function CHR
|
||||
func_extra_coalesce=no # Function COALESCE
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=error # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=yes # Function IN on numbers in SELECT
|
||||
func_extra_in_str=yes # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=yes # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=yes # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=yes # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=yes # Function NOT in SELECT
|
||||
func_extra_not_between=yes # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=yes # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=error # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=no # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=no # Function UPPER
|
||||
func_sql_user=no # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=no # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=no # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=no # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=no # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=32 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=-1 # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=255 # max char() size
|
||||
max_column_name=59 # column name length
|
||||
max_columns=255 # Columns in table
|
||||
max_conditions=97 # OR and AND in WHERE
|
||||
max_expressions=+10000 # simple expressions
|
||||
max_index=32 # max index
|
||||
max_index_length=2026 # index length
|
||||
max_index_name=64 # index name length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=10 # index parts
|
||||
max_index_varchar_part_length=85 # index varchar part length
|
||||
max_row_length=2025 # max table row length (without blobs)
|
||||
max_row_length_with_null=2025 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=64 # select alias name length
|
||||
max_stack_expression=14 # stacked expressions
|
||||
max_table_alias_name=253 # table alias name length
|
||||
max_table_name=64 # table name length
|
||||
max_text_size=17 # max text or blob size
|
||||
max_unique_index=32 # unique indexes
|
||||
max_varchar_size=85 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=yes # DELETE FROM table1,table2...
|
||||
multi_table_update=yes # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows 98 [Version 4.10.1998] # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=yes # [] as identifier quote
|
||||
quote_ident_with_`=yes # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=49 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # SELECT with LIMIT
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=516076 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Access 2000 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=yes # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=yes # Type float4
|
||||
type_extra_float8=yes # Type float8
|
||||
type_extra_image=yes # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=yes # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=yes # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=yes # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=no # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=no # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=no # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=no # Type decimal(2 arg)
|
||||
type_sql_double_precision=no # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=no # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=no # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=no # views
|
||||
where_string_size=258035 # constant string size in where
|
522
sql-bench/limits/db2.cfg
Normal file
522
sql-bench/limits/db2.cfg
Normal file
|
@ -0,0 +1,522 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=no # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=drop primary key # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=no # Case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment (ANSI)
|
||||
comment_/**/=no # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=40 # Simultaneous connections (installation default)
|
||||
constraint_check=yes # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=no # Supports 9999-12-31 dates
|
||||
date_one=no # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
dont_require_cast_to_float=yes # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=yes # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=yes # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=yes # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=error # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=yes # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=error # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=yes # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=no # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif_num=yes # Function NULLIF with numbers
|
||||
func_sql_nullif_string=yes # Function NULLIF with strings
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=yes # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=yes # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=no # hex numbers (0x41)
|
||||
hex_strings=yes # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=yes # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=yes # intersect
|
||||
intersect_all=yes # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=10 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=254 # max char() size
|
||||
max_column_name=30 # column name length
|
||||
max_columns=500 # Columns in table
|
||||
max_conditions=2082 # OR and AND in WHERE
|
||||
max_expressions=9543 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=1024 # index length
|
||||
max_index_name=18 # index name length
|
||||
max_index_part_length=254 # max index part length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=255 # index varchar part length
|
||||
max_row_length=4005 # max table row length (without blobs)
|
||||
max_row_length_with_null=3989 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=30 # select alias name length
|
||||
max_stack_expression=1363 # stacked expressions
|
||||
max_table_alias_name=128 # table alias name length
|
||||
max_table_name=128 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=4000 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
nulls_in_unique=no # null combination in unique index
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Linux 2.4.4-64GB-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=65535 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=8 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=yes # rename table
|
||||
repeat_string_size=4000 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=32672 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=IBM DB2 7.2 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=truncate # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=yes # constant string size in where
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=no # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=32672 # constant string size in where
|
364
sql-bench/limits/empress.cfg
Normal file
364
sql-bench/limits/empress.cfg
Normal file
|
@ -0,0 +1,364 @@
|
|||
#This file is automaticly generated by crash-me 1.18a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=no # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
column_alias=no # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=10 # Simultaneous connections
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.18a # crash me version
|
||||
create_default=no # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=yes # drop index
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=yes # Function POW
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user=no # Function USER
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=no # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=no # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=yes # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=no # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having with alias
|
||||
having_with_group=yes # Having with group function
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=63 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=7930634 # max char() size
|
||||
max_column_name=31 # column name length
|
||||
max_columns=2419 # Columns in table
|
||||
max_conditions=628 # OR and AND in WHERE
|
||||
max_expressions=4092 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=2710 # index length
|
||||
max_index_name=32 # index name length
|
||||
max_index_part_length=2710 # index part length
|
||||
max_index_parts=+64 # index parts
|
||||
max_row_length=62696 # max table row length (without blobs)
|
||||
max_row_length_with_null=62702 # table row length with nulls (without blobs)
|
||||
max_stack_expression=131 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=32 # table name length
|
||||
max_text_size=4095 # max text or blob size
|
||||
max_unique_index=+64 # max unique index
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is concat('a',NULL) = NULL
|
||||
null_in_index=no # null in index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.0.33 i586 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=no # primary key in create table
|
||||
query_size=16777216 # query size
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
recursive_subqueries=49 # recursive subqueries
|
||||
remember_end_space=error # Remembers end space in char()
|
||||
right_outer_join=no # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=32753 # constant string string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=EMPRESS Version 6.10 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_wildcard=no # Select table_name.*
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_money=no # Type money
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=yes # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=no # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=no # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=no # Type timestamp
|
||||
type_sql_varchar(1_arg)=no # Type varchar(1 arg)
|
||||
union=no # union
|
||||
union_all=no # union all
|
||||
unique_in_create=no # unique in create table
|
||||
views=yes # views
|
||||
where_string_size=nonstandard # constant string size in where
|
516
sql-bench/limits/frontbase.cfg
Normal file
516
sql-bench/limits/frontbase.cfg
Normal file
|
@ -0,0 +1,516 @@
|
|||
#This file is automaticly generated by crash-me 1.52
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=no # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=yes # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=with restrict/cascade # Alter table drop column
|
||||
alter_drop_constraint=with restrict/cascade # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint and restrict/cascade # Alter table drop foreign key
|
||||
alter_drop_primary_key=drop constraint # Alter table drop primary key
|
||||
alter_drop_unique=with constraint and restrict/cascade # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic rowid
|
||||
binary_numbers=yes # binary numbers (0b1001)
|
||||
binary_strings=yes # binary strings (b'0110')
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment (ANSI)
|
||||
comment_/**/=no # /* */ as comment
|
||||
comment_//=no # // as comment (ANSI)
|
||||
compute=no # Compute
|
||||
connections=47 # Simultaneous connections (installation default)
|
||||
constraint_check=yes # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.52 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=yes # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=yes # Supports 9999-12-31 dates
|
||||
date_one=yes # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=yes # drop table require cascade/restrict
|
||||
drop_restrict=yes # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_circular=yes # Circular foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=no # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=no # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=no # Function EXP
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=no # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=no # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=yes # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=error # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=yes # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=yes # Function CURRENT_USER
|
||||
func_sql_extract_sql=no # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif_num=yes # Function NULLIF with numbers
|
||||
func_sql_nullif_string=yes # Function NULLIF with strings
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=yes # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=yes # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=yes # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=no # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=no # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=no # Having
|
||||
having_with_alias=no # Having with alias
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=yes # hex strings (x'1ace')
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=yes # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=+8000000 # max char() size
|
||||
max_column_name=128 # column name length
|
||||
max_columns=+8192 # Columns in table
|
||||
max_conditions=5427 # OR and AND in WHERE
|
||||
max_expressions=4075 # simple expressions
|
||||
max_index=38 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=128 # index name length
|
||||
max_index_part_length=+8000000 # max index part length
|
||||
max_index_parts=20 # index parts
|
||||
max_index_varchar_part_length=+8000000 # index varchar part length
|
||||
max_row_length=377681 # max table row length (without blobs)
|
||||
max_row_length_with_null=0 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=128 # select alias name length
|
||||
max_table_alias_name=128 # table alias name length
|
||||
max_table_name=128 # table name length
|
||||
max_unique_index=38 # unique indexes
|
||||
max_varchar_size=+8000000 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=yes # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.2.14-my-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=no # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=+64 # recursive subqueries
|
||||
remember_end_space=yes # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=4199664 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=FrontBase 2.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=error # transactions
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=yes # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=yes # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=yes # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=yes # Type bit varying(1 arg)
|
||||
type_sql_boolean=yes # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=yes # Type interval day
|
||||
type_sql_interval_day_to_hour=yes # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=yes # Type interval day to minute
|
||||
type_sql_interval_day_to_second=yes # Type interval day to second
|
||||
type_sql_interval_hour=yes # Type interval hour
|
||||
type_sql_interval_hour_to_minute=yes # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=yes # Type interval hour to second
|
||||
type_sql_interval_minute=yes # Type interval minute
|
||||
type_sql_interval_minute_to_second=yes # Type interval minute to second
|
||||
type_sql_interval_month=yes # Type interval month
|
||||
type_sql_interval_second=yes # Type interval second
|
||||
type_sql_interval_year=yes # Type interval year
|
||||
type_sql_interval_year_to_month=yes # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=yes # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=7999965 # constant string size in where
|
514
sql-bench/limits/interbase-dialect1.cfg
Normal file
514
sql-bench/limits/interbase-dialect1.cfg
Normal file
|
@ -0,0 +1,514 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=no # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=with add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=yes # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=no # Case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_order_by=37 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=1000 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=no # Supports 9999-12-31 dates
|
||||
date_one=no # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=no # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=no # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=no # Function EXP
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=no # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=no # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_nullif_num=no # Function NULLIF with numbers
|
||||
func_sql_nullif_string=no # Function NULLIF with strings
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_multi_value=no # INSERT with Value lists
|
||||
insert_select=no # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=32767 # max char() size
|
||||
max_column_name=18 # column name length
|
||||
max_columns=4759 # Columns in table
|
||||
max_conditions=2944 # OR and AND in WHERE
|
||||
max_expressions=+10000 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_name=31 # index name length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=249 # index varchar part length
|
||||
max_row_length=64744 # max table row length (without blobs)
|
||||
max_row_length_with_null=64744 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=132 # select alias name length
|
||||
max_stack_expression=165 # stacked expressions
|
||||
max_table_alias_name=255 # table alias name length
|
||||
max_table_name=31 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=10923 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
nulls_in_unique=no # null combination in unique index
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.4.4-64GB-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=65535 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=61 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=32767 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=6.0.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=error # constant string size in where
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=no # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=no # views
|
||||
where_string_size=32767 # constant string size in where
|
514
sql-bench/limits/interbase-dialect3.cfg
Normal file
514
sql-bench/limits/interbase-dialect3.cfg
Normal file
|
@ -0,0 +1,514 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=no # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=with add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=yes # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=no # Case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_order_by=37 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=1000 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=error # Supports 9999-12-31 dates
|
||||
date_one=error # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=no # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=no # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=no # Function EXP
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=no # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=no # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_nullif_num=no # Function NULLIF with numbers
|
||||
func_sql_nullif_string=no # Function NULLIF with strings
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_multi_value=no # INSERT with Value lists
|
||||
insert_select=no # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=32767 # max char() size
|
||||
max_columns=4759 # Columns in table
|
||||
max_conditions=5888 # OR and AND in WHERE
|
||||
max_expressions=+10000 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_name=31 # index name length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=249 # index varchar part length
|
||||
max_row_length=64744 # max table row length (without blobs)
|
||||
max_row_length_with_null=64744 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=132 # select alias name length
|
||||
max_stack_expression=165 # stacked expressions
|
||||
max_table_alias_name=255 # table alias name length
|
||||
max_table_name=31 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=10923 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
nulls_in_unique=no # null combination in unique index
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.4.4-64GB-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=65535 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=61 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=32767 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=6.0.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=error # constant string size in where
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_=no # Type
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=no # views
|
||||
where_string_size=32767 # constant string size in where
|
514
sql-bench/limits/interbase-superserver.cfg
Normal file
514
sql-bench/limits/interbase-superserver.cfg
Normal file
|
@ -0,0 +1,514 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=no # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=with add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=yes # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=no # Case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_order_by=37 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=395 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=error # Supports 9999-12-31 dates
|
||||
date_one=error # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=no # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=no # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=no # Function EXP
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=no # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=no # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_nullif_num=no # Function NULLIF with numbers
|
||||
func_sql_nullif_string=no # Function NULLIF with strings
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_multi_value=no # INSERT with Value lists
|
||||
insert_select=no # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=32745 # max char() size
|
||||
max_column_name=18 # column name length
|
||||
max_columns=4759 # Columns in table
|
||||
max_conditions=441504 # OR and AND in WHERE
|
||||
max_expressions=5486 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_name=31 # index name length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=218 # index varchar part length
|
||||
max_row_length=64744 # max table row length (without blobs)
|
||||
max_row_length_with_null=64744 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=132 # select alias name length
|
||||
max_stack_expression=165 # stacked expressions
|
||||
max_table_alias_name=255 # table alias name length
|
||||
max_table_name=31 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=32745 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
nulls_in_unique=no # null combination in unique index
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.4.4-64GB-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=61 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=32767 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=6.0.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=error # constant string size in where
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=no # views
|
||||
where_string_size=32767 # constant string size in where
|
472
sql-bench/limits/interbase.cfg
Normal file
472
sql-bench/limits/interbase.cfg
Normal file
|
@ -0,0 +1,472 @@
|
|||
#This file is automaticly generated by crash-me 1.40
|
||||
|
||||
NEG=no # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=no # Alter table add foreign key
|
||||
alter_add_multi_col=with add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=no # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic rowid
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=10 # Simultaneous connections
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.40 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=ignored # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_last=no # Supports 9999-12-31 dates
|
||||
date_one=no # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=no # Function ABS
|
||||
func_odbc_acos=no # Function ACOS
|
||||
func_odbc_ascii=no # Function ASCII
|
||||
func_odbc_asin=no # Function ASIN
|
||||
func_odbc_atan=no # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=no # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=no # Function EXP
|
||||
func_odbc_floor=no # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=no # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=no # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=no # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=no # Function SIGN
|
||||
func_odbc_sin=no # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=no # Function ODBC SUBSTRING
|
||||
func_odbc_tan=no # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=no # Function LOWER
|
||||
func_sql_nullif=no # Function NULLIF
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=no # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=no # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=+100 # big expressions
|
||||
max_columns=4743 # Columns in table
|
||||
max_conditions=441504 # OR and AND in WHERE
|
||||
max_expressions=+100 # simple expressions
|
||||
max_index_name=31 # index name length
|
||||
max_select_alias_name=255 # select alias name length
|
||||
max_stack_expression=100 # stacked expressions
|
||||
max_table_alias_name=255 # table alias name length
|
||||
max_table_name=32 # table name length
|
||||
minus=no # minus
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is 'a' || NULL = NULL
|
||||
null_in_index=no # null in index
|
||||
null_in_unique=no # null in unique
|
||||
null_num_expr=no # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.2.14-5.0 i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=no # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=error # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
recursive_subqueries=+64 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=32767 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=6.0Beta # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=truncate # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=error # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=no # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=no # views
|
||||
where_string_size=32767 # constant string size in where
|
491
sql-bench/limits/mimer.cfg
Normal file
491
sql-bench/limits/mimer.cfg
Normal file
|
@ -0,0 +1,491 @@
|
|||
#This file is automaticly generated by crash-me 1.38
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=yes # Alter table add many columns
|
||||
alter_add_primary_key=yes # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=yes # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=yes # Alter table drop foreign key
|
||||
alter_drop_primary_key=yes # Alter table drop primary key
|
||||
alter_drop_unique=yes # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
automatic_rowid=no # Automatic rowid
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=50 # Simultaneous connections
|
||||
constraint_check=yes # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=no # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.38 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=yes # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_last=yes # Supports 9999-12-31 dates
|
||||
date_one=yes # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=yes # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_circular=yes # Circular foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=yes # Function ASCII_CHAR
|
||||
func_extra_ascii_code=yes # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=yes # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=yes # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=yes # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=yes # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=error # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=yes # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=yes # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=yes # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=yes # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=yes # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=yes # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=yes # Function LOCALTIME
|
||||
func_sql_localtimestamp=yes # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif=yes # Function NULLIF
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=yes # Function SESSION_USER
|
||||
func_sql_simple_case=yes # Function simple CASE
|
||||
func_sql_substring=yes # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=yes # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=yes # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=15000 # max char() size
|
||||
max_column_name=128 # column name length
|
||||
max_columns=252 # Columns in table
|
||||
max_conditions=1020 # OR and AND in WHERE
|
||||
max_expressions=1019 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=128 # index name length
|
||||
max_index_part_length=15000 # max index part length
|
||||
max_index_parts=32 # index parts
|
||||
max_index_varchar_part_length=15000 # index varchar part length
|
||||
max_row_length=15925 # max table row length (without blobs)
|
||||
max_row_length_with_null=15925 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=128 # select alias name length
|
||||
max_stack_expression=62 # stacked expressions
|
||||
max_table_alias_name=128 # table alias name length
|
||||
max_table_name=128 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=15000 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=yes # natural join
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is 'a' || cast(NULL as char(1)) = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows NT 4.0 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=yes # PSM functions (ANSI SQL)
|
||||
psm_modules=yes # PSM modules (ANSI SQL)
|
||||
psm_procedures=yes # PSM procedures (ANSI SQL)
|
||||
psm_trigger=yes # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=15 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
repeat_string_size=15000 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
round_on_store=error # Correct rounding when storing float values
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # SELECT with LIMIT
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=15000 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=MIMER 8.2.0C # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=yes # Type interval day
|
||||
type_sql_interval_day_to_hour=yes # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=yes # Type interval day to minute
|
||||
type_sql_interval_day_to_second=yes # Type interval day to second
|
||||
type_sql_interval_hour=yes # Type interval hour
|
||||
type_sql_interval_hour_to_minute=yes # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=yes # Type interval hour to second
|
||||
type_sql_interval_minute=yes # Type interval minute
|
||||
type_sql_interval_minute_to_second=yes # Type interval minute to second
|
||||
type_sql_interval_month=yes # Type interval month
|
||||
type_sql_interval_second=yes # Type interval second
|
||||
type_sql_interval_year=yes # Type interval year
|
||||
type_sql_interval_year_to_month=yes # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=no # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=15000 # constant string size in where
|
523
sql-bench/limits/ms-sql.cfg
Normal file
523
sql-bench/limits/ms-sql.cfg
Normal file
|
@ -0,0 +1,523 @@
|
|||
#This file is automaticly generated by crash-me 1.54
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=without add # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=with constraint # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=yes # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=yes # Case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment (ANSI)
|
||||
compute=yes # Compute
|
||||
connections=1000 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.54 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=yes # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=no # Supports 9999-12-31 dates
|
||||
date_one=no # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
dont_require_cast_to_float=yes # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=with 'table.index' # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_circular=no # Circular foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=yes # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=yes # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=yes # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=yes # Function DATEADD
|
||||
func_extra_datediff=yes # Function DATEDIFF
|
||||
func_extra_datename=yes # Function DATENAME
|
||||
func_extra_datepart=yes # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=yes # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=yes # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=yes # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=yes # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=yes # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=yes # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=yes # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=error # Function REAL LENGTH
|
||||
func_odbc_length_without_space=yes # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=error # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=error # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=error # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=yes # Function COALESCE
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=yes # Function CURRENT_USER
|
||||
func_sql_extract_sql=no # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif_num=yes # Function NULLIF with numbers
|
||||
func_sql_nullif_string=yes # Function NULLIF with strings
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=yes # Function SESSION_USER
|
||||
func_sql_simple_case=yes # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=yes # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=no # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=8000 # max char() size
|
||||
max_column_name=128 # column name length
|
||||
max_columns=1024 # Columns in table
|
||||
max_conditions=13104 # OR and AND in WHERE
|
||||
max_expressions=656 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=900 # index length
|
||||
max_index_name=128 # index name length
|
||||
max_index_part_length=900 # max index part length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=900 # index varchar part length
|
||||
max_row_length=8036 # max table row length (without blobs)
|
||||
max_row_length_with_null=8036 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=128 # select alias name length
|
||||
max_stack_expression=164 # stacked expressions
|
||||
max_table_alias_name=128 # table alias name length
|
||||
max_table_name=128 # table name length
|
||||
max_text_size=+8000000 # max text or blob size
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=8000 # max varchar() size
|
||||
minus=yes # minus
|
||||
minus_incompat=yes # minus (incompatible lists)
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=no # Is concat('a',NULL) = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique index
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
nulls_in_unique=no # null combination in unique index
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Microsoft Windows 2000 [Version 5.00.2195] # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=yes # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=40 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=with TOP # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=16777207 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Microsoft SQL Server 2000 - 8.00.194 (Intel X86) # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=no # temporary tables
|
||||
transactions=yes # transactions
|
||||
truncate_table=no # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=yes # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=yes # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=yes # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=yes # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=no # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=8000 # constant string size in where
|
418
sql-bench/limits/ms-sql65.cfg
Normal file
418
sql-bench/limits/ms-sql65.cfg
Normal file
|
@ -0,0 +1,418 @@
|
|||
#This file is automaticly generated by crash-me 1.19a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
compute=yes # Compute
|
||||
connections=14 # Simultaneous connections
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.19a # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_index=no # create index
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=no # drop index
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=yes # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=yes # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=yes # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=yes # Function DATEADD
|
||||
func_extra_datediff=yes # Function DATEDIFF
|
||||
func_extra_datename=yes # Function DATENAME
|
||||
func_extra_datepart=yes # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=yes # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=yes # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=yes # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=yes # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=yes # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=yes # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=yes # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=error # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=yes # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Test nulls in group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=16 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=4 # big expressions
|
||||
max_char_size=255 # max char() size
|
||||
max_column_name=30 # column name length
|
||||
max_columns=250 # Columns in table
|
||||
max_conditions=3144 # OR and AND in WHERE
|
||||
max_expressions=6972 # simple expressions
|
||||
max_index_length=900 # index length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=15 # index parts
|
||||
max_index_varchar_part_length=255 # index varchar part length
|
||||
max_row_length=1960 # max table row length (without blobs)
|
||||
max_row_length_with_null=1942 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=30 # select alias name length
|
||||
max_stack_expression=97 # stacked expressions
|
||||
max_table_alias_name=30 # table alias name length
|
||||
max_table_name=30 # table name length
|
||||
max_text_size=65505 # max text or blob size
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=255 # max varchar() size
|
||||
minus=yes # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=error # Is 'a' + NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows NT Version 4.0 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=16777216 # query size
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=15 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
right_outer_join=yes # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=65527 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Microsoft SQL server 6.5 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=yes # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=yes # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=yes # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=no # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=255 # constant string size in where
|
227
sql-bench/limits/msql.cfg
Normal file
227
sql-bench/limits/msql.cfg
Normal file
|
@ -0,0 +1,227 @@
|
|||
#This file is automaticly generated by crash-me 1.32
|
||||
|
||||
NEG=no # update of column= -column
|
||||
alter_add_col=no # Alter table add column
|
||||
alter_add_multi_col=no # Alter table add many columns
|
||||
alter_alter_col=no # Alter table alter column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=no # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
column_alias=no # Column alias
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=yes # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=200 # Simultaneous connections
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.32 # crash me version
|
||||
create_default=no # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=no # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=with 'FROM' # drop index
|
||||
end_colon=no # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
foreign_key_syntax=no # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_where_between=no # Function BETWEEN
|
||||
func_where_eq_all=no # Function = ALL
|
||||
func_where_eq_any=no # Function = ANY
|
||||
func_where_eq_some=no # Function = SOME
|
||||
func_where_exists=no # Function EXISTS
|
||||
func_where_in_num=no # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=no # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=no # Function NOT BETWEEN
|
||||
func_where_not_exists=no # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=no # Functions
|
||||
group_by=no # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=no # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=no # Group functions with distinct
|
||||
group_functions=no # Group functions
|
||||
having=no # Having
|
||||
having_with_alias=no # Having with alias
|
||||
having_with_group=no # Having with group function
|
||||
ignore_end_space=no # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=no # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_char_size=131038 # max char() size
|
||||
max_columns=75 # Columns in table
|
||||
max_conditions=72 # OR and AND in WHERE
|
||||
max_index=+64 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=35 # index name length
|
||||
max_index_part_length=+8192 # index part length
|
||||
max_index_parts=9 # index parts
|
||||
max_row_length=19125 # max table row length (without blobs)
|
||||
max_row_length_with_null=19125 # table row length with nulls (without blobs)
|
||||
max_table_alias_name=34 # table alias name length
|
||||
max_table_name=35 # table name length
|
||||
max_unique_index=+64 # max unique index
|
||||
minus=no # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_in_index=no # null in index
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.2.10 i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=no # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=no # primary key in create table
|
||||
query_size=131069 # query size
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
remember_end_space=yes # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
right_outer_join=no # right outer join
|
||||
rowid=no # Type for row id
|
||||
select_constants=no # Select constants
|
||||
select_limit=yes # SELECT with LIMIT
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=mSQL server version 2.0.11 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=no # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=no # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=no # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=yes # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=yes # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=no # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=no # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=no # Type decimal(2 arg)
|
||||
type_sql_double_precision=no # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_numeric(2_arg)=no # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=no # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=no # Type varchar(1 arg)
|
||||
union=no # union
|
||||
union_all=no # union all
|
||||
unique_in_create=no # unique in create table
|
||||
views=no # views
|
||||
where_string_size=131035 # constant string size in where
|
452
sql-bench/limits/mysql-3.22.cfg
Normal file
452
sql-bench/limits/mysql-3.22.cfg
Normal file
|
@ -0,0 +1,452 @@
|
|||
#This file is automaticly generated by crash-me 1.36
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_multi_col=yes # Alter table add many columns
|
||||
alter_alter_col=yes # Alter table alter column
|
||||
alter_change_col=yes # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=yes # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=yes # # as comment
|
||||
comment_--=no # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=101 # Simultaneous connections
|
||||
constraint_check=no # CHECK constraint
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.36 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_table_select=no # create table from select
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=yes # String functions on date columns
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=yes # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=yes # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=no # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=yes # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=yes # Function AND as '&&'
|
||||
func_extra_<>=yes # Function <> in SELECT
|
||||
func_extra_==yes # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=yes # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=yes # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=yes # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=yes # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=yes # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_coalesce=no # Function COALESCE
|
||||
func_extra_concat_as_+=error # Function concatenation with +
|
||||
func_extra_concat_list=yes # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=yes # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=yes # Function ELT
|
||||
func_extra_encrypt=yes # Function ENCRYPT
|
||||
func_extra_field=yes # Function FIELD
|
||||
func_extra_format=yes # Function FORMAT
|
||||
func_extra_from_days=yes # Function FROM_DAYS
|
||||
func_extra_from_unixtime=yes # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=yes # Function GREATEST
|
||||
func_extra_if=yes # Function IF
|
||||
func_extra_in_num=yes # Function IN on numbers in SELECT
|
||||
func_extra_in_str=yes # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=yes # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=yes # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=yes # Function LAST_INSERT_ID
|
||||
func_extra_least=yes # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=yes # Function LIKE in SELECT
|
||||
func_extra_like_escape=yes # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=yes # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=yes # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=yes # Function NOT in SELECT
|
||||
func_extra_not_between=yes # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=yes # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=yes # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=yes # Function PERIOD_ADD
|
||||
func_extra_period_diff=yes # Function PERIOD_DIFF
|
||||
func_extra_pow=yes # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=yes # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=yes # Function RPAD
|
||||
func_extra_sec_to_time=yes # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=yes # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=yes # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=yes # Function SYSDATE
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=yes # Function TIME_TO_SEC
|
||||
func_extra_to_days=yes # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=error # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=yes # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=yes # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=yes # Function VERSION
|
||||
func_extra_weekday=yes # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=yes # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=no # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=yes # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=error # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=yes # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=no # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=no # Function = ALL
|
||||
func_where_eq_any=no # Function = ANY
|
||||
func_where_eq_some=no # Function = SOME
|
||||
func_where_exists=no # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=no # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=no # Group functions with distinct
|
||||
group_func_extra_bit_and=yes # Group function BIT_AND
|
||||
group_func_extra_bit_or=yes # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=yes # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=no # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=yes # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=yes # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=yes # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=yes # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=32 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=yes # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=1 # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=255 # max char() size
|
||||
max_column_name=64 # column name length
|
||||
max_columns=2364 # Columns in table
|
||||
max_conditions=85660 # OR and AND in WHERE
|
||||
max_expressions=1392 # simple expressions
|
||||
max_index=16 # max index
|
||||
max_index_length=256 # index length
|
||||
max_index_name=64 # index name length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=255 # index varchar part length
|
||||
max_row_length=65534 # max table row length (without blobs)
|
||||
max_row_length_with_null=65501 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=+512 # select alias name length
|
||||
max_stack_expression=1392 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=64 # table name length
|
||||
max_text_size=1048543 # max text or blob size
|
||||
max_unique_index=16 # unique indexes
|
||||
max_varchar_size=255 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=yes # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is concat('a',NULL) = NULL
|
||||
null_in_index=no # null in index
|
||||
null_in_unique=no # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Linux 2.2.13-my-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=no # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=1048574 # query size
|
||||
quote_ident_with_"=error # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
repeat_string_size=1048576 # return string size from function
|
||||
right_outer_join=no # right outer join
|
||||
round_on_store=yes # Correct rounding when storing float values
|
||||
rowid=auto_increment # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=yes # SELECT with LIMIT
|
||||
select_limit2=yes # SELECT with LIMIT #,#
|
||||
select_string_size=1048565 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=MySQL 3.22.29 debug # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=no # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=no # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=yes # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=yes # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=yes # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=yes # Type float(2 arg)
|
||||
type_extra_float4=yes # Type float4
|
||||
type_extra_float8=yes # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=yes # Type int(1 arg) zerofill
|
||||
type_extra_int1=yes # Type int1
|
||||
type_extra_int2=yes # Type int2
|
||||
type_extra_int3=yes # Type int3
|
||||
type_extra_int4=yes # Type int4
|
||||
type_extra_int8=yes # Type int8
|
||||
type_extra_int_auto_increment=yes # Type int not null auto_increment
|
||||
type_extra_int_unsigned=yes # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=yes # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=yes # Type mediumint
|
||||
type_extra_mediumtext=yes # Type mediumtext
|
||||
type_extra_middleint=yes # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=yes # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=yes # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=no # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=no # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=no # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=no # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=no # union
|
||||
union_all=no # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=no # views
|
||||
where_string_size=1048540 # constant string size in where
|
523
sql-bench/limits/mysql-3.23.cfg
Normal file
523
sql-bench/limits/mysql-3.23.cfg
Normal file
|
@ -0,0 +1,523 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=yes # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=yes # Alter table alter column default
|
||||
alter_change_col=yes # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=no # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop foreign key # Alter table drop foreign key
|
||||
alter_drop_primary_key=drop primary key # Alter table drop primary key
|
||||
alter_drop_unique=with drop key # Alter table drop unique
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=_rowid # Automatic row id
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=yes # Case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=yes # # as comment
|
||||
comment_--=yes # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment (ANSI)
|
||||
compute=no # Compute
|
||||
connections=101 # Simultaneous connections (installation default)
|
||||
constraint_check=no # Column constraints
|
||||
constraint_check_table=no # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=yes # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=yes # create table from select
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=yes # String functions on date columns
|
||||
date_infinity=error # Supports 'infinity dates
|
||||
date_last=yes # Supports 9999-12-31 dates
|
||||
date_one=yes # Supports 0001-01-01 dates
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=yes # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
dont_require_cast_to_float=yes # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=yes # drop table if exists
|
||||
drop_index=with 'ON' # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=yes # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=no # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=yes # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=yes # Function AND as '&&'
|
||||
func_extra_<>=yes # Function <> in SELECT
|
||||
func_extra_==yes # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=yes # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=yes # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=yes # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=yes # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=yes # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=error # Function concatenation with +
|
||||
func_extra_concat_list=yes # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=yes # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=yes # Function ELT
|
||||
func_extra_encrypt=yes # Function ENCRYPT
|
||||
func_extra_field=yes # Function FIELD
|
||||
func_extra_format=yes # Function FORMAT
|
||||
func_extra_from_days=yes # Function FROM_DAYS
|
||||
func_extra_from_unixtime=yes # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=yes # Function GREATEST
|
||||
func_extra_if=yes # Function IF
|
||||
func_extra_in_num=yes # Function IN on numbers in SELECT
|
||||
func_extra_in_str=yes # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=yes # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=yes # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=yes # Function LAST_INSERT_ID
|
||||
func_extra_least=yes # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=yes # Function LIKE in SELECT
|
||||
func_extra_like_escape=yes # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=yes # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=yes # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=yes # Function NOT in SELECT
|
||||
func_extra_not_between=yes # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=yes # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=yes # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=yes # Function PERIOD_ADD
|
||||
func_extra_period_diff=yes # Function PERIOD_DIFF
|
||||
func_extra_pow=yes # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=yes # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=yes # Function RPAD
|
||||
func_extra_sec_to_time=yes # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=yes # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=yes # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=yes # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=yes # Function TIME_TO_SEC
|
||||
func_extra_to_days=yes # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=error # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=yes # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=yes # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=yes # Function VERSION
|
||||
func_extra_weekday=yes # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=yes # Function OR as '||'
|
||||
func_extra_~*=no # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=error # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=yes # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=yes # Function COALESCE
|
||||
func_sql_concat_as_||=error # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif_num=yes # Function NULLIF with numbers
|
||||
func_sql_nullif_string=yes # Function NULLIF with strings
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=yes # Function simple CASE
|
||||
func_sql_substring=yes # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=no # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=no # Function = ALL
|
||||
func_where_eq_any=no # Function = ANY
|
||||
func_where_eq_some=no # Function = SOME
|
||||
func_where_exists=no # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=no # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=yes # Group function BIT_AND
|
||||
group_func_extra_bit_or=yes # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=yes # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=yes # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=yes # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=yes # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=yes # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=yes # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=yes # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=yes # INSERT with set syntax
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=63 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=yes # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=1 # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=255 # max char() size
|
||||
max_column_name=64 # column name length
|
||||
max_columns=3398 # Columns in table
|
||||
max_conditions=85660 # OR and AND in WHERE
|
||||
max_expressions=1837 # simple expressions
|
||||
max_index=32 # max index
|
||||
max_index_length=500 # index length
|
||||
max_index_name=64 # index name length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=255 # index varchar part length
|
||||
max_row_length=65534 # max table row length (without blobs)
|
||||
max_row_length_with_null=65502 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=+512 # select alias name length
|
||||
max_stack_expression=1837 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=64 # table name length
|
||||
max_text_size=1048543 # max text or blob size
|
||||
max_unique_index=32 # unique indexes
|
||||
max_varchar_size=255 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=yes # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=yes # natural join
|
||||
natural_join_incompat=yes # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is concat('a',NULL) = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique index
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
nulls_in_unique=yes # null combination in unique index
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Linux 2.2.13-SMP alpha # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=1048574 # query size
|
||||
quote_ident_with_"=error # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=yes # ` as identifier quote
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
rename_table=yes # rename table
|
||||
repeat_string_size=1047552 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=auto_increment # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=with LIMIT # LIMIT number of rows
|
||||
select_limit2=yes # SELECT with LIMIT #,#
|
||||
select_string_size=1048565 # constant string size in SELECT
|
||||
select_table_update=no # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=MySQL 3.23.39 debug # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=no # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=no # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=yes # temporary tables
|
||||
transactions=yes # constant string size in where
|
||||
truncate_table=yes # truncate
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=yes # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=yes # Type char(1 arg) binary
|
||||
type_extra_cidr=no # Type cidr
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=yes # Type double
|
||||
type_extra_enum(1_arg)=yes # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=yes # Type float(2 arg)
|
||||
type_extra_float4=yes # Type float4
|
||||
type_extra_float8=yes # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=no # Type inet
|
||||
type_extra_int(1_arg)_zerofill=yes # Type int(1 arg) zerofill
|
||||
type_extra_int1=yes # Type int1
|
||||
type_extra_int2=yes # Type int2
|
||||
type_extra_int3=yes # Type int3
|
||||
type_extra_int4=yes # Type int4
|
||||
type_extra_int8=yes # Type int8
|
||||
type_extra_int_auto_increment=yes # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=yes # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=yes # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_macaddr=no # Type macaddr
|
||||
type_extra_mediumint=yes # Type mediumint
|
||||
type_extra_mediumtext=yes # Type mediumtext
|
||||
type_extra_middleint=yes # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=yes # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=yes # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=yes # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_boolean=no # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=no # union
|
||||
union_all=no # union all
|
||||
union_all_incompat=no # union all (incompatible lists)
|
||||
union_incompat=no # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
user_comment=Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; ccc + cxx # comment
|
||||
views=no # views
|
||||
where_string_size=1048539 # constant string size in where
|
7290
sql-bench/limits/mysql-4.0.cfg
Normal file
7290
sql-bench/limits/mysql-4.0.cfg
Normal file
File diff suppressed because it is too large
Load diff
7056
sql-bench/limits/mysql-4.1.cfg
Normal file
7056
sql-bench/limits/mysql-4.1.cfg
Normal file
File diff suppressed because it is too large
Load diff
1119
sql-bench/limits/mysql.cfg
Normal file
1119
sql-bench/limits/mysql.cfg
Normal file
File diff suppressed because it is too large
Load diff
505
sql-bench/limits/oracle.cfg
Normal file
505
sql-bench/limits/oracle.cfg
Normal file
|
@ -0,0 +1,505 @@
|
|||
#This file is automaticly generated by crash-me 1.44a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=yes # Alter table add foreign key
|
||||
alter_add_multi_col=yes # Alter table add many columns
|
||||
alter_add_primary_key=with constraint # Alter table add primary key
|
||||
alter_add_unique=yes # Alter table add unique
|
||||
alter_alter_col=no # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_drop_constraint=yes # Alter table drop constraint
|
||||
alter_drop_foreign_key=with drop constraint # Alter table drop foreign key
|
||||
alter_drop_primary_key=drop primary key # Alter table drop primary key
|
||||
alter_drop_unique=with constraint # Alter table drop unique
|
||||
alter_modify_col=yes # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
automatic_rowid=no # Automatic rowid
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=no # binary strings (b'0110')
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=41 # Simultaneous connections (installation default)
|
||||
constraint_check=yes # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.45 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=no # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=no # create table from select
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_last=error # Supports 9999-12-31 dates
|
||||
date_one=error # Supports 0001-01-01 dates
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
end_colon=yes # allows end ';'
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=yes # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=yes # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=yes # Function CHR
|
||||
func_extra_concat_as_+=no # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=yes # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=yes # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=yes # Function INITCAP
|
||||
func_extra_instr=yes # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=yes # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=error # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=yes # Function LEAST
|
||||
func_extra_lengthb=error # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=yes # Function LN
|
||||
func_extra_log(m_n)=yes # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=yes # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=yes # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=yes # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=error # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=error # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=yes # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=yes # Function TRUNC
|
||||
func_extra_uid=yes # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=no # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=error # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=no # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=yes # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=yes # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=no # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=no # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user()=yes # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=no # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=no # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=no # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=no # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=no # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif=no # Function NULLIF
|
||||
func_sql_octet_length=no # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_simple_case=no # Function simple CASE
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # group on column with null values
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=yes # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
has_true_false=no # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=no # hex numbers (0x41)
|
||||
hex_strings=no # hex strings (x'1ace')
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=no # inner join
|
||||
insert_empty_string=no # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=yes # intersect
|
||||
intersect_all=no # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=8 # big expressions
|
||||
max_char_size=2000 # max char() size
|
||||
max_column_name=30 # column name length
|
||||
max_columns=1000 # Columns in table
|
||||
max_conditions=36392 # OR and AND in WHERE
|
||||
max_expressions=+10000 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=749 # index length
|
||||
max_index_name=30 # index name length
|
||||
max_index_part_length=2000 # max index part length
|
||||
max_index_parts=33 # index parts
|
||||
max_index_varchar_part_length=3209 # index varchar part length
|
||||
max_row_length=255000 # max table row length (without blobs)
|
||||
max_row_length_with_null=255000 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=30 # select alias name length
|
||||
max_stack_expression=+2000 # stacked expressions
|
||||
max_table_alias_name=30 # table alias name length
|
||||
max_table_name=30 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=4000 # max varchar() size
|
||||
minus=yes # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
insert_multi_value=no # Value lists in INSERT
|
||||
natural_join=no # natural join
|
||||
natural_join_incompat=no # natural join (incompatible lists)
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=error # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique index
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Microsoft Windows 2000 [Version 5.00.2195] # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=yes # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=+64 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
right_outer_join=no # right outer join
|
||||
rowid=rowid # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=no # LIMIT number of rows
|
||||
select_limit2=no # SELECT with LIMIT #,#
|
||||
select_string_size=4000 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=no # SELECT without FROM
|
||||
server_version=Oracle 8.1.6.0.0 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=undefined # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
tempoary_table=no # temporary tables
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=yes # Type bfile
|
||||
type_extra_blob=yes # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=yes # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=no # Type interval
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=yes # Type long
|
||||
type_extra_long_raw=yes # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=yes # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_extra_nclob=yes # Type nclob
|
||||
type_extra_number=yes # Type number
|
||||
type_extra_number(1_arg)=yes # Type number(1 arg)
|
||||
type_extra_number(2_arg)=yes # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=yes # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=yes # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=yes # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=yes # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=no # Type interval day
|
||||
type_sql_interval_day_to_hour=no # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=no # Type interval day to minute
|
||||
type_sql_interval_day_to_second=no # Type interval day to second
|
||||
type_sql_interval_hour=no # Type interval hour
|
||||
type_sql_interval_hour_to_minute=no # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=no # Type interval hour to second
|
||||
type_sql_interval_minute=no # Type interval minute
|
||||
type_sql_interval_minute_to_second=no # Type interval minute to second
|
||||
type_sql_interval_month=no # Type interval month
|
||||
type_sql_interval_second=no # Type interval second
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_interval_year_to_month=no # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=no # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=no # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=4000 # constant string size in where
|
523
sql-bench/limits/pg.cfg
Normal file
523
sql-bench/limits/pg.cfg
Normal file
|
@ -0,0 +1,523 @@
|
|||
#This file is automaticly generated by crash-me 1.57
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
Need_cast_for_null=no # Need to cast NULL for arithmetic
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_add_constraint=yes # Alter table add constraint
|
||||
alter_add_foreign_key=no # Alter table add foreign key
|
||||
alter_add_multi_col=no # Alter table add many columns
|
||||
alter_add_primary_key=no # Alter table add primary key
|
||||
alter_add_unique=no # Alter table add unique
|
||||
alter_alter_col=yes # Alter table alter column default
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=no # Alter table drop column
|
||||
alter_drop_constraint=no # Alter table drop constraint
|
||||
alter_drop_foreign_key=no # Alter table drop foreign key
|
||||
alter_drop_primary_key=no # Alter table drop primary key
|
||||
alter_drop_unique=no # Alter table drop unique
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=yes # Alter table rename table
|
||||
atomic_updates=no # atomic updates
|
||||
automatic_rowid=no # Automatic row id
|
||||
binary_numbers=no # binary numbers (0b1001)
|
||||
binary_strings=yes # binary strings (b'0110')
|
||||
case_insensitive_strings=no # Case insensitive compare
|
||||
char_is_space_filled=yes # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
columns_in_group_by=+64 # number of columns in group by
|
||||
columns_in_order_by=+64 # number of columns in order by
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment (ANSI)
|
||||
comment_/**/=yes # /* */ as comment
|
||||
comment_//=no # // as comment
|
||||
compute=no # Compute
|
||||
connections=32 # Simultaneous connections (installation default)
|
||||
constraint_check=yes # Column constraints
|
||||
constraint_check_table=yes # Table constraints
|
||||
constraint_null=yes # NULL constraint (SyBase style)
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.57 # crash me version
|
||||
create_default=yes # default value for column
|
||||
create_default_func=yes # default value function for column
|
||||
create_if_not_exists=no # create table if not exists
|
||||
create_index=yes # create index
|
||||
create_schema=no # Create SCHEMA
|
||||
create_table_select=with AS # create table from select
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=yes # String functions on date columns
|
||||
date_infinity=no # Supports 'infinity dates
|
||||
date_last=yes # Supports 9999-12-31 dates
|
||||
date_one=yes # Supports 0001-01-01 dates
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
domains=no # Domains (ANSI SQL)
|
||||
dont_require_cast_to_float=no # No need to cast from integer to float
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_if_exists=no # drop table if exists
|
||||
drop_index=yes # drop index
|
||||
drop_requires_cascade=no # drop table require cascade/restrict
|
||||
drop_restrict=no # drop table with cascade/restrict
|
||||
end_colon=yes # allows end ';'
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
except_all_incompat=no # except all (incompatible lists)
|
||||
except_incompat=no # except (incompatible lists)
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=yes # Function <> in SELECT
|
||||
func_extra_==yes # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=yes # Function AND and OR in SELECT
|
||||
func_extra_ascii_char=no # Function ASCII_CHAR
|
||||
func_extra_ascii_code=no # Function ASCII_CODE
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=yes # Function automatic string->num convert
|
||||
func_extra_between=yes # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=yes # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=yes # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=yes # Function CHR
|
||||
func_extra_concat_as_+=error # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=yes # Function IN on numbers in SELECT
|
||||
func_extra_in_str=yes # Function IN on strings in SELECT
|
||||
func_extra_initcap=yes # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instr_oracle=no # Function INSTR (Oracle syntax)
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=yes # Function LIKE in SELECT
|
||||
func_extra_like_escape=yes # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=yes # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=yes # Function LPAD
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=yes # Function NOT in SELECT
|
||||
func_extra_not_between=yes # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=yes # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_paste=no # Function PASTE
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=yes # Function ROUND(1 arg)
|
||||
func_extra_rpad=yes # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_extra_tail=no # Function TAIL
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=yes # Function TRANSLATE
|
||||
func_extra_trim_many_char=yes # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=error # Function TRIM; Substring extension
|
||||
func_extra_trunc=yes # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=yes # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_extra_~*=yes # Function ~* (case insensitive compare)
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=no # Function CEILING
|
||||
func_odbc_char=no # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=no # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=no # Function LOG
|
||||
func_odbc_log10=no # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=no # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=no # Function SPACE
|
||||
func_odbc_sqrt=no # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_char_length(constant)=yes # Function CHAR_LENGTH(constant)
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_coalesce=yes # Function COALESCE
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=yes # Function CURRENT_DATE
|
||||
func_sql_current_time=yes # Function CURRENT_TIME
|
||||
func_sql_current_timestamp=yes # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_user=yes # Function CURRENT_USER
|
||||
func_sql_extract_sql=yes # Function EXTRACT
|
||||
func_sql_localtime=no # Function LOCALTIME
|
||||
func_sql_localtimestamp=no # Function LOCALTIMESTAMP
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_nullif_num=yes # Function NULLIF with numbers
|
||||
func_sql_nullif_string=yes # Function NULLIF with strings
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_searched_case=yes # Function searched CASE
|
||||
func_sql_session_user=yes # Function SESSION_USER
|
||||
func_sql_simple_case=yes # Function simple CASE
|
||||
func_sql_substring=yes # Function ANSI SQL SUBSTRING
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=yes # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_sql_user=yes # Function USER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # Group on column with null values
|
||||
group_by_position=yes # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_count_distinct_list=no # Group function COUNT(DISTINCT expr,expr,...)
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=yes # Group function STDDEV
|
||||
group_func_extra_variance=yes # Group function VARIANCE
|
||||
group_func_sql_any=no # Group function ANY
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT(DISTINCT expr)
|
||||
group_func_sql_every=no # Group function EVERY
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_some=no # Group function SOME
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
group_on_unused=yes # Group on unused column
|
||||
has_true_false=yes # TRUE and FALSE
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
hex_numbers=no # hex numbers (0x41)
|
||||
hex_strings=yes # hex strings (x'1ace')
|
||||
ignore_end_space=yes # Ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
inner_join=yes # inner join
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_multi_value=no # INSERT with Value lists
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
insert_with_set=no # INSERT with set syntax
|
||||
intersect=yes # intersect
|
||||
intersect_all=yes # intersect all
|
||||
intersect_all_incompat=no # intersect all (incompatible lists)
|
||||
intersect_incompat=no # intersect (incompatible lists)
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=yes # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=yes # LIKE on numbers
|
||||
lock_tables=yes # lock table
|
||||
logical_value=1 # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=+8000000 # max char() size
|
||||
max_column_name=+512 # column name length
|
||||
max_columns=1600 # Columns in table
|
||||
max_conditions=19994 # OR and AND in WHERE
|
||||
max_expressions=9999 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=+512 # index name length
|
||||
max_index_part_length=235328 # max index part length
|
||||
max_index_parts=16 # index parts
|
||||
max_index_varchar_part_length=235328 # index varchar part length
|
||||
max_row_length=64519 # max table row length (without blobs)
|
||||
max_row_length_with_null=64519 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=+512 # select alias name length
|
||||
max_stack_expression=+2000 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=+512 # table name length
|
||||
max_text_size=+8000000 # max text or blob size
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=+8000000 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_incompat=no # minus (incompatible lists)
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_null_in_unique=yes # null in unique index
|
||||
multi_strings=yes # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=yes # natural join
|
||||
natural_join_incompat=yes # natural join (incompatible lists)
|
||||
natural_left_outer_join=yes # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique index
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
nulls_in_unique=yes # null combination in unique index
|
||||
odbc_left_outer_join=no # left outer join odbc style
|
||||
operating_system=Linux 2.4.0-64GB-SMP i686 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_function=yes # Order by function
|
||||
order_by_position=yes # Order by position
|
||||
order_by_remember_desc=no # Order by DESC is remembered
|
||||
order_on_unused=yes # Order by on unused column
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
psm_functions=no # PSM functions (ANSI SQL)
|
||||
psm_modules=no # PSM modules (ANSI SQL)
|
||||
psm_procedures=no # PSM procedures (ANSI SQL)
|
||||
psm_trigger=no # Triggers (ANSI SQL)
|
||||
query_size=16777216 # query size
|
||||
quote_ident_with_"=no # " as identifier quote (ANSI SQL)
|
||||
quote_ident_with_[=no # [] as identifier quote
|
||||
quote_ident_with_`=no # ` as identifier quote
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=+64 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
rename_table=no # rename table
|
||||
repeat_string_size=+8000000 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
rowid=oid # Type for row id
|
||||
select_constants=yes # Select constants
|
||||
select_limit=with LIMIT # LIMIT number of rows
|
||||
select_limit2=yes # SELECT with LIMIT #,#
|
||||
select_string_size=16777207 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=PostgreSQL version 7.1.1 # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
storage_of_float=round # Storage of float values
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_name_case=yes # case independent table names
|
||||
table_wildcard=yes # Select table_name.*
|
||||
temporary_table=yes # temporary tables
|
||||
transactions=yes # transactions
|
||||
truncate_table=yes # truncate
|
||||
type_extra_abstime=yes # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=yes # Type bool
|
||||
type_extra_box=yes # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_cidr=yes # Type cidr
|
||||
type_extra_circle=yes # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_double=no # Type double
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_extra_float(2_arg)=no # Type float(2 arg)
|
||||
type_extra_float4=yes # Type float4
|
||||
type_extra_float8=yes # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_inet=yes # Type inet
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=yes # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=yes # Type int4
|
||||
type_extra_int8=yes # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_int_identity=no # Type int not null identity
|
||||
type_extra_int_unsigned=no # Type int unsigned
|
||||
type_extra_interval=yes # Type interval
|
||||
type_extra_line=yes # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=yes # Type lseg
|
||||
type_extra_macaddr=yes # Type macaddr
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_number(2_arg)=no # Type number(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=yes # Type path
|
||||
type_extra_point=yes # Type point
|
||||
type_extra_polygon=yes # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=yes # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=yes # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=yes # Type timespan
|
||||
type_extra_uint=no # Type uint
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=yes # Type bigint
|
||||
type_odbc_binary(1_arg)=no # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_odbc_tinyint=no # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=no # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=yes # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=yes # Type bit varying(1 arg)
|
||||
type_sql_boolean=yes # Type boolean
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_day=yes # Type interval day
|
||||
type_sql_interval_day_to_hour=yes # Type interval day to hour
|
||||
type_sql_interval_day_to_minute=yes # Type interval day to minute
|
||||
type_sql_interval_day_to_second=yes # Type interval day to second
|
||||
type_sql_interval_hour=yes # Type interval hour
|
||||
type_sql_interval_hour_to_minute=yes # Type interval hour to minute
|
||||
type_sql_interval_hour_to_second=yes # Type interval hour to second
|
||||
type_sql_interval_minute=yes # Type interval minute
|
||||
type_sql_interval_minute_to_second=yes # Type interval minute to second
|
||||
type_sql_interval_month=yes # Type interval month
|
||||
type_sql_interval_second=yes # Type interval second
|
||||
type_sql_interval_year=yes # Type interval year
|
||||
type_sql_interval_year_to_month=yes # Type interval year to month
|
||||
type_sql_national_char_varying(1_arg)=yes # Type national char varying(1 arg)
|
||||
type_sql_national_character(1_arg)=yes # Type national character(1 arg)
|
||||
type_sql_national_character_varying(1_arg)=yes # Type national character varying(1 arg)
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_sql_nchar_varying(1_arg)=yes # Type nchar varying(1 arg)
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_timestamp_with_time_zone=yes # Type timestamp with time zone
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
union_all_incompat=yes # union all (incompatible lists)
|
||||
union_incompat=yes # union (incompatible lists)
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=yes # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=16777181 # constant string size in where
|
422
sql-bench/limits/solid-nt4.cfg
Normal file
422
sql-bench/limits/solid-nt4.cfg
Normal file
|
@ -0,0 +1,422 @@
|
|||
#This file is automaticly generated by crash-me 1.19a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=1000 # Simultaneous connections
|
||||
crash_me_safe=no # crash me safe
|
||||
crash_me_version=1.19a # crash me version
|
||||
create_default=no # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=yes # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=yes # drop index
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=yes # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=yes # Function BIT_LENGTH
|
||||
func_sql_case=yes # Function CASE
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # Test nulls in group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=yes # intersect
|
||||
intersect_all=yes # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=65489 # max char() size
|
||||
max_column_name=254 # column name length
|
||||
max_columns=1000 # Columns in table
|
||||
max_conditions=1518 # OR and AND in WHERE
|
||||
max_expressions=3093 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=254 # index name length
|
||||
max_index_part_length=65485 # max index part length
|
||||
max_index_parts=63 # index parts
|
||||
max_index_varchar_part_length=65485 # index varchar part length
|
||||
max_row_length=2634 # max table row length (without blobs)
|
||||
max_row_length_with_null=2634 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=+512 # select alias name length
|
||||
max_stack_expression=48 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=254 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=65489 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows NT Version 4.0 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=65520 # query size
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=14 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
repeat_string_size=254 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=6185 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Solid version ??? # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=yes # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=yes # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=254 # constant string size in where
|
422
sql-bench/limits/solid.cfg
Normal file
422
sql-bench/limits/solid.cfg
Normal file
|
@ -0,0 +1,422 @@
|
|||
#This file is automaticly generated by crash-me 1.19a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=no # /* */ as comment
|
||||
compute=no # Compute
|
||||
connections=248 # Simultaneous connections
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.19a # crash me version
|
||||
create_default=no # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=yes # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
|
||||
date_zero=yes # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=yes # drop index
|
||||
except=yes # except
|
||||
except_all=yes # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=yes # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=no # Function MOD as %
|
||||
func_extra_&=no # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=no # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=no # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=no # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=no # Function DATEADD
|
||||
func_extra_datediff=no # Function DATEDIFF
|
||||
func_extra_datename=no # Function DATENAME
|
||||
func_extra_datepart=no # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=no # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=no # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=no # Function REPLICATE
|
||||
func_extra_reverse=no # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=no # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=no # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=no # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=yes # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=yes # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=yes # Function CURDATE
|
||||
func_odbc_curtime=yes # Function CURTIME
|
||||
func_odbc_database=yes # Function DATABASE
|
||||
func_odbc_dayname=yes # Function DAYNAME
|
||||
func_odbc_dayofmonth=yes # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=yes # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=yes # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=no # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=yes # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=yes # Function HOUR
|
||||
func_odbc_hour_time=yes # Function ANSI HOUR
|
||||
func_odbc_ifnull=yes # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=yes # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=yes # Function REAL LENGTH
|
||||
func_odbc_length_without_space=error # Function ODBC LENGTH
|
||||
func_odbc_locate_2=yes # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=yes # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=yes # Function MINUTE
|
||||
func_odbc_mod=yes # Function MOD
|
||||
func_odbc_month=yes # Function MONTH
|
||||
func_odbc_monthname=yes # Function MONTHNAME
|
||||
func_odbc_now=yes # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=yes # Function QUARTER
|
||||
func_odbc_radians=yes # Function RADIANS
|
||||
func_odbc_rand=no # Function RAND
|
||||
func_odbc_repeat=yes # Function REPEAT
|
||||
func_odbc_replace=yes # Function REPLACE
|
||||
func_odbc_right=no # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=yes # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=no # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=yes # Function TRUNCATE
|
||||
func_odbc_ucase=yes # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=yes # Function WEEK
|
||||
func_odbc_year=yes # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=yes # Function BIT_LENGTH
|
||||
func_sql_case=yes # Function CASE
|
||||
func_sql_cast=yes # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=yes # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=yes # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=yes # Group by alias
|
||||
group_by_null=yes # Test nulls in group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=no # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=yes # intersect
|
||||
intersect_all=yes # intersect all
|
||||
join_tables=+64 # tables in join
|
||||
left_outer_join=yes # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=1 # big expressions
|
||||
max_char_size=65489 # max char() size
|
||||
max_column_name=254 # column name length
|
||||
max_columns=1000 # Columns in table
|
||||
max_conditions=5886 # OR and AND in WHERE
|
||||
max_expressions=126 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=+8192 # index length
|
||||
max_index_name=254 # index name length
|
||||
max_index_part_length=65485 # max index part length
|
||||
max_index_parts=63 # index parts
|
||||
max_index_varchar_part_length=65485 # index varchar part length
|
||||
max_row_length=2634 # max table row length (without blobs)
|
||||
max_row_length_with_null=2634 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=254 # select alias name length
|
||||
max_stack_expression=48 # stacked expressions
|
||||
max_table_alias_name=+512 # table alias name length
|
||||
max_table_name=254 # table name length
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=65489 # max varchar() size
|
||||
minus=no # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=no # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=yes # Is 'a' || NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=no # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Linux 2.0.34 i586 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=65520 # query size
|
||||
quote_with_"=no # Allows ' and " as string markers
|
||||
recursive_subqueries=14 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=yes # Remembers end space in varchar()
|
||||
repeat_string_size=254 # return string size from function
|
||||
right_outer_join=yes # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=252 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=SOLID Server - v.02.30.0026 (Linux ix86) # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=yes # Table alias
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=yes # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=no # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=no # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=yes # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=yes # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=no # Type money
|
||||
type_sql_nchar(1_arg)=no # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=no # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=no # Type smallmoney
|
||||
type_extra_text=no # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=no # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=no # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=no # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=yes # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=yes # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=yes # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=254 # constant string size in where
|
422
sql-bench/limits/sybase.cfg
Normal file
422
sql-bench/limits/sybase.cfg
Normal file
|
@ -0,0 +1,422 @@
|
|||
#This file is automaticly generated by crash-me 1.19a
|
||||
|
||||
NEG=yes # update of column= -column
|
||||
alter_add_col=yes # Alter table add column
|
||||
alter_change_col=no # Alter table change column
|
||||
alter_drop_col=yes # Alter table drop column
|
||||
alter_modify_col=no # Alter table modify column
|
||||
alter_rename_table=no # Alter table rename table
|
||||
atomic_updates=yes # atomic updates
|
||||
atomic_updates_with_rollback=yes # atomic_updates_with_rollback
|
||||
binary_items=yes # binary items (0x41)
|
||||
case_insensitive_strings=no # case insensitive compare
|
||||
char_is_space_filled=no # char are space filled
|
||||
column_alias=yes # Column alias
|
||||
comment_#=no # # as comment
|
||||
comment_--=yes # -- as comment
|
||||
comment_/**/=yes # /* */ as comment
|
||||
compute=yes # Compute
|
||||
connections=25 # Simultaneous connections
|
||||
crash_me_safe=yes # crash me safe
|
||||
crash_me_version=1.19a # crash me version
|
||||
create_default=no # default value for column
|
||||
create_index=yes # create index
|
||||
cross_join=no # cross join (same as from a,b)
|
||||
date_as_string=no # String functions on date columns
|
||||
date_with_YY=no # Supports YY-MM-DD dates
|
||||
date_zero=no # Supports 0000-00-00 dates
|
||||
double_quotes=yes # Double '' as ' in strings
|
||||
drop_index=with 'table.index' # drop index
|
||||
except=no # except
|
||||
except_all=no # except all
|
||||
float_int_expr=yes # mixing of integer and float in expression
|
||||
foreign_key=yes # foreign keys
|
||||
foreign_key_syntax=yes # foreign key syntax
|
||||
full_outer_join=no # full outer join
|
||||
func_extra_!=no # Function NOT as '!' in SELECT
|
||||
func_extra_%=yes # Function MOD as %
|
||||
func_extra_&=yes # Function & (bitwise and)
|
||||
func_extra_&&=no # Function AND as '&&'
|
||||
func_extra_<>=no # Function <> in SELECT
|
||||
func_extra_==no # Function =
|
||||
func_extra_add_months=no # Function ADD_MONTHS
|
||||
func_extra_and_or=no # Function AND and OR in SELECT
|
||||
func_extra_atn2=yes # Function ATN2
|
||||
func_extra_auto_num2string=no # Function automatic num->string convert
|
||||
func_extra_auto_string2num=no # Function automatic string->num convert
|
||||
func_extra_between=no # Function BETWEEN in SELECT
|
||||
func_extra_binary_shifts=no # Function << and >> (bitwise shifts)
|
||||
func_extra_bit_count=no # Function BIT_COUNT
|
||||
func_extra_ceil=no # Function CEIL
|
||||
func_extra_charindex=yes # Function CHARINDEX
|
||||
func_extra_chr=no # Function CHR
|
||||
func_extra_concat_as_+=yes # Function concatenation with +
|
||||
func_extra_concat_list=no # Function CONCAT(list)
|
||||
func_extra_convert=yes # Function CONVERT
|
||||
func_extra_cosh=no # Function COSH
|
||||
func_extra_date_format=no # Function DATE_FORMAT
|
||||
func_extra_dateadd=yes # Function DATEADD
|
||||
func_extra_datediff=yes # Function DATEDIFF
|
||||
func_extra_datename=yes # Function DATENAME
|
||||
func_extra_datepart=yes # Function DATEPART
|
||||
func_extra_elt=no # Function ELT
|
||||
func_extra_encrypt=no # Function ENCRYPT
|
||||
func_extra_field=no # Function FIELD
|
||||
func_extra_format=no # Function FORMAT
|
||||
func_extra_from_days=no # Function FROM_DAYS
|
||||
func_extra_from_unixtime=no # Function FROM_UNIXTIME
|
||||
func_extra_getdate=yes # Function GETDATE
|
||||
func_extra_greatest=no # Function GREATEST
|
||||
func_extra_if=no # Function IF
|
||||
func_extra_in_num=no # Function IN on numbers in SELECT
|
||||
func_extra_in_str=no # Function IN on strings in SELECT
|
||||
func_extra_initcap=no # Function INITCAP
|
||||
func_extra_instr=no # Function LOCATE as INSTR
|
||||
func_extra_instrb=no # Function INSTRB
|
||||
func_extra_interval=no # Function INTERVAL
|
||||
func_extra_last_day=no # Function LAST_DAY
|
||||
func_extra_last_insert_id=no # Function LAST_INSERT_ID
|
||||
func_extra_least=no # Function LEAST
|
||||
func_extra_lengthb=no # Function LENGTHB
|
||||
func_extra_like=no # Function LIKE in SELECT
|
||||
func_extra_like_escape=no # Function LIKE ESCAPE in SELECT
|
||||
func_extra_ln=no # Function LN
|
||||
func_extra_log(m_n)=no # Function LOG(m,n)
|
||||
func_extra_logn=no # Function LOGN
|
||||
func_extra_lpad=no # Function LPAD
|
||||
func_extra_max_num=no # Function MAX on numbers
|
||||
func_extra_mdy=no # Function MDY
|
||||
func_extra_mid=no # Function SUBSTRING as MID
|
||||
func_extra_min_num=no # Function MIN on numbers
|
||||
func_extra_months_between=no # Function MONTHS_BETWEEN
|
||||
func_extra_not=no # Function NOT in SELECT
|
||||
func_extra_not_between=no # Function NOT BETWEEN in SELECT
|
||||
func_extra_not_like=no # Function NOT LIKE in SELECT
|
||||
func_extra_odbc_convert=no # Function ODBC CONVERT
|
||||
func_extra_password=no # Function PASSWORD
|
||||
func_extra_patindex=yes # Function PATINDEX
|
||||
func_extra_period_add=no # Function PERIOD_ADD
|
||||
func_extra_period_diff=no # Function PERIOD_DIFF
|
||||
func_extra_pow=no # Function POW
|
||||
func_extra_range=no # Function RANGE
|
||||
func_extra_regexp=no # Function REGEXP in SELECT
|
||||
func_extra_replicate=yes # Function REPLICATE
|
||||
func_extra_reverse=yes # Function REVERSE
|
||||
func_extra_root=no # Function ROOT
|
||||
func_extra_round1=no # Function ROUND(1 arg)
|
||||
func_extra_rpad=no # Function RPAD
|
||||
func_extra_sec_to_time=no # Function SEC_TO_TIME
|
||||
func_extra_sinh=no # Function SINH
|
||||
func_extra_str=yes # Function STR
|
||||
func_extra_strcmp=no # Function STRCMP
|
||||
func_extra_stuff=yes # Function STUFF
|
||||
func_extra_substrb=no # Function SUBSTRB
|
||||
func_extra_substring_index=no # Function SUBSTRING_INDEX
|
||||
func_extra_tanh=no # Function TANH
|
||||
func_extra_time_to_sec=no # Function TIME_TO_SEC
|
||||
func_extra_to_days=no # Function TO_DAYS
|
||||
func_extra_translate=no # Function TRANSLATE
|
||||
func_extra_trim_many_char=no # Function TRIM; Many char extension
|
||||
func_extra_trim_substring=no # Function TRIM; Substring extension
|
||||
func_extra_trunc=no # Function TRUNC
|
||||
func_extra_uid=no # Function UID
|
||||
func_extra_unix_timestamp=no # Function UNIX_TIMESTAMP
|
||||
func_extra_userenv=no # Function USERENV
|
||||
func_extra_version=no # Function VERSION
|
||||
func_extra_weekday=no # Function WEEKDAY
|
||||
func_extra_|=yes # Function | (bitwise or)
|
||||
func_extra_||=no # Function OR as '||'
|
||||
func_odbc_abs=yes # Function ABS
|
||||
func_odbc_acos=yes # Function ACOS
|
||||
func_odbc_ascii=yes # Function ASCII
|
||||
func_odbc_asin=yes # Function ASIN
|
||||
func_odbc_atan=yes # Function ATAN
|
||||
func_odbc_atan2=no # Function ATAN2
|
||||
func_odbc_ceiling=yes # Function CEILING
|
||||
func_odbc_char=yes # Function CHAR
|
||||
func_odbc_concat=no # Function CONCAT(2 arg)
|
||||
func_odbc_cos=yes # Function COS
|
||||
func_odbc_cot=yes # Function COT
|
||||
func_odbc_curdate=no # Function CURDATE
|
||||
func_odbc_curtime=no # Function CURTIME
|
||||
func_odbc_database=no # Function DATABASE
|
||||
func_odbc_dayname=no # Function DAYNAME
|
||||
func_odbc_dayofmonth=no # Function DAYOFMONTH
|
||||
func_odbc_dayofweek=no # Function DAYOFWEEK
|
||||
func_odbc_dayofyear=no # Function DAYOFYEAR
|
||||
func_odbc_degrees=yes # Function DEGREES
|
||||
func_odbc_difference=yes # Function DIFFERENCE()
|
||||
func_odbc_exp=yes # Function EXP
|
||||
func_odbc_extract=no # Function EXTRACT
|
||||
func_odbc_floor=yes # Function FLOOR
|
||||
func_odbc_fn_left=yes # Function ODBC syntax LEFT & RIGHT
|
||||
func_odbc_hour=no # Function HOUR
|
||||
func_odbc_hour_time=no # Function ANSI HOUR
|
||||
func_odbc_ifnull=no # Function IFNULL
|
||||
func_odbc_insert=no # Function INSERT
|
||||
func_odbc_lcase=no # Function LCASE
|
||||
func_odbc_left=no # Function LEFT
|
||||
func_odbc_length=no # Function REAL LENGTH
|
||||
func_odbc_length_without_space=no # Function ODBC LENGTH
|
||||
func_odbc_locate_2=no # Function LOCATE(2 arg)
|
||||
func_odbc_locate_3=no # Function LOCATE(3 arg)
|
||||
func_odbc_log=yes # Function LOG
|
||||
func_odbc_log10=yes # Function LOG10
|
||||
func_odbc_ltrim=yes # Function LTRIM
|
||||
func_odbc_minute=no # Function MINUTE
|
||||
func_odbc_mod=no # Function MOD
|
||||
func_odbc_month=no # Function MONTH
|
||||
func_odbc_monthname=no # Function MONTHNAME
|
||||
func_odbc_now=no # Function NOW
|
||||
func_odbc_pi=yes # Function PI
|
||||
func_odbc_power=yes # Function POWER
|
||||
func_odbc_quarter=no # Function QUARTER
|
||||
func_odbc_radians=error # Function RADIANS
|
||||
func_odbc_rand=yes # Function RAND
|
||||
func_odbc_repeat=no # Function REPEAT
|
||||
func_odbc_replace=no # Function REPLACE
|
||||
func_odbc_right=yes # Function RIGHT
|
||||
func_odbc_round=yes # Function ROUND(2 arg)
|
||||
func_odbc_rtrim=yes # Function RTRIM
|
||||
func_odbc_second=no # Function SECOND
|
||||
func_odbc_sign=yes # Function SIGN
|
||||
func_odbc_sin=yes # Function SIN
|
||||
func_odbc_soundex=yes # Function SOUNDEX
|
||||
func_odbc_space=yes # Function SPACE
|
||||
func_odbc_sqrt=yes # Function SQRT
|
||||
func_odbc_substring=yes # Function ODBC SUBSTRING
|
||||
func_odbc_tan=yes # Function TAN
|
||||
func_odbc_timestampadd=no # Function TIMESTAMPADD
|
||||
func_odbc_timestampdiff=no # Function TIMESTAMPDIFF
|
||||
func_odbc_truncate=no # Function TRUNCATE
|
||||
func_odbc_ucase=no # Function UCASE
|
||||
func_odbc_user=yes # Function USER
|
||||
func_odbc_user()=no # Function USER()
|
||||
func_odbc_week=no # Function WEEK
|
||||
func_odbc_year=no # Function YEAR
|
||||
func_sql_+=yes # Function +, -, * and /
|
||||
func_sql_bit_length=no # Function BIT_LENGTH
|
||||
func_sql_case=yes # Function CASE
|
||||
func_sql_cast=no # Function CAST
|
||||
func_sql_char_length=yes # Function CHAR_LENGTH
|
||||
func_sql_character_length=yes # Function CHARACTER_LENGTH
|
||||
func_sql_concat_as_||=no # Function concatenation with ||
|
||||
func_sql_current_date=no # Function CURRENT_DATE
|
||||
func_sql_current_date()=no # Function CURRENT_DATE()
|
||||
func_sql_current_time=no # Function CURRENT_TIME
|
||||
func_sql_current_time()=no # Function CURRENT_TIME()
|
||||
func_sql_current_timestamp=no # Function CURRENT_TIMESTAMP
|
||||
func_sql_current_timestamp()=no # Function CURRENT_TIMESTAMP()
|
||||
func_sql_lower=yes # Function LOWER
|
||||
func_sql_octet_length=yes # Function OCTET_LENGTH
|
||||
func_sql_position=no # Function POSITION
|
||||
func_sql_session_user=no # Function SESSION_USER
|
||||
func_sql_substring=no # Function ANSI SQL SUBSTRING
|
||||
func_extra_sysdate=no # Function SYSDATE
|
||||
func_sql_system_user=no # Function SYSTEM_USER
|
||||
func_sql_trim=no # Function TRIM
|
||||
func_sql_upper=yes # Function UPPER
|
||||
func_where_between=yes # Function BETWEEN
|
||||
func_where_eq_all=yes # Function = ALL
|
||||
func_where_eq_any=yes # Function = ANY
|
||||
func_where_eq_some=yes # Function = SOME
|
||||
func_where_exists=yes # Function EXISTS
|
||||
func_where_in_num=yes # Function IN on numbers
|
||||
func_where_like=yes # Function LIKE
|
||||
func_where_like_escape=yes # Function LIKE ESCAPE
|
||||
func_where_match=no # Function MATCH
|
||||
func_where_match_unique=no # Function MATCH UNIQUE
|
||||
func_where_matches=no # Function MATCHES
|
||||
func_where_not_between=yes # Function NOT BETWEEN
|
||||
func_where_not_exists=yes # Function NOT EXISTS
|
||||
func_where_not_like=yes # Function NOT LIKE
|
||||
func_where_not_unique=no # Function NOT UNIQUE
|
||||
func_where_unique=no # Function UNIQUE
|
||||
functions=yes # Functions
|
||||
group_by=yes # Group by
|
||||
group_by_alias=no # Group by alias
|
||||
group_by_null=yes # Test nulls in group by
|
||||
group_by_position=no # Group by position
|
||||
group_distinct_functions=yes # Group functions with distinct
|
||||
group_func_extra_bit_and=no # Group function BIT_AND
|
||||
group_func_extra_bit_or=no # Group function BIT_OR
|
||||
group_func_extra_std=no # Group function STD
|
||||
group_func_extra_stddev=no # Group function STDDEV
|
||||
group_func_extra_variance=no # Group function VARIANCE
|
||||
group_func_sql_avg=yes # Group function AVG
|
||||
group_func_sql_count_*=yes # Group function COUNT (*)
|
||||
group_func_sql_count_column=yes # Group function COUNT column name
|
||||
group_func_sql_count_distinct=yes # Group function COUNT DISTINCT column name
|
||||
group_func_sql_max=yes # Group function MAX on numbers
|
||||
group_func_sql_max_str=yes # Group function MAX on strings
|
||||
group_func_sql_min=yes # Group function MIN on numbers
|
||||
group_func_sql_min_str=yes # Group function MIN on strings
|
||||
group_func_sql_sum=yes # Group function SUM
|
||||
group_functions=yes # Group functions
|
||||
having=yes # Having
|
||||
having_with_alias=no # Having on alias
|
||||
having_with_group=yes # Having with group function
|
||||
ignore_end_space=yes # ignore end space in compare
|
||||
index_in_create=no # index in create table
|
||||
index_namespace=yes # different namespace for index
|
||||
index_parts=no # index on column part (extension)
|
||||
insert_empty_string=yes # insert empty string
|
||||
insert_select=yes # insert INTO ... SELECT ...
|
||||
intersect=no # intersect
|
||||
intersect_all=no # intersect all
|
||||
join_tables=16 # tables in join
|
||||
left_outer_join=no # left outer join
|
||||
left_outer_join_using=no # left outer join using
|
||||
like_with_column=yes # column LIKE column
|
||||
like_with_number=no # LIKE on numbers
|
||||
lock_tables=no # lock table
|
||||
logical_value=not supported # Value of logical operation (1=1)
|
||||
max_big_expressions=10 # big expressions
|
||||
max_char_size=255 # max char() size
|
||||
max_column_name=30 # column name length
|
||||
max_columns=250 # Columns in table
|
||||
max_conditions=250 # OR and AND in WHERE
|
||||
max_expressions=1051 # simple expressions
|
||||
max_index=+64 # max index
|
||||
max_index_length=600 # index length
|
||||
max_index_name=30 # index name length
|
||||
max_index_part_length=255 # max index part length
|
||||
max_index_parts=15 # index parts
|
||||
max_index_varchar_part_length=255 # index varchar part length
|
||||
max_row_length=1960 # max table row length (without blobs)
|
||||
max_row_length_with_null=1941 # table row length with nulls (without blobs)
|
||||
max_select_alias_name=30 # select alias name length
|
||||
max_stack_expression=97 # stacked expressions
|
||||
max_table_alias_name=30 # table alias name length
|
||||
max_table_name=30 # table name length
|
||||
max_text_size=65504 # max text or blob size
|
||||
max_unique_index=+64 # unique indexes
|
||||
max_varchar_size=255 # max varchar() size
|
||||
minus=yes # minus
|
||||
minus_neg=no # Calculate 1--1
|
||||
multi_drop=yes # many tables to drop table
|
||||
multi_strings=no # Multiple line strings
|
||||
multi_table_delete=no # DELETE FROM table1,table2...
|
||||
multi_table_update=no # Update with many tables
|
||||
natural_join=no # natural join
|
||||
natural_left_outer_join=no # natural left outer join
|
||||
no_primary_key=yes # Tables without primary key
|
||||
null_concat_expr=error # Is 'a' + NULL = NULL
|
||||
null_in_index=yes # null in index
|
||||
null_in_unique=yes # null in unique
|
||||
null_num_expr=yes # Is 1+NULL = NULL
|
||||
odbc_left_outer_join=yes # left outer join odbc style
|
||||
operating_system=Windows NT Version 4.0 # crash-me tested on
|
||||
order_by=yes # Order by
|
||||
order_by_alias=yes # Order by alias
|
||||
order_by_position=yes # Order by position
|
||||
primary_key_in_create=yes # primary key in create table
|
||||
query_size=65535 # query size
|
||||
quote_with_"=yes # Allows ' and " as string markers
|
||||
recursive_subqueries=15 # recursive subqueries
|
||||
remember_end_space=no # Remembers end space in char()
|
||||
remember_end_space_varchar=no # Remembers end space in varchar()
|
||||
right_outer_join=no # right outer join
|
||||
select_constants=yes # Select constants
|
||||
select_string_size=65526 # constant string size in SELECT
|
||||
select_table_update=yes # Update with sub select
|
||||
select_without_from=yes # SELECT without FROM
|
||||
server_version=Sybase enterprise 11.5 NT # server version
|
||||
simple_joins=yes # ANSI SQL simple joins
|
||||
subqueries=yes # subqueries
|
||||
table_alias=no # Table alias
|
||||
table_wildcard=yes # Select table_name.*
|
||||
transactions=error # transactions
|
||||
type_extra_abstime=no # Type abstime
|
||||
type_extra_bfile=no # Type bfile
|
||||
type_extra_blob=no # Type blob
|
||||
type_extra_bool=no # Type bool
|
||||
type_extra_box=no # Type box
|
||||
type_extra_byte=no # Type byte
|
||||
type_extra_char(1_arg)_binary=no # Type char(1 arg) binary
|
||||
type_extra_char16=no # Type char16
|
||||
type_extra_char2=no # Type char2
|
||||
type_extra_char4=no # Type char4
|
||||
type_extra_char8=no # Type char8
|
||||
type_extra_circle=no # Type circle
|
||||
type_extra_clob=no # Type clob
|
||||
type_extra_datetime=yes # Type datetime
|
||||
type_extra_enum(1_arg)=no # Type enum(1 arg)
|
||||
type_sql_float(1_arg)=yes # Type float(1 arg)
|
||||
type_extra_float4=no # Type float4
|
||||
type_extra_float8=no # Type float8
|
||||
type_extra_image=yes # Type image
|
||||
type_extra_int(1_arg)_zerofill=no # Type int(1 arg) zerofill
|
||||
type_extra_int1=no # Type int1
|
||||
type_extra_int2=no # Type int2
|
||||
type_extra_int3=no # Type int3
|
||||
type_extra_int4=no # Type int4
|
||||
type_extra_int8=no # Type int8
|
||||
type_extra_int_auto_increment=no # Type int not null auto_increment
|
||||
type_extra_line=no # Type line
|
||||
type_extra_long=no # Type long
|
||||
type_extra_long_raw=no # Type long raw
|
||||
type_extra_long_varbinary=no # Type long varbinary
|
||||
type_extra_long_varchar(1_arg)=no # Type long varchar(1 arg)
|
||||
type_extra_lseg=no # Type lseg
|
||||
type_extra_mediumint=no # Type mediumint
|
||||
type_extra_mediumtext=no # Type mediumtext
|
||||
type_extra_middleint=no # Type middleint
|
||||
type_extra_mlslabel=no # Type mlslabel
|
||||
type_extra_money=yes # Type money
|
||||
type_sql_nchar(1_arg)=yes # Type nchar(1 arg)
|
||||
type_extra_nclob=no # Type nclob
|
||||
type_extra_number=no # Type number
|
||||
type_extra_number(1_arg)=no # Type number(1 arg)
|
||||
type_extra_nvarchar(2_arg)=no # Type nvarchar(2 arg)
|
||||
type_extra_nvarchar2(1_arg)=no # Type nvarchar2(1 arg)
|
||||
type_extra_path=no # Type path
|
||||
type_extra_point=no # Type point
|
||||
type_extra_polygon=no # Type polygon
|
||||
type_extra_raw(1_arg)=no # Type raw(1 arg)
|
||||
type_extra_reltime=no # Type reltime
|
||||
type_extra_rowid=no # Type rowid
|
||||
type_extra_serial=no # Type serial
|
||||
type_extra_set(1_arg)=no # Type set(1 arg)
|
||||
type_extra_smalldatetime=yes # Type smalldatetime
|
||||
type_extra_smallfloat=no # Type smallfloat
|
||||
type_extra_smallmoney=yes # Type smallmoney
|
||||
type_extra_text=yes # Type text
|
||||
type_extra_text(1_arg)=no # Type text(1 arg)
|
||||
type_extra_timespan=no # Type timespan
|
||||
type_extra_varchar2(1_arg)=no # Type varchar2(1 arg)
|
||||
type_extra_year=no # Type year
|
||||
type_odbc_bigint=no # Type bigint
|
||||
type_odbc_binary(1_arg)=yes # Type binary(1 arg)
|
||||
type_odbc_datetime=yes # Type datetime
|
||||
type_sql_smallint=yes # Type smallint
|
||||
type_odbc_tinyint=yes # Type tinyint
|
||||
type_odbc_varbinary(1_arg)=yes # Type varbinary(1 arg)
|
||||
type_sql_bit=yes # Type bit
|
||||
type_sql_bit(1_arg)=no # Type bit(1 arg)
|
||||
type_sql_bit_varying(1_arg)=no # Type bit varying(1 arg)
|
||||
type_sql_char(1_arg)=yes # Type char(1 arg)
|
||||
type_sql_char_varying(1_arg)=yes # Type char varying(1 arg)
|
||||
type_sql_character(1_arg)=yes # Type character(1 arg)
|
||||
type_sql_character_varying(1_arg)=yes # Type character varying(1 arg)
|
||||
type_sql_date=no # Type date
|
||||
type_sql_dec(2_arg)=yes # Type dec(2 arg)
|
||||
type_sql_decimal(2_arg)=yes # Type decimal(2 arg)
|
||||
type_extra_double=no # Type double
|
||||
type_sql_double_precision=yes # Type double precision
|
||||
type_sql_float=yes # Type float
|
||||
type_extra_float(2_arg)=no # Type float(1 arg)
|
||||
type_sql_int=yes # Type int
|
||||
type_sql_integer=yes # Type integer
|
||||
type_sql_interval_year=no # Type interval year
|
||||
type_sql_numeric(2_arg)=yes # Type numeric(2 arg)
|
||||
type_sql_real=yes # Type real
|
||||
type_sql_time=no # Type time
|
||||
type_sql_timestamp=yes # Type timestamp
|
||||
type_sql_varchar(1_arg)=yes # Type varchar(1 arg)
|
||||
union=yes # union
|
||||
union_all=yes # union all
|
||||
unique_in_create=yes # unique in create table
|
||||
unique_null_in_create=no # unique null in create
|
||||
views=yes # views
|
||||
where_string_size=255 # constant string size in where
|
2
sql-bench/pwd.bat
Normal file
2
sql-bench/pwd.bat
Normal file
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
@cd
|
309
sql-bench/run-all-tests.sh
Normal file
309
sql-bench/run-all-tests.sh
Normal file
|
@ -0,0 +1,309 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# This program runs all test that starts with 'test-' and sums
|
||||
# the results that the program prints.
|
||||
# Each time result should be of the form:
|
||||
# Time for|to KEYWORD (number_of_runs) 'other info': timestr()
|
||||
#
|
||||
# All options to this script is passed to all test program.
|
||||
# useful options:
|
||||
# --fast --force --lock-tables
|
||||
# --server ==> mysql (default) / mSQL / Pg (postgres) / Solid
|
||||
# --user ==> the user with permission to create / drop / select
|
||||
# --pass ==> password for the user
|
||||
# --cmp ==> Compare --server with one of the others (mysql/mSQL/Pg/Solid)
|
||||
# --comments ==> everything you want to say such as the extra options you
|
||||
# gave to the db server. (use --comments="xxx xxx xxx"
|
||||
# --machine ==> Give a OS/machine id for your logfiles.
|
||||
# --log ==> puts output in output/RUN-server-machine-cmp-$opt_cmp
|
||||
|
||||
use DBI;
|
||||
use Cwd;
|
||||
|
||||
$opt_silent=1; # Don't write header
|
||||
|
||||
@ORG_ARGV=@ARGV;
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
$opt_silent=0;
|
||||
$perl=$^X;
|
||||
$machine=machine();
|
||||
$redirect= !($machine =~ /windows/i || $machine =~ "^NT\s") ? "2>&1" : "";
|
||||
$dir= ($pwd =~ /\\/) ? '\\' : '/'; # directory symbol for shell
|
||||
|
||||
$prog_args="";
|
||||
foreach $arg (@ORG_ARGV)
|
||||
{
|
||||
if ($redirect)
|
||||
{
|
||||
$prog_args.="'" . $arg . "' ";
|
||||
}
|
||||
else
|
||||
{
|
||||
# Windows/NT can't handle ' around arguments
|
||||
$prog_args.=$arg . " ";
|
||||
}
|
||||
}
|
||||
|
||||
$prog_count=$errors=0;
|
||||
|
||||
if ($opt_cmp) {
|
||||
$filename = "$opt_server$opt_suffix-" . machine_part() . "-cmp-$opt_cmp";
|
||||
} else {
|
||||
$filename = "$opt_server$opt_suffix-" . machine_part();
|
||||
}
|
||||
|
||||
if (! -d $opt_dir)
|
||||
{
|
||||
if (-e $opt_dir)
|
||||
{
|
||||
die "$opt_dir isn't a directory\n";
|
||||
}
|
||||
mkdir $opt_dir,0777 || die "Can't create directory: $opt_dir\n";
|
||||
}
|
||||
|
||||
if ($opt_skip_test) {
|
||||
(@skip_tests) = split(/,\s*/, $opt_skip_test);
|
||||
}
|
||||
|
||||
if ($opt_old_headers)
|
||||
{
|
||||
read_headers("$opt_dir/RUN-$filename");
|
||||
}
|
||||
else
|
||||
{
|
||||
$server_version=$server->version();
|
||||
}
|
||||
|
||||
if (!$opt_log)
|
||||
{
|
||||
open(LOG,">&STDOUT");
|
||||
}
|
||||
else
|
||||
{
|
||||
open(LOG, "> $opt_dir/RUN-$filename") ||
|
||||
die "Can't write to $opt_dir/RUN-$filename: $!\n";
|
||||
}
|
||||
|
||||
select(LOG);
|
||||
$|=1;
|
||||
|
||||
print "Benchmark DBD suite: $benchmark_version\n";
|
||||
print "Date of test: $date\n";
|
||||
print "Running tests on: $machine\n";
|
||||
print "Arguments: $log_prog_args\n";
|
||||
print "Comments: $opt_comments\n";
|
||||
print "Limits from: $opt_cmp\n";
|
||||
print "Server version: $server_version\n";
|
||||
print "Optimization: $opt_optimization\n";
|
||||
print "Hardware: $opt_hw\n\n";
|
||||
|
||||
|
||||
$estimated=$warning=$got_warning=0;
|
||||
while (<test-*>)
|
||||
{
|
||||
next if (/\.sh$/); # configure script
|
||||
next if (/\-fork$/); # test script
|
||||
$prog_count++;
|
||||
/test-(.*)$/; # Remove test from name
|
||||
$prog=$1;
|
||||
$skip_prog = 0;
|
||||
foreach $skip_this (@skip_tests) {
|
||||
if ($prog =~ /$skip_this/i) {
|
||||
$skip_prog = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
print "$prog: ";
|
||||
if ((!$opt_use_old_results) && (!$skip_prog))
|
||||
{
|
||||
if (system("$perl ./test-$prog $prog_args > \"$opt_dir$dir$prog-$filename\" $redirect"))
|
||||
{
|
||||
printf STDERR "Warning: Can't execute $prog. Check the file '$opt_dir$dir$prog-$filename'\n";
|
||||
die "aborted" if ($opt_die_on_errors);
|
||||
}
|
||||
}
|
||||
open(TEST,"$opt_dir/$prog-$filename");
|
||||
$last_line="";
|
||||
while(<TEST>)
|
||||
{
|
||||
chomp;
|
||||
$last_line=$_ if (!(/^\s*$/)); # Search after last line
|
||||
}
|
||||
if ($last_line =~ /Total time:/i)
|
||||
{
|
||||
print $last_line . "\n";
|
||||
open(TEST,"$opt_dir/$prog-$filename");
|
||||
while (<TEST>)
|
||||
{
|
||||
if (/^(estimated |)time (to|for) ([^\s:]*)\s*\((\d*)(:\d*)*\)[^:]*:\s*([\d.]+) .*secs \(\s*([^\s]*) usr\s*\+*\s*([^\s]*) sys.*=\s+([\d.]*)\s+cpu/i)
|
||||
{
|
||||
$arg=$summa{$3};
|
||||
if (!defined($arg))
|
||||
{
|
||||
$summa{$3}= [ $4,$6,$7,$8,$9,""];
|
||||
}
|
||||
else
|
||||
{
|
||||
$arg->[0]+=$4;
|
||||
$arg->[1]+=$6;
|
||||
$arg->[2]+=$7;
|
||||
$arg->[3]+=$8;
|
||||
$arg->[4]+=$9;
|
||||
}
|
||||
$prog_sum[0]+=$4;
|
||||
$prog_sum[1]+=$6;
|
||||
$prog_sum[2]+=$7;
|
||||
$prog_sum[3]+=$8;
|
||||
$prog_sum[4]+=$9;
|
||||
if (length($1))
|
||||
{
|
||||
$summa{$3}->[5].="+";
|
||||
$estimated=1;
|
||||
}
|
||||
if ($got_warning)
|
||||
{
|
||||
$summa{$3}->[5].="?";
|
||||
$warning=1;
|
||||
$got_warning=0;
|
||||
}
|
||||
}
|
||||
elsif (/^warning/i)
|
||||
{
|
||||
$got_warning=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$got_warning=0;
|
||||
}
|
||||
}
|
||||
if ($opt_debug)
|
||||
{
|
||||
print "Summary for $prog: ", join(" ",@prog_sum), "\n";
|
||||
}
|
||||
}
|
||||
elsif ($last_line =~ /^Test skipped/i)
|
||||
{
|
||||
print "$last_line\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors++;
|
||||
print "Failed ($opt_dir/$prog-$filename)\n";
|
||||
}
|
||||
}
|
||||
|
||||
print "\n";
|
||||
if (!$errors)
|
||||
{
|
||||
print "All $prog_count test executed successfully\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "Of $prog_count tests, $errors tests didn't work\n";
|
||||
}
|
||||
if ($estimated)
|
||||
{
|
||||
print "Tests with estimated time have a + at end of line\n"
|
||||
}
|
||||
if ($warning)
|
||||
{
|
||||
print "Tests with didn't return the correct result have a ? at end of line\n";
|
||||
}
|
||||
|
||||
if (%summa)
|
||||
{
|
||||
@total=(0,0,0,0,0,"");
|
||||
print "\nTotals per operation:\n";
|
||||
print "Operation seconds usr sys cpu tests\n";
|
||||
foreach $key (sort(keys %summa))
|
||||
{
|
||||
$arg=$summa{$key};
|
||||
printf("%-35.35s %7.2f %7.2f %7.2f %7.2f %7d %s\n",
|
||||
$key,$arg->[1],$arg->[2],$arg->[3],$arg->[4],$arg->[0],
|
||||
$arg->[5]);
|
||||
|
||||
for ($i=0 ; $i < 5 ; $i++)
|
||||
{
|
||||
$total[$i]+=$arg->[$i];
|
||||
}
|
||||
$total[5].=$arg->[$i];
|
||||
}
|
||||
printf("%-35.35s %7.2f %7.2f %7.2f %7.2f %7d %s\n",
|
||||
"TOTALS",$total[1],$total[2],$total[3],$total[4],$total[0],
|
||||
$total[5]);
|
||||
}
|
||||
|
||||
select(STDOUT);
|
||||
if ($opt_log)
|
||||
{
|
||||
print "Test finished. You can find the result in:\n$opt_dir/RUN-$filename\n";
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Read headers from an old benchmark run
|
||||
#
|
||||
|
||||
sub read_headers
|
||||
{
|
||||
my ($filename)=@_;
|
||||
|
||||
# Clear current values
|
||||
$benchmark_version=$date=$machine=$server_version="";
|
||||
|
||||
open(TMP, "<$filename") || die "Can't open $filename\n";
|
||||
while (<TMP>)
|
||||
{
|
||||
chop;
|
||||
if (/^Benchmark DBD.*:\s+(.*)$/)
|
||||
{
|
||||
$benchmark_version=$1;
|
||||
}
|
||||
elsif (/^Date of.*:\s+(.*)/)
|
||||
{
|
||||
$date=$1;
|
||||
}
|
||||
elsif (/^Running.*:\s+(.*)$/)
|
||||
{
|
||||
$machine=$1;
|
||||
}
|
||||
elsif (/^Arguments.*:\s+(.*)$/)
|
||||
{
|
||||
$log_prog_args=$1;
|
||||
}
|
||||
elsif (/^Limits.*:\s+(.*)$/)
|
||||
{
|
||||
$opt_cmp=$1;
|
||||
}
|
||||
elsif (/^Server ver.*:\s+(.*)$/)
|
||||
{
|
||||
$server_version=$1;
|
||||
}
|
||||
elsif (/^Optimiz.*:\s+(.*)$/)
|
||||
{
|
||||
$opt_optimization=$1;
|
||||
}
|
||||
elsif (/^Hardwar.*:\s+(.*)$/)
|
||||
{
|
||||
$opt_hw=$1;
|
||||
}
|
||||
}
|
||||
close(TMP);
|
||||
}
|
3620
sql-bench/server-cfg.sh
Normal file
3620
sql-bench/server-cfg.sh
Normal file
File diff suppressed because it is too large
Load diff
566
sql-bench/test-ATIS.sh
Normal file
566
sql-bench/test-ATIS.sh
Normal file
|
@ -0,0 +1,566 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# Test of creating the ATIS database and doing many different selects on it
|
||||
#
|
||||
# changes made for Oracle compatibility
|
||||
# - added Oracle to the '' to ' ' translation
|
||||
# - skip blank lines from the datafiles
|
||||
# - skip a couple of the tests in Q4 that Oracle doesn't understand
|
||||
################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=100; # Run selects this many times
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=10;
|
||||
}
|
||||
|
||||
print "ATIS table test\n\n";
|
||||
|
||||
####
|
||||
#### Connect and start timeing
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
$start_time=new Benchmark;
|
||||
|
||||
####
|
||||
#### Create needed tables
|
||||
####
|
||||
|
||||
init_data(); # Get table definitions
|
||||
|
||||
if (!$opt_skip_create)
|
||||
{
|
||||
print "Creating tables\n";
|
||||
$loop_time= new Benchmark;
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
my $array_ref = $tables[$ti];
|
||||
|
||||
# This may fail if we have no table so do not check answer
|
||||
$sth = $dbh->do("drop table $table_name" . $server->{'drop_attr'});
|
||||
|
||||
print "Creating table $table_name\n" if ($opt_verbose);
|
||||
do_many($dbh,@$array_ref);
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for create_table (" . ($#tables+1) ."): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
####
|
||||
#### Insert data
|
||||
####
|
||||
|
||||
print "Inserting data\n";
|
||||
|
||||
$loop_time= new Benchmark;
|
||||
$row_count=0;
|
||||
$double_quotes=$server->{'double_quotes'};
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
@tmp=@table_names; push(@tmp,@extra_names);
|
||||
print "LOCK TABLES @tmp\n" if ($opt_debug);
|
||||
$sth = $dbh->do("LOCK TABLES " . join(" WRITE,", @tmp) . " WRITE") ||
|
||||
die $DBI::errstr;
|
||||
}
|
||||
|
||||
if ($opt_fast && $server->{'limits'}->{'load_data_infile'})
|
||||
{
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
my $file = "$pwd/Data/ATIS/${table_name}.txt";
|
||||
print "$table_name - $file\n" if ($opt_debug);
|
||||
$row_count += $server->insert_file($table_name,$file,$dbh);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->{AutoCommit} = 0;
|
||||
print "Transactions enabled\n" if ($opt_debug);
|
||||
}
|
||||
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
my $array_ref = $tables[$ti];
|
||||
my @table = @$array_ref;
|
||||
my $insert_start = "insert into $table_name values (";
|
||||
|
||||
open(DATA, "$pwd/Data/ATIS/${table_name}.txt") || die "Can't open text file: $pwd/Data/ATIS/${table_name}.txt\n";
|
||||
while(<DATA>)
|
||||
{
|
||||
chomp;
|
||||
next unless ( $_ =~ /\w/ ); # skip blank lines
|
||||
my $command = $insert_start . $_ . ")";
|
||||
$command = $server->fix_for_insert($command);
|
||||
print "$command\n" if ($opt_debug);
|
||||
$command =~ s/\\'/\'\'/g if ($double_quotes);
|
||||
|
||||
$sth = $dbh->do($command) or die "Got error: $DBI::errstr when executing '$command'\n";
|
||||
$row_count++;
|
||||
}
|
||||
}
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->commit;
|
||||
$dbh->{AutoCommit} = 1;
|
||||
}
|
||||
close(DATA);
|
||||
}
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
$dbh->do("UNLOCK TABLES");
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time to insert ($row_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh,@table_names);
|
||||
}
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
@tmp=@table_names; push(@tmp,@extra_names);
|
||||
$sth = $dbh->do("LOCK TABLES " . join(" READ,", @tmp) . " READ") ||
|
||||
die $DBI::errstr;
|
||||
}
|
||||
#
|
||||
# Now the fun begins. Let's do some simple queries on the result
|
||||
#
|
||||
# The query array is defined as:
|
||||
# query, number of rows in result, 0|1 where 1 means that the query is possible
|
||||
#
|
||||
|
||||
print "Retrieving data\n";
|
||||
@Q1=("select_simple_join",
|
||||
"select city.city_name,state.state_name,city.city_code from city,state where city.city_code='MATL' and city.state_code=state.state_code",1,1,
|
||||
"select city.city_name,state.state_name,city.city_code from state,city where city.state_code=state.state_code",11,1,
|
||||
"select month_name.month_name,day_name.day_name from month_name,day_name where month_name.month_number=day_name.day_code",7,1,
|
||||
"select month_name.month_name,day_name.day_name from month_name,day_name where month_name.month_number=day_name.day_code and day_name.day_code >= 4",4,1,
|
||||
"select flight.flight_code,aircraft.aircraft_type from flight,aircraft where flight.aircraft_code=aircraft.aircraft_code",579,1,
|
||||
);
|
||||
|
||||
@Q2=("select_join",
|
||||
"select airline.airline_name,aircraft.aircraft_type from aircraft,airline,flight where flight.aircraft_code=aircraft.aircraft_code and flight.airline_code=airline.airline_code",579,1);
|
||||
|
||||
@Q21=("select_key_prefix_join",
|
||||
"select fare.fare_code from restrict_carrier,airline,fare where restrict_carrier.airline_code=airline.airline_code and fare.restrict_code=restrict_carrier.restrict_code",5692,1,
|
||||
);
|
||||
|
||||
@Q3=("select_distinct",
|
||||
"select distinct category from aircraft",6,1,
|
||||
"select distinct from_airport from flight",9,1,
|
||||
"select distinct aircraft_code from flight",22,1,
|
||||
"select distinct * from fare",534,1,
|
||||
"select distinct flight_code from flight_fare",579,1,
|
||||
"select distinct flight.flight_code,aircraft.aircraft_type from flight,aircraft where flight.aircraft_code=aircraft.aircraft_code",579,1,
|
||||
"select distinct airline.airline_name,aircraft.aircraft_type from aircraft,airline,flight where flight.aircraft_code=aircraft.aircraft_code and flight.airline_code=airline.airline_code",44,$limits->{'join_optimizer'},
|
||||
"select distinct airline.airline_name,aircraft.aircraft_type from flight,aircraft,airline where flight.aircraft_code=aircraft.aircraft_code and flight.airline_code=airline.airline_code",44,1,
|
||||
);
|
||||
|
||||
@Q4=("select_group",
|
||||
"select day_name.day_name,day_name.day_code,count(*) from flight_day,day_name where day_name.day_code=flight_day.day_code group by day_name.day_name,day_name.day_code order by day_name.day_code",7,$limits->{'group_functions'},
|
||||
"select day_name.day_name,count(*) from flight_day,day_name where day_name.day_code=flight_day.day_code group by day_name.day_name",7,$limits->{'group_functions'},
|
||||
"select month_name,day_name from month_name,day_name where month_number=day_code and day_code>3 group by month_name,day_name",4,$limits->{'group_functions'},
|
||||
"select day_name.day_name,flight_day.day_code,count(*) from flight_day,day_name where day_name.day_code=flight_day.day_code group by flight_day.day_code,day_name.day_name order by flight_day.day_code",7,$limits->{'group_functions'},
|
||||
"select sum(engines) from aircraft",1,$limits->{'group_functions'},
|
||||
"select avg(engines) from aircraft",1,$limits->{'group_functions'},
|
||||
"select avg(engines) from aircraft where engines>0",1,$limits->{'group_functions'},
|
||||
"select count(*),min(pay_load),max(pay_load) from aircraft where pay_load>0",1,$limits->{'group_functions'},
|
||||
"select min(flight_code),min(flight_code) from flight",1,$limits->{'group_functions'},
|
||||
"select min(from_airport),min(to_airport) from flight",1,$limits->{'group_functions'} && $limits->{'group_func_sql_min_str'},
|
||||
"select count(*) from aircraft where pay_load>10000",1,$limits->{'group_functions'},
|
||||
"select count(*) from aircraft where pay_load<>0",1,$limits->{'group_functions'},
|
||||
"select count(*) from flight where flight_code >= 112793",1,$limits->{'group_functions'},
|
||||
"select count(if(pay_load,1,NULL)) from aircraft",1,$limits->{'if'} && $limits->{'group_functions'},
|
||||
"select std(engines) from aircraft",1,$limits->{'group_func_extra_std'},
|
||||
"SELECT from_airport,to_airport,avg(time_elapsed) FROM flight WHERE from_airport='ATL' AND to_airport='BOS' group by from_airport,to_airport",1,$limits->{'group_functions'},
|
||||
"select city_code, avg(ground_fare) from ground_service where ground_fare<>0 group by city_code",11,$limits->{'group_functions'},
|
||||
"select count(*), ground_service.city_code from ground_service group by ground_service.city_code",12,$limits->{'group_functions'},
|
||||
"select category,count(*) as totalnr from aircraft where engines=2 group by category having totalnr>4",3,$limits->{'group_functions'} && $limits->{'having_with_alias'},
|
||||
"select category,count(*) from aircraft where engines=2 group by category having count(*)>4",3,$limits->{'group_functions'} && $limits->{'having_with_group'},
|
||||
"select flight_number,range_miles,fare_class FROM aircraft,flight,flight_class WHERE flight.flight_code=flight_class.flight_code AND flight.aircraft_code=aircraft.aircraft_code AND range_miles<>0 AND (stops=1 OR stops=2) GROUP BY flight_number,range_miles,fare_class",150,$limits->{'group_functions'},
|
||||
"select distinct from_airport.time_zone_code,to_airport.time_zone_code,(FLOOR(arrival_time/100)*60+MOD(arrival_time,100)-FLOOR(departure_time/100)*60-MOD(departure_time,100)-time_elapsed)/60 AS time_zone_diff FROM flight,airport AS from_airport,airport AS to_airport WHERE flight.from_airport=from_airport.airport_code AND flight.to_airport=to_airport.airport_code GROUP BY from_airport.time_zone_code,to_airport.time_zone_code,arrival_time,departure_time,time_elapsed",21,$limits->{'func_odbc_mod'} && $limits->{'func_odbc_floor'} && $limits->{'group_functions'},
|
||||
"select DISTINCT from_airport.time_zone_code,to_airport.time_zone_code,MOD((FLOOR(arrival_time/100)*60+MOD(arrival_time,100)-FLOOR(departure_time/100)*60-MOD(departure_time,100)-time_elapsed)/60+36,24)-12 AS time_zone_diff FROM flight,airport AS from_airport,airport AS to_airport WHERE flight.from_airport=from_airport.airport_code AND flight.to_airport=to_airport.airport_code and MOD((FLOOR(arrival_time/100)*60+MOD(arrival_time,100)-FLOOR(departure_time/100)*60-MOD(departure_time,100)-time_elapsed)/60+36,24)-12 < 10",14,$limits->{'func_odbc_mod'} && $limits->{'func_odbc_floor'} && $limits->{'group_functions'},
|
||||
"select from_airport,to_airport,range_miles,time_elapsed FROM aircraft,flight WHERE aircraft.aircraft_code=flight.aircraft_code AND to_airport NOT LIKE from_airport AND range_miles<>0 AND time_elapsed<>0 GROUP BY from_airport,to_airport,range_miles,time_elapsed",409,$limits->{'group_functions'} && $limits->{'like_with_column'},
|
||||
"SELECT airport.country_name,state.state_name,city.city_name,airport_service.direction FROM airport_service,state,airport,city WHERE airport_service.city_code=city.city_code AND airport_service.airport_code=airport.airport_code AND state.state_code=airport.state_code AND state.state_code=city.state_code AND airport.state_code=city.state_code AND airport.country_name=city.country_name AND airport.country_name=state.country_name AND city.time_zone_code=airport.time_zone_code GROUP BY airport.country_name,state.state_name,city.city_name,airport_service.direction ORDER BY state_name",11,$limits->{'group_functions'},
|
||||
"SELECT airport.country_name,state.state_name,city.city_name,airport_service.direction FROM airport_service,state,airport,city WHERE airport_service.city_code=city.city_code AND airport_service.airport_code=airport.airport_code AND state.state_code=airport.state_code AND state.state_code=city.state_code AND airport.state_code=city.state_code AND airport.country_name=city.country_name AND airport.country_name=state.country_name AND city.time_zone_code=airport.time_zone_code GROUP BY airport.country_name,state.state_name,city.city_name,airport_service.direction ORDER BY state_name DESC",11,$limits->{'group_functions'},
|
||||
"SELECT airport.country_name,state.state_name,city.city_name,airport_service.direction FROM airport_service,state,airport,city WHERE airport_service.city_code=city.city_code AND airport_service.airport_code=airport.airport_code AND state.state_code=airport.state_code AND state.state_code=city.state_code AND airport.state_code=city.state_code AND airport.country_name=city.country_name AND airport.country_name=state.country_name AND city.time_zone_code=airport.time_zone_code GROUP BY airport.country_name,state.state_name,city.city_name,airport_service.direction ORDER BY state_name",11,$limits->{'group_functions'},
|
||||
"SELECT from_airport,to_airport,fare.fare_class,night,one_way_cost,rnd_trip_cost,class_days FROM compound_class,fare WHERE compound_class.fare_class=fare.fare_class AND one_way_cost <= 825 AND one_way_cost >= 280 AND from_airport='SFO' AND to_airport='DFW' GROUP BY from_airport,to_airport,fare.fare_class,night,one_way_cost,rnd_trip_cost,class_days ORDER BY one_way_cost",10,$limits->{'group_functions'},
|
||||
"select engines,category,cruising_speed,from_airport,to_airport FROM aircraft,flight WHERE category='JET' AND engines >= 1 AND aircraft.aircraft_code=flight.aircraft_code AND to_airport NOT LIKE from_airport AND stops>0 GROUP BY engines,category,cruising_speed,from_airport,to_airport ORDER BY engines DESC",29,$limits->{'group_functions'} && $limits->{'like_with_column'},
|
||||
);
|
||||
|
||||
@Q=(\@Q1,\@Q2,\@Q21,\@Q3,\@Q4);
|
||||
|
||||
|
||||
foreach $Q (@Q)
|
||||
{
|
||||
$count=$estimated=0;
|
||||
$loop_time= new Benchmark;
|
||||
for ($i=1 ; $i <= $opt_loop_count; $i++)
|
||||
{
|
||||
for ($j=1 ; $j < $#$Q ; $j+=3)
|
||||
{
|
||||
if ($Q->[$j+2])
|
||||
{ # We can do it with current limits
|
||||
$count++;
|
||||
if ($i == 100) # Do something different
|
||||
{
|
||||
if (($row_count=fetch_all_rows($dbh,$server->query($Q->[$j]))) !=
|
||||
$Q->[$j+1])
|
||||
{
|
||||
if ($row_count == undef())
|
||||
{
|
||||
die "Got error: $DBI::errstr when executing " . $Q->[$j] ."\n"."got $row_count instead of $Q->[$j+1] *** \n";
|
||||
}
|
||||
print "Warning: Query '" . $Q->[$j] . "' returned $row_count rows when it should have returned " . $Q->[$j+1] . " rows\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
defined(fetch_all_rows($dbh,$server->query($Q->[$j])))
|
||||
or die "ERROR: $DBI::errstr executing '$Q->[$j]'\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i,
|
||||
$opt_loop_count));
|
||||
print "Loop $i\n" if ($opt_verbose);
|
||||
}
|
||||
if ($count)
|
||||
{
|
||||
if ($estimated)
|
||||
{ print "Estimated time"; }
|
||||
else
|
||||
{ print "Time"; }
|
||||
print " for " . $Q->[0] . " ($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
print "\n";
|
||||
|
||||
####
|
||||
#### Delete the tables
|
||||
####
|
||||
|
||||
if (!$opt_skip_delete) # Only used when testing
|
||||
{
|
||||
print "Removing tables\n";
|
||||
$loop_time= new Benchmark;
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
$sth = $dbh->do("UNLOCK TABLES") || die $DBI::errstr;
|
||||
}
|
||||
for ($ti = 0; $ti <= $#table_names; $ti++)
|
||||
{
|
||||
my $table_name = $table_names[$ti];
|
||||
$sth = $dbh->do("drop table $table_name" . $server->{'drop_attr'});
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to drop_table (" .($#table_names+1) . "): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
####
|
||||
#### End of benchmark
|
||||
####
|
||||
|
||||
$dbh->disconnect; # close connection
|
||||
|
||||
end_benchmark($start_time);
|
||||
|
||||
|
||||
sub init_data
|
||||
{
|
||||
@aircraft=
|
||||
$server->create("aircraft",
|
||||
["aircraft_code char(3) NOT NULL",
|
||||
"aircraft_type char(64) NOT NULL",
|
||||
"engines tinyint(1) NOT NULL",
|
||||
"category char(10) NOT NULL",
|
||||
"wide_body char(3) NOT NULL",
|
||||
"wing_span float(6,2) NOT NULL",
|
||||
"length1 float(6,2) NOT NULL",
|
||||
"weight integer(7) NOT NULL",
|
||||
"capacity smallint(3) NOT NULL",
|
||||
"pay_load integer(7) NOT NULL",
|
||||
"cruising_speed mediumint(5) NOT NULL",
|
||||
"range_miles mediumint(5) NOT NULL",
|
||||
"pressurized char(3) NOT NULL"],
|
||||
["PRIMARY KEY (aircraft_code)"]);
|
||||
@airline=
|
||||
$server->create("airline",
|
||||
["airline_code char(2) NOT NULL",
|
||||
"airline_name char(64) NOT NULL",
|
||||
"notes char(38) NOT NULL"],
|
||||
["PRIMARY KEY (airline_code)"]);
|
||||
@airport=
|
||||
$server->create("airport",
|
||||
["airport_code char(3) NOT NULL",
|
||||
"airport_name char(40) NOT NULL",
|
||||
"location char(36) NOT NULL",
|
||||
"state_code char(2) NOT NULL",
|
||||
"country_name char(25) NOT NULL",
|
||||
"time_zone_code char(3) NOT NULL"],
|
||||
["PRIMARY KEY (airport_code)"]);
|
||||
@airport_service=
|
||||
$server->create("airport_service",
|
||||
["city_code char(4) NOT NULL",
|
||||
"airport_code char(3) NOT NULL",
|
||||
"miles_distant float(4,1) NOT NULL",
|
||||
"direction char(3) NOT NULL",
|
||||
"minutes_distant smallint(3) NOT NULL"],
|
||||
["PRIMARY KEY (city_code, airport_code)"]);
|
||||
@city=
|
||||
$server->create("city",
|
||||
["city_code char(4) NOT NULL",
|
||||
"city_name char(25) NOT NULL",
|
||||
"state_code char(2) NOT NULL",
|
||||
"country_name char(25) NOT NULL",
|
||||
"time_zone_code char(3) NOT NULL"],
|
||||
["PRIMARY KEY (city_code)"]);
|
||||
@class_of_service=
|
||||
$server->create("class_of_service",
|
||||
["class_code char(2) NOT NULL",
|
||||
"rank tinyint(2) NOT NULL",
|
||||
"class_description char(80) NOT NULL"],
|
||||
["PRIMARY KEY (class_code)"]);
|
||||
@code_description=
|
||||
$server->create("code_description",
|
||||
["code char(5) NOT NULL",
|
||||
"description char(110) NOT NULL"],
|
||||
["PRIMARY KEY (code)"]);
|
||||
@compound_class=
|
||||
$server->create("compound_class",
|
||||
["fare_class char(3) NOT NULL",
|
||||
"base_class char(2) NOT NULL",
|
||||
"class_type char(10) NOT NULL",
|
||||
"premium char(3) NOT NULL",
|
||||
"economy char(3) NOT NULL",
|
||||
"discounted char(3) NOT NULL",
|
||||
"night char(3) NOT NULL",
|
||||
"season_fare char(4) NOT NULL",
|
||||
"class_days char(7) NOT NULL"],
|
||||
["PRIMARY KEY (fare_class)"]);
|
||||
@connect_leg=
|
||||
$server->create("connect_leg",
|
||||
["connect_code integer(8) NOT NULL",
|
||||
"leg_number tinyint(1) NOT NULL",
|
||||
"flight_code integer(8) NOT NULL"],
|
||||
["PRIMARY KEY (connect_code, leg_number, flight_code)"]);
|
||||
@connection=
|
||||
$server->create("fconnection",
|
||||
["connect_code integer(8) NOT NULL",
|
||||
"from_airport char(3) NOT NULL",
|
||||
"to_airport char(3) NOT NULL",
|
||||
"departure_time smallint(4) NOT NULL",
|
||||
"arrival_time smallint(4) NOT NULL",
|
||||
"flight_days char(7) NOT NULL",
|
||||
"stops tinyint(1) NOT NULL",
|
||||
"connections tinyint(1) NOT NULL",
|
||||
"time_elapsed smallint(4) NOT NULL"],
|
||||
["PRIMARY KEY (connect_code)",
|
||||
"INDEX from_airport1 (from_airport)",
|
||||
"INDEX to_airport1 (to_airport)"]);
|
||||
@day_name=
|
||||
$server->create("day_name",
|
||||
["day_code tinyint(1) NOT NULL",
|
||||
"day_name char(9) NOT NULL"],
|
||||
["PRIMARY KEY (day_code)"]);
|
||||
@dual_carrier=
|
||||
$server->create("dual_carrier",
|
||||
["main_airline char(2) NOT NULL",
|
||||
"dual_airline char(2) NOT NULL",
|
||||
"low_flight smallint(4) NOT NULL",
|
||||
"high_flight smallint(4) NOT NULL",
|
||||
"fconnection_name char(64) NOT NULL"],
|
||||
["PRIMARY KEY (main_airline, dual_airline, low_flight)",
|
||||
"INDEX main_airline1 (main_airline)"]);
|
||||
|
||||
@fare=
|
||||
$server->create("fare",
|
||||
["fare_code char(8) NOT NULL",
|
||||
"from_airport char(3) NOT NULL",
|
||||
"to_airport char(3) NOT NULL",
|
||||
"fare_class char(3) NOT NULL",
|
||||
"fare_airline char(2) NOT NULL",
|
||||
"restrict_code char(5) NOT NULL",
|
||||
"one_way_cost float(7,2) NOT NULL",
|
||||
"rnd_trip_cost float(8,2) NOT NULL"],
|
||||
["PRIMARY KEY (fare_code)",
|
||||
"INDEX from_airport2 (from_airport)",
|
||||
"INDEX to_airport2 (to_airport)"]);
|
||||
@flight=
|
||||
$server->create("flight",
|
||||
["flight_code integer(8) NOT NULL",
|
||||
"flight_days char(7) NOT NULL",
|
||||
"from_airport char(3) NOT NULL",
|
||||
"to_airport char(3) NOT NULL",
|
||||
"departure_time smallint(4) NOT NULL",
|
||||
"arrival_time smallint(4) NOT NULL",
|
||||
"airline_code char(2) NOT NULL",
|
||||
"flight_number smallint(4) NOT NULL",
|
||||
"class_string char(8) NOT NULL",
|
||||
"aircraft_code char(3) NOT NULL",
|
||||
"meal_code char(7) NOT NULL",
|
||||
"stops tinyint(1) NOT NULL",
|
||||
"dual_carrier char(1) NOT NULL",
|
||||
"time_elapsed smallint(4) NOT NULL"],
|
||||
["PRIMARY KEY (flight_code)",
|
||||
"INDEX from_airport3 (from_airport)",
|
||||
"INDEX to_airport3 (to_airport)"]);
|
||||
@flight_class=
|
||||
$server->create("flight_class",
|
||||
["flight_code integer(8) NOT NULL",
|
||||
"fare_class char(3) NOT NULL"],
|
||||
["PRIMARY KEY (flight_code, fare_class)"]);
|
||||
@flight_day=
|
||||
$server->create("flight_day",
|
||||
["day_mask char(7) NOT NULL",
|
||||
"day_code tinyint(1) NOT NULL",
|
||||
"day_name char(9) NOT NULL"],
|
||||
["PRIMARY KEY (day_mask, day_code)"]);
|
||||
@flight_fare=
|
||||
$server->create("flight_fare",
|
||||
["flight_code integer(8) NOT NULL",
|
||||
"fare_code char(8) NOT NULL"],
|
||||
["PRIMARY KEY (flight_code, fare_code)"]);
|
||||
@food_service=
|
||||
$server->create("food_service",
|
||||
["meal_code char(4) NOT NULL",
|
||||
"meal_number tinyint(1) NOT NULL",
|
||||
"meal_class char(10) NOT NULL",
|
||||
"meal_description char(10) NOT NULL"],
|
||||
["PRIMARY KEY (meal_code, meal_number, meal_class)"]);
|
||||
@ground_service=
|
||||
$server->create("ground_service",
|
||||
["city_code char(4) NOT NULL",
|
||||
"airport_code char(3) NOT NULL",
|
||||
"transport_code char(1) NOT NULL",
|
||||
"ground_fare float(6,2) NOT NULL"],
|
||||
["PRIMARY KEY (city_code, airport_code, transport_code)"]);
|
||||
@time_interval=
|
||||
$server->create("time_interval",
|
||||
["period char(20) NOT NULL",
|
||||
"begin_time smallint(4) NOT NULL",
|
||||
"end_time smallint(4) NOT NULL"],
|
||||
["PRIMARY KEY (period, begin_time)"]);
|
||||
@month_name=
|
||||
$server->create("month_name",
|
||||
["month_number tinyint(2) NOT NULL",
|
||||
"month_name char(9) NOT NULL"],
|
||||
["PRIMARY KEY (month_number)"]);
|
||||
@restrict_carrier=
|
||||
$server->create("restrict_carrier",
|
||||
["restrict_code char(5) NOT NULL",
|
||||
"airline_code char(2) NOT NULL"],
|
||||
["PRIMARY KEY (restrict_code, airline_code)"]);
|
||||
@restrict_class=
|
||||
$server->create("restrict_class",
|
||||
["restrict_code char(5) NOT NULL",
|
||||
"ex_fare_class char(12) NOT NULL"],
|
||||
["PRIMARY KEY (restrict_code, ex_fare_class)"]);
|
||||
@restriction=
|
||||
$server->create("restriction",
|
||||
["restrict_code char(5) NOT NULL",
|
||||
"application char(80) NOT NULL",
|
||||
"no_discounts char(80) NOT NULL",
|
||||
"reserve_ticket smallint(3) NOT NULL",
|
||||
"stopovers char(1) NOT NULL",
|
||||
"return_min smallint(3) NOT NULL",
|
||||
"return_max smallint(3) NOT NULL"],
|
||||
["PRIMARY KEY (restrict_code)"]);
|
||||
@state=
|
||||
$server->create("state",
|
||||
["state_code char(2) NOT NULL",
|
||||
"state_name char(25) NOT NULL",
|
||||
"country_name char(25) NOT NULL"],
|
||||
["PRIMARY KEY (state_code)"]);
|
||||
@stop=
|
||||
$server->create("stop1",
|
||||
["flight_code integer(8) NOT NULL",
|
||||
"stop_number tinyint(1) NOT NULL",
|
||||
"stop_flight integer(8) NOT NULL"],
|
||||
["PRIMARY KEY (flight_code, stop_number)"]);
|
||||
@time_zone=
|
||||
$server->create("time_zone",
|
||||
["time_zone_code char(3) NOT NULL",
|
||||
"time_zone_name char(32) NOT NULL"],
|
||||
["PRIMARY KEY (time_zone_code, time_zone_name)"]);
|
||||
@transport=
|
||||
$server->create("transport",
|
||||
["transport_code char(1) NOT NULL",
|
||||
"transport_desc char(32) NOT NULL"],
|
||||
["PRIMARY KEY (transport_code)"]);
|
||||
|
||||
# Avoid not used warnings
|
||||
|
||||
@tables =
|
||||
(\@aircraft, \@airline, \@airport, \@airport_service,
|
||||
\@city, \@class_of_service, \@code_description,
|
||||
\@compound_class, \@connect_leg, \@connection, \@day_name,
|
||||
\@dual_carrier, \@fare, \@flight, \@flight_class, \@flight_day,
|
||||
\@flight_fare, \@food_service, \@ground_service, \@time_interval,
|
||||
\@month_name,
|
||||
\@restrict_carrier, \@restrict_class, \@restriction, \@state, \@stop,
|
||||
\@time_zone, \@transport);
|
||||
|
||||
@table_names =
|
||||
("aircraft", "airline", "airport", "airport_service",
|
||||
"city", "class_of_service", "code_description",
|
||||
"compound_class", "connect_leg", "fconnection", "day_name",
|
||||
"dual_carrier", "fare", "flight", "flight_class", "flight_day",
|
||||
"flight_fare", "food_service", "ground_service", "time_interval",
|
||||
"month_name",
|
||||
"restrict_carrier", "restrict_class", "restriction", "state", "stop1",
|
||||
"time_zone", "transport");
|
||||
|
||||
# Alias used in joins
|
||||
@extra_names=("airport as from_airport","airport as to_airport");
|
||||
}
|
234
sql-bench/test-alter-table.sh
Normal file
234
sql-bench/test-alter-table.sh
Normal file
|
@ -0,0 +1,234 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# Test of alter table
|
||||
#
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_start_field_count=8; # start with this many fields
|
||||
$opt_loop_count=100; # How many tests to do
|
||||
$opt_row_count=1000; # Rows in the table
|
||||
$opt_field_count=1000; # Add until this many fields.
|
||||
$opt_time_limit=10*60; # Don't wait more than 10 min for some tests
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$opt_field_count=min($opt_field_count,$limits->{'max_columns'},
|
||||
($limits->{'query_size'}-30)/14);
|
||||
$opt_start_field_count=min($opt_start_field_count,$limits->{'max_index'});
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_row_count/=10;
|
||||
$opt_field_count/=10;
|
||||
}
|
||||
|
||||
if (!$limits->{'alter_table'})
|
||||
{
|
||||
print("Some of the servers given with --cmp or --server doesn't support ALTER TABLE\nTest aborted\n\n");
|
||||
$start_time=new Benchmark;
|
||||
end_benchmark($start_time);
|
||||
exit 0;
|
||||
}
|
||||
|
||||
print "Testing of ALTER TABLE\n";
|
||||
print "Testing with $opt_field_count columns and $opt_row_count rows in $opt_loop_count steps\n";
|
||||
|
||||
####
|
||||
#### Create a table and fill it with data
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
@fields=();
|
||||
@index=();
|
||||
push(@fields,"i1 int not null");
|
||||
for ($i=2 ; $i <= $opt_start_field_count ; $i++)
|
||||
{
|
||||
push(@fields,"i${i} int not null");
|
||||
}
|
||||
$field_count= $opt_start_field_count;
|
||||
|
||||
$start_time=new Benchmark;
|
||||
|
||||
$dbh->do("drop table bench" . $server->{'drop_attr'});
|
||||
do_many($dbh,$server->create("bench",\@fields,\@index));
|
||||
|
||||
print "Insert data into the table\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->{AutoCommit} = 0;
|
||||
print "Transactions enabled\n" if ($opt_debug);
|
||||
}
|
||||
|
||||
for ($i=0 ; $i < $opt_row_count ; $i++)
|
||||
{
|
||||
$query="insert into bench values ( " . ("$i," x ($opt_start_field_count-1)) . "$i)";
|
||||
$dbh->do($query) or die $DBI::errstr;
|
||||
}
|
||||
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->commit;
|
||||
$dbh->{AutoCommit} = 1;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
|
||||
print "Time for insert ($opt_row_count)",
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
|
||||
####
|
||||
#### Add fields to the table.
|
||||
####
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$add= int(($opt_field_count-$opt_start_field_count)/$opt_loop_count)+1;
|
||||
|
||||
$multi_add=$server->{'limits'}->{'alter_add_multi_col'} == 1;
|
||||
if ($opt_fast)
|
||||
{
|
||||
$add=1 if (!$server->{'limits'}->{'alter_add_multi_col'});
|
||||
}
|
||||
else
|
||||
{
|
||||
$add=1 if (!$limits->{'alter_add_multi_col'});
|
||||
}
|
||||
|
||||
$count=0;
|
||||
while ($field_count < $opt_field_count)
|
||||
{
|
||||
$count++;
|
||||
$end=min($field_count+$add,$opt_field_count);
|
||||
$fields="";
|
||||
$tmp="ADD ";
|
||||
while ($field_count < $end)
|
||||
{
|
||||
$field_count++;
|
||||
$fields.=",$tmp i${field_count} integer";
|
||||
$tmp="" if (!$multi_add); # Adabas
|
||||
}
|
||||
do_query($dbh,"ALTER TABLE bench " . substr($fields,1));
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$count,
|
||||
$opt_field_count/$add+1));
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
if ($estimated)
|
||||
{ print "Estimated time"; }
|
||||
else
|
||||
{ print "Time"; }
|
||||
print " for alter_table_add ($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
#
|
||||
# If estimated, fix table to have known number of fields
|
||||
#
|
||||
if ($estimated && $field_count < $opt_field_count)
|
||||
{
|
||||
$fields="";
|
||||
$tmp="ADD ";
|
||||
while ($field_count < $opt_field_count)
|
||||
{
|
||||
$field_count++;
|
||||
$fields.=",$tmp i${field_count} integer";
|
||||
$tmp="" if (!$multi_add); # Adabas
|
||||
}
|
||||
do_query($dbh,"ALTER TABLE bench " . substr($fields,1));
|
||||
}
|
||||
|
||||
####
|
||||
#### Test adding and deleting index on the first $opt_start_fields
|
||||
####
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
$count= 0;
|
||||
for ($i=1; $i <= $opt_start_field_count ; $i++)
|
||||
{
|
||||
$dbh->do("CREATE INDEX bench_ind$i ON bench (i${i})") || die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for create_index ($opt_start_field_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=1; $i <= $opt_start_field_count ; $i++)
|
||||
{
|
||||
$dbh->do($server->drop_index("bench","bench_ind$i")) || die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for drop_index ($opt_start_field_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
####
|
||||
#### Delete fields from the table
|
||||
####
|
||||
|
||||
goto skip_dropcol if (!$limits->{'alter_table_dropcol'});
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
$count=0;
|
||||
while ($field_count > $opt_start_field_count)
|
||||
{
|
||||
$count++;
|
||||
$end=max($field_count-$add,$opt_start_field_count);
|
||||
$fields="";
|
||||
while(--$field_count >= $end)
|
||||
{
|
||||
$fields.=",DROP i${field_count}";
|
||||
}
|
||||
$dbh->do("ALTER TABLE bench " . substr($fields,1) . $server->{'drop_attr'})
|
||||
|| die $DBI::errstr;
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$count,
|
||||
$opt_field_count/$add+1));
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
if ($estimated)
|
||||
{ print "Estimated time"; }
|
||||
else
|
||||
{ print "Time"; }
|
||||
print " for alter_table_drop ($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
skip_dropcol:
|
||||
|
||||
################################ END ###################################
|
||||
####
|
||||
#### End of the test...Finally print time used to execute the
|
||||
#### whole test.
|
||||
|
||||
$dbh->do("drop table bench" . $server->{'drop_attr'});
|
||||
|
||||
$dbh->disconnect;
|
||||
|
||||
end_benchmark($start_time);
|
173
sql-bench/test-big-tables.sh
Normal file
173
sql-bench/test-big-tables.sh
Normal file
|
@ -0,0 +1,173 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# Test of extreme tables.
|
||||
#
|
||||
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=1000; # Change this to make test harder/easier
|
||||
$opt_field_count=1000;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$opt_field_count=min($opt_field_count,$limits->{'max_columns'},
|
||||
($limits->{'query_size'}-30)/14);
|
||||
|
||||
$opt_loop_count*=10 if ($opt_field_count<100); # mSQL has so few fields...
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=10;
|
||||
$opt_field_count/=10;
|
||||
}
|
||||
|
||||
|
||||
print "Testing of some unusual tables\n";
|
||||
print "All tests are done $opt_loop_count times with $opt_field_count fields\n\n";
|
||||
|
||||
|
||||
####
|
||||
#### Testing many fields
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
print "Testing table with $opt_field_count fields\n";
|
||||
|
||||
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'});
|
||||
|
||||
my @fields=();
|
||||
my @index=();
|
||||
my $fields="i1";
|
||||
push(@fields,"$fields int");
|
||||
$values= "1," x ($opt_field_count-1) . "1";
|
||||
for ($i=2 ; $i <= $opt_field_count ; $i++)
|
||||
{
|
||||
push(@fields,"i${i} int");
|
||||
$fields.=",i${i}";
|
||||
}
|
||||
|
||||
$start_time=new Benchmark;
|
||||
|
||||
do_many($dbh,$server->create("bench1",\@fields,\@index));
|
||||
$sth = $dbh->do("insert into bench1 values ($values)") or die $DBI::errstr;
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
test_query("Testing select * from table with 1 record",
|
||||
"Time to select_many_fields",
|
||||
"select * from bench1",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
|
||||
if ($limits->{'working_all_fields'})
|
||||
{
|
||||
test_query("Testing select all_fields from table with 1 record",
|
||||
"Time to select_many_fields",
|
||||
"select $fields from bench1",
|
||||
$dbh,$opt_loop_count);
|
||||
}
|
||||
|
||||
test_query("Testing insert VALUES()",
|
||||
"Time to insert_many_fields",
|
||||
"insert into bench1 values($values)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
test_command("Testing insert (all_fields) VALUES()",
|
||||
"Time to insert_many_fields",
|
||||
"insert into bench1 ($fields) values($values)",
|
||||
$dbh,$opt_loop_count);
|
||||
|
||||
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'}) or die $DBI::errstr;
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
################################ END ###################################
|
||||
####
|
||||
#### End of the test...Finally print time used to execute the
|
||||
#### whole test.
|
||||
|
||||
$dbh->disconnect;
|
||||
|
||||
end_benchmark($start_time);
|
||||
|
||||
|
||||
############################ HELP FUNCTIONS ##############################
|
||||
|
||||
sub test_query
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time, $using_transactions);
|
||||
|
||||
print $test_text . "\n";
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
$using_transactions=0;
|
||||
if ($opt_fast && server->{transactions} && $query=~ /^insert /i)
|
||||
{
|
||||
$using_transactions=1;
|
||||
$dbh->{AutoCommit} = 0;
|
||||
print "Transactions enabled\n" if ($opt_debug);
|
||||
}
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
defined(fetch_all_rows($dbh,$query)) or die $DBI::errstr;
|
||||
}
|
||||
if ($using_transactions)
|
||||
{
|
||||
$dbh->commit;
|
||||
$dbh->{AutoCommit} = 1;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
|
||||
sub test_command
|
||||
{
|
||||
my($test_text,$result_text,$query,$dbh,$count)=@_;
|
||||
my($i,$loop_time,$end_time);
|
||||
|
||||
print $test_text . "\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $count ; $i++)
|
||||
{
|
||||
$dbh->do($query) or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print $result_text . "($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
331
sql-bench/test-connect.sh
Normal file
331
sql-bench/test-connect.sh
Normal file
|
@ -0,0 +1,331 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# This test is for testing the speed of connections and sending
|
||||
# data to the client.
|
||||
#
|
||||
# By changing the variable '$opt_loop_count' value you can make this test
|
||||
# easier/harderto your computer to execute. You can also change this value
|
||||
# by using option --loop_value='what_ever_you_like'.
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=100000; # Change this to make test harder/easier
|
||||
$str_length=65000; # This is the length of blob strings in PART:5
|
||||
$max_test=20; # How many times to test if the server is busy
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
# This is the length of blob strings in PART:5
|
||||
$str_length=min($limits->{'max_text_size'},$limits->{'query_size'}-30,$str_length);
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=100;
|
||||
}
|
||||
|
||||
$opt_loop_count=min(1000, $opt_loop_count) if ($opt_tcpip);
|
||||
$small_loop_count=$opt_loop_count/10; # For connect tests
|
||||
|
||||
print "Testing the speed of connecting to the server and sending of data\n";
|
||||
print "Connect tests are done $small_loop_count times and other tests $opt_loop_count times\n\n";
|
||||
|
||||
################################# PART:1 ###################################
|
||||
####
|
||||
#### Start timeing and start connect test..
|
||||
####
|
||||
|
||||
$start_time=new Benchmark;
|
||||
|
||||
print "Testing connection/disconnect\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$errors=0;
|
||||
|
||||
for ($i=0 ; $i < $small_loop_count ; $i++)
|
||||
{
|
||||
print "$i " if (($opt_debug));
|
||||
for ($j=0; $j < $max_test ; $j++)
|
||||
{
|
||||
if ($dbh = DBI->connect($server->{'data_source'}, $opt_user,
|
||||
$opt_password))
|
||||
{
|
||||
$dbh->disconnect;
|
||||
last;
|
||||
}
|
||||
select(undef, undef, undef, 0.01*$j);
|
||||
print "$errors " if (($opt_debug));
|
||||
$errors++;
|
||||
}
|
||||
die "Got error '$DBI::errstr' after $i connects" if ($j == $max_test);
|
||||
$dbh->disconnect;
|
||||
undef($dbh);
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Warning: $errors connections didn't work without a time delay\n" if ($errors);
|
||||
print "Time to connect ($small_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
################################# PART:2 ###################################
|
||||
#### Now we shall do first one connect, then simple select
|
||||
#### (select 1..) and then close connection. This will be
|
||||
#### done $small_loop_count times.
|
||||
|
||||
if ($limits->{'select_without_from'})
|
||||
{
|
||||
print "Test connect/simple select/disconnect\n";
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0; $i < $small_loop_count; $i++)
|
||||
{
|
||||
$dbh = DBI->connect($server->{'data_source'}, $opt_user, $opt_password) || die $DBI::errstr;
|
||||
$sth = $dbh->do("select $i") or die $DBI::errstr;
|
||||
$dbh->disconnect;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for connect+select_simple ($small_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
################################# PART:3 ###################################
|
||||
####
|
||||
#### Okay..Next thing we'll do is a simple select $opt_loop_count times.
|
||||
####
|
||||
|
||||
$dbh = DBI->connect($server->{'data_source'}, $opt_user, $opt_password,
|
||||
{ PrintError => 0}) || die $DBI::errstr;
|
||||
|
||||
if ($limits->{'select_without_from'})
|
||||
{
|
||||
print "Test simple select\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $opt_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select $i") or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_simple ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
###########################################################################
|
||||
#### The same as the previous test, but always execute the same select
|
||||
#### This is done to test the query cache for real simple selects.
|
||||
|
||||
if ($limits->{'select_without_from'})
|
||||
{
|
||||
print "Test simple select\n";
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=0 ; $i < $opt_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select 10000") or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_simple_cache ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
#### First, we'll create a simple table 'bench1'
|
||||
#### Then we shall do $opt_loop_count selects from this table.
|
||||
#### Table will contain very simple data.
|
||||
|
||||
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'});
|
||||
do_many($dbh,$server->create("bench1",
|
||||
["a int NOT NULL",
|
||||
"i int",
|
||||
"s char(10)"],
|
||||
["primary key (a)"]));
|
||||
$sth = $dbh->do("insert into bench1 values(1,100,'AAA')") or die $DBI::errstr;
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
$dbh->disconnect;
|
||||
|
||||
#
|
||||
# First test connect/select/disconnect
|
||||
#
|
||||
print "Testing connect/select 1 row from table/disconnect\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$errors=0;
|
||||
|
||||
for ($i=0 ; $i < $small_loop_count ; $i++)
|
||||
{
|
||||
for ($j=0; $j < $max_test ; $j++)
|
||||
{
|
||||
last if ($dbh = DBI->connect($server->{'data_source'}, $opt_user, $opt_password));
|
||||
$errors++;
|
||||
}
|
||||
die $DBI::errstr if ($j == $max_test);
|
||||
|
||||
$sth = $dbh->do("select a,i,s,$i from bench1") # Select * from table with 1 record
|
||||
or die $DBI::errstr;
|
||||
$dbh->disconnect;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Warning: $errors connections didn't work without a time delay\n" if ($errors);
|
||||
print "Time to connect+select_1_row ($small_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
#
|
||||
# The same test, but without connect/disconnect
|
||||
#
|
||||
print "Testing select 1 row from table\n";
|
||||
|
||||
$dbh = $server->connect();
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0 ; $i < $opt_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select a,i,s,$i from bench1") # Select * from table with 1 record
|
||||
or die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to select_1_row ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
#
|
||||
# Same test (as with one row) but now with a cacheable query
|
||||
#
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0 ; $i < $opt_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select a,i,s from bench1") # Select * from table with 1 record
|
||||
or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time to select_1_row_cache ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
#
|
||||
# The same test, but with 2 rows (not cacheable).
|
||||
#
|
||||
|
||||
print "Testing select 2 rows from table\n";
|
||||
|
||||
$sth = $dbh->do("insert into bench1 values(2,200,'BBB')")
|
||||
or die $DBI::errstr;
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0 ; $i < $opt_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select a,i,s,$i from bench1") # Select * from table with 2 record
|
||||
or die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to select_2_rows ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
#
|
||||
# Simple test to test speed of functions.
|
||||
#
|
||||
|
||||
if ($limits->{'functions'})
|
||||
{
|
||||
print "Test select with aritmetic (+)\n";
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0; $i < $opt_loop_count; $i++)
|
||||
{
|
||||
$sth = $dbh->do("select a+a+a+a+a+a+a+a+a+$i from bench1") or die $DBI::errstr;
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_column+column ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'})
|
||||
or die $DBI::errstr;
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
################################# PART:5 ###################################
|
||||
#### We'll create one table with a single blob field,but with a
|
||||
#### huge record in it and then we'll do $opt_loop_count selects
|
||||
#### from it.
|
||||
|
||||
goto skip_blob_test if (!$limits->{'working_blobs'});
|
||||
|
||||
print "Testing retrieval of big records ($str_length bytes)\n";
|
||||
|
||||
do_many($dbh,$server->create("bench1", ["b blob"], []));
|
||||
$dbh->{LongReadLen}= $str_length; # Set retrieval buffer
|
||||
|
||||
my $string=(A) x ($str_length); # This will make a string $str_length long.
|
||||
$sth = $dbh->prepare("insert into bench1 values(?)") or die $dbh->errstr;
|
||||
$sth->execute($string) or die $sth->errstr;
|
||||
undef($string);
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=0 ; $i < $small_loop_count ; $i++)
|
||||
{
|
||||
$sth = $dbh->prepare("select b,$i from bench1");
|
||||
if (!$sth->execute || !(@row = $sth->fetchrow_array) ||
|
||||
length($row[0]) != $str_length)
|
||||
{
|
||||
warn "$DBI::errstr - ".length($row[0])." - $str_length **\n";
|
||||
}
|
||||
$sth->finish;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to select_big_str ($small_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'})
|
||||
or do
|
||||
{
|
||||
# Fix for Access 2000
|
||||
die $dbh->errstr if (!$server->abort_if_fatal_error());
|
||||
};
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
skip_blob_test:
|
||||
|
||||
################################ END ###################################
|
||||
####
|
||||
#### End of the test...Finally print time used to execute the
|
||||
#### whole test.
|
||||
|
||||
$dbh->disconnect;
|
||||
end_benchmark($start_time);
|
268
sql-bench/test-create.sh
Normal file
268
sql-bench/test-create.sh
Normal file
|
@ -0,0 +1,268 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# This test is for testing how long it takes to create tables,
|
||||
# make a count(*) from them and finally drop the tables. These
|
||||
# commands will be done in different ways in this test.
|
||||
# Using option --fast will drop all the tables in the end
|
||||
# of this test with one command instead of making own
|
||||
# 'drop' command for each and every table.
|
||||
# By changing the variable '$table_amount' value you can make
|
||||
# this test a lot harder/easier for your computer to drive.
|
||||
# Note that when using value bigger than 64 for this variable
|
||||
# will do 'drop table'-command in totally different way because of that
|
||||
# how MySQL handles these commands.
|
||||
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=10000; # Change this to make test harder/easier
|
||||
# This is the default value for the amount of tables used in this test.
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$create_loop_count=$opt_loop_count;
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=100;
|
||||
$create_loop_count/=1000;
|
||||
}
|
||||
|
||||
$max_tables=min($limits->{'max_tables'},$opt_loop_count);
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$max_tables=10;
|
||||
}
|
||||
|
||||
|
||||
print "Testing the speed of creating and dropping tables\n";
|
||||
print "Testing with $max_tables tables and $opt_loop_count loop count\n\n";
|
||||
|
||||
####
|
||||
#### Connect and start timeing
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
|
||||
### Test how the database can handle many tables
|
||||
### Create $max_tables ; Access all off them with a simple query
|
||||
### and then drop the tables
|
||||
|
||||
if ($opt_force) # If tables used in this test exist, drop 'em
|
||||
{
|
||||
print "Okay..Let's make sure that our tables don't exist yet.\n\n";
|
||||
for ($i=1 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
$dbh->do("drop table bench_$i" . $server->{'drop_attr'});
|
||||
}
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
print "Testing create of tables\n";
|
||||
|
||||
$loop_time=$start_time=new Benchmark;
|
||||
|
||||
for ($i=1 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
if (do_many($dbh,$server->create("bench_$i",
|
||||
["i int NOT NULL",
|
||||
"d double",
|
||||
"f float",
|
||||
"s char(10)",
|
||||
"v varchar(100)"],
|
||||
["primary key (i)"])))
|
||||
{
|
||||
# Got an error; Do cleanup
|
||||
for ($i=1 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
$dbh->do("drop table bench_$i" . $server->{'drop_attr'});
|
||||
}
|
||||
die "Test aborted";
|
||||
}
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for create_MANY_tables ($max_tables): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
#### Here comes $max_tables couples of cont(*) to the tables.
|
||||
#### We'll check how long it will take...
|
||||
####
|
||||
|
||||
print "Accessing tables\n";
|
||||
|
||||
if ($limits->{'group_functions'})
|
||||
{
|
||||
$query="select count(*) from ";
|
||||
$type="select_group_when_MANY_tables";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query="select * from ";
|
||||
$type="select_when_MANY_tables";
|
||||
}
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=1 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("$query bench_$i") or die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to $type ($max_tables): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
####
|
||||
#### Now we are going to drop $max_tables tables;
|
||||
####
|
||||
|
||||
print "Testing drop\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
if ($opt_fast && $server->{'limits'}->{'multi_drop'} &&
|
||||
$server->{'limits'}->{'query_size'} > 11+$max_tables*10)
|
||||
{
|
||||
my $query="drop table bench_1";
|
||||
for ($i=2 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
$query.=",bench_$i";
|
||||
}
|
||||
$sth = $dbh->do($query . $server->{'drop_attr'}) or die $DBI::errstr;
|
||||
}
|
||||
else
|
||||
{
|
||||
for ($i=1 ; $i <= $max_tables ; $i++)
|
||||
{
|
||||
$sth = $dbh->do("drop table bench_$i" . $server->{'drop_attr'})
|
||||
or die $DBI::errstr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for drop_table_when_MANY_tables ($max_tables): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
#### We'll do first one 'create table' and then we'll drop it
|
||||
#### away immediately. This loop shall be executed $opt_loop_count
|
||||
#### times.
|
||||
|
||||
print "Testing create+drop\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
for ($i=1 ; $i <= $create_loop_count ; $i++)
|
||||
{
|
||||
do_many($dbh,$server->create("bench_$i",
|
||||
["i int NOT NULL",
|
||||
"d double",
|
||||
"f float",
|
||||
"s char(10)",
|
||||
"v varchar(100)"],
|
||||
["primary key (i)"]));
|
||||
$sth = $dbh->do("drop table bench_$i" . $server->{'drop_attr'}) or die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for create+drop ($create_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
#
|
||||
# Same test, but with a table with many keys
|
||||
#
|
||||
|
||||
my @fields=(); my @keys=();
|
||||
$keys=min($limits->{'max_index'},16); # 16 is more than enough
|
||||
$seg= min($limits->{'max_index_parts'},$keys,16); # 16 is more than enough
|
||||
|
||||
# Make keys on the most important types
|
||||
@types=(0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1); # A 1 for each char field
|
||||
push(@fields,"field1 tinyint not null");
|
||||
push(@fields,"field2 mediumint not null");
|
||||
push(@fields,"field3 smallint not null");
|
||||
push(@fields,"field4 char(16) not null");
|
||||
push(@fields,"field5 integer not null");
|
||||
push(@fields,"field6 float not null");
|
||||
push(@fields,"field7 double not null");
|
||||
for ($i=8 ; $i <= $keys ; $i++)
|
||||
{
|
||||
push(@fields,"field$i char(5) not null"); # Should be relatively fair
|
||||
}
|
||||
|
||||
# Let first key contain many segments
|
||||
my $query="primary key (";
|
||||
for ($i= 1 ; $i <= $seg ; $i++)
|
||||
{
|
||||
$query.= "field$i,";
|
||||
}
|
||||
substr($query,-1)=")";
|
||||
push (@keys,$query);
|
||||
|
||||
#Create other keys
|
||||
for ($i=2 ; $i <= $keys ; $i++)
|
||||
{
|
||||
push(@keys,"index index$i (field$i)");
|
||||
}
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($i=1 ; $i <= $opt_loop_count ; $i++)
|
||||
{
|
||||
do_many($dbh,$server->create("bench_$i", \@fields, \@index));
|
||||
$dbh->do("drop table bench_$i" . $server->{'drop_attr'}) or die $DBI::errstr;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for create_key+drop ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
####
|
||||
#### End of benchmark
|
||||
####
|
||||
|
||||
$dbh->disconnect; # close connection
|
||||
end_benchmark($start_time);
|
1801
sql-bench/test-insert.sh
Normal file
1801
sql-bench/test-insert.sh
Normal file
File diff suppressed because it is too large
Load diff
455
sql-bench/test-select.sh
Normal file
455
sql-bench/test-select.sh
Normal file
|
@ -0,0 +1,455 @@
|
|||
#!@PERL@
|
||||
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# Test of selecting on keys that consist of many parts
|
||||
#
|
||||
##################### Standard benchmark inits ##############################
|
||||
|
||||
use Cwd;
|
||||
use DBI;
|
||||
use Getopt::Long;
|
||||
use Benchmark;
|
||||
|
||||
$opt_loop_count=10000;
|
||||
$opt_medium_loop_count=1000;
|
||||
$opt_small_loop_count=10;
|
||||
$opt_regions=6;
|
||||
$opt_groups=100;
|
||||
|
||||
$pwd = cwd(); $pwd = "." if ($pwd eq '');
|
||||
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
|
||||
|
||||
$columns=min($limits->{'max_columns'},500,($limits->{'query_size'}-50)/24,
|
||||
$limits->{'max_conditions'}/2-3);
|
||||
|
||||
if ($opt_small_test)
|
||||
{
|
||||
$opt_loop_count/=10;
|
||||
$opt_medium_loop_count/=10;
|
||||
$opt_small_loop_count/=10;
|
||||
$opt_groups/=10;
|
||||
}
|
||||
|
||||
print "Testing the speed of selecting on keys that consist of many parts\n";
|
||||
print "The test-table has $opt_loop_count rows and the test is done with $columns ranges.\n\n";
|
||||
|
||||
####
|
||||
#### Connect and start timeing
|
||||
####
|
||||
|
||||
$dbh = $server->connect();
|
||||
$start_time=new Benchmark;
|
||||
|
||||
####
|
||||
#### Create needed tables
|
||||
####
|
||||
|
||||
goto select_test if ($opt_skip_create);
|
||||
|
||||
print "Creating table\n";
|
||||
$dbh->do("drop table bench1" . $server->{'drop_attr'});
|
||||
|
||||
do_many($dbh,$server->create("bench1",
|
||||
["region char(1) NOT NULL",
|
||||
"idn integer(6) NOT NULL",
|
||||
"rev_idn integer(6) NOT NULL",
|
||||
"grp integer(6) NOT NULL"],
|
||||
["primary key (region,idn)",
|
||||
"unique (region,rev_idn)",
|
||||
"unique (region,grp,idn)"]));
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"LOCK TABLES bench1 WRITE");
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(1,\$dbh);
|
||||
}
|
||||
|
||||
####
|
||||
#### Insert $opt_loop_count records with
|
||||
#### region: "A" -> "E"
|
||||
#### idn: 0 -> count
|
||||
#### rev_idn: count -> 0,
|
||||
#### grp: distributed values 0 - > count/100
|
||||
####
|
||||
|
||||
print "Inserting $opt_loop_count rows\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->{AutoCommit} = 0;
|
||||
}
|
||||
|
||||
$query="insert into bench1 values (";
|
||||
$half_done=$opt_loop_count/2;
|
||||
for ($id=0,$rev_id=$opt_loop_count-1 ; $id < $opt_loop_count ; $id++,$rev_id--)
|
||||
{
|
||||
$grp=$id*3 % $opt_groups;
|
||||
$region=chr(65+$id%$opt_regions);
|
||||
do_query($dbh,"$query'$region',$id,$rev_id,$grp)");
|
||||
if ($id == $half_done)
|
||||
{ # Test with different insert
|
||||
$query="insert into bench1 (region,idn,rev_idn,grp) values (";
|
||||
}
|
||||
}
|
||||
|
||||
if ($opt_fast && $server->{transactions})
|
||||
{
|
||||
$dbh->commit;
|
||||
$dbh->{AutoCommit} = 1;
|
||||
}
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time to insert ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"UNLOCK TABLES");
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh,"bench1");
|
||||
}
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"LOCK TABLES bench1 WRITE");
|
||||
}
|
||||
|
||||
####
|
||||
#### Do some selects on the table
|
||||
####
|
||||
|
||||
select_test:
|
||||
|
||||
if ($limits->{'group_functions'})
|
||||
{
|
||||
my ($tmp); $tmp=1000;
|
||||
print "Test if the database has a query cache\n";
|
||||
|
||||
# First ensure that the table is read into memory
|
||||
fetch_all_rows($dbh,"select sum(idn+$tmp),sum(rev_idn-$tmp) from bench1");
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($tests=0 ; $tests < $opt_loop_count ; $tests++)
|
||||
{
|
||||
fetch_all_rows($dbh,"select sum(idn+100),sum(rev_idn-100) from bench1");
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_cache ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
# If the database has a query cache, the following loop should be much
|
||||
# slower than the previous loop
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
for ($tests=0 ; $tests < $opt_loop_count ; $tests++)
|
||||
{
|
||||
fetch_all_rows($dbh,"select sum(idn+$tests),sum(rev_idn-$tests) from bench1");
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_cache2 ($opt_loop_count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
}
|
||||
|
||||
|
||||
print "Testing big selects on the table\n";
|
||||
$loop_time=new Benchmark;
|
||||
$rows=0;
|
||||
for ($i=0 ; $i < $opt_small_loop_count ; $i++)
|
||||
{
|
||||
$grp=$i*11 % $opt_groups;
|
||||
$region=chr(65+$i%($opt_regions+1)); # One larger to test misses
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region='$region'");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region='$region' and idn=$i");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region='$region' and rev_idn=$i");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region='$region' and grp=$grp");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region>='B' and region<='C' and grp=$grp");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where region>='B' and region<='E' and grp=$grp");
|
||||
$rows+=fetch_all_rows($dbh,"select idn from bench1 where grp=$grp"); # This is hard
|
||||
}
|
||||
$count=$opt_small_loop_count*7;
|
||||
|
||||
$end_time=new Benchmark;
|
||||
print "Time for select_big ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
# Test select with many OR's
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$tmpvar=0;
|
||||
$count=0;
|
||||
$estimated=0;
|
||||
$max_and_conditions=$limits->{'max_conditions'}/2;
|
||||
$rows=0;
|
||||
|
||||
for ($i=0 ; $i < $opt_small_loop_count ; $i++)
|
||||
{
|
||||
$region=chr(65+$i%($opt_regions+1)); # One larger to test out-of-regions
|
||||
$query="select * from bench1 where ";
|
||||
$or_part="grp = 1";
|
||||
$or_part2="region='A' and grp=1";
|
||||
|
||||
for ($j=1 ; $j < $columns; $j++)
|
||||
{
|
||||
$tmpvar^= ((($tmpvar + 63) + $j)*3 % 100000);
|
||||
$tmp=$tmpvar % $opt_groups;
|
||||
$tmp_region=chr(65+$tmpvar%$opt_regions);
|
||||
$or_part.=" or grp=$tmp";
|
||||
if ($j < $max_and_conditions)
|
||||
{
|
||||
$or_part2.=" or region='$tmp_region' and grp=$tmp";
|
||||
}
|
||||
}
|
||||
$or_part="region='$region' and ($or_part)";
|
||||
|
||||
# Same query, but use 'func_extra_in_num' instead.
|
||||
if ($limits->{'func_extra_in_num'})
|
||||
{
|
||||
$in_part=$or_part;
|
||||
$in_part=~ s/ = / IN \(/;
|
||||
$in_part=~ s/ or grp=/,/g;
|
||||
$in_part.= ")";
|
||||
defined($found=fetch_all_rows($dbh,$query . $in_part)) || die $DBI::errstr;
|
||||
$rows+=$found;
|
||||
$count++;
|
||||
}
|
||||
for ($j=0; $j < 10 ; $j++)
|
||||
{
|
||||
$rows+=fetch_all_rows($dbh,$query . $or_part);
|
||||
$rows+=fetch_all_rows($dbh,$query . $or_part2);
|
||||
# Do it a little harder by setting a extra range
|
||||
$rows+=fetch_all_rows($dbh,"$query ($or_part) and idn < 50");
|
||||
$rows+=fetch_all_rows($dbh,"$query (($or_part) or (region='A' and grp < 10)) and region <='B'")
|
||||
}
|
||||
$count+=$j*4;
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_small_loop_count));
|
||||
}
|
||||
|
||||
print_time($estimated);
|
||||
print " for select_range ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
#
|
||||
# Testing MIN() and MAX() on keys
|
||||
#
|
||||
|
||||
if ($limits->{'group_functions'} && $limits->{'order_by_unused'})
|
||||
{
|
||||
$loop_time=new Benchmark;
|
||||
$count=0;
|
||||
$estimated=0;
|
||||
for ($tests=0 ; $tests < $opt_loop_count ; $tests++)
|
||||
{
|
||||
$count+=7;
|
||||
$grp=$tests*3 % $opt_groups;
|
||||
$region=chr(65+$tests % $opt_regions);
|
||||
if ($limits->{'group_func_sql_min_str'})
|
||||
{
|
||||
fetch_all_rows($dbh,"select min(region) from bench1");
|
||||
fetch_all_rows($dbh,"select max(region) from bench1");
|
||||
fetch_all_rows($dbh,"select min(region),max(region) from bench1");
|
||||
}
|
||||
fetch_all_rows($dbh,"select min(rev_idn) from bench1 where region='$region'");
|
||||
|
||||
fetch_all_rows($dbh,"select max(grp) from bench1 where region='$region'");
|
||||
fetch_all_rows($dbh,"select max(idn) from bench1 where region='$region' and grp=$grp");
|
||||
if ($limits->{'group_func_sql_min_str'})
|
||||
{
|
||||
fetch_all_rows($dbh,"select max(region) from bench1 where region<'$region'");
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,
|
||||
$tests+1, $opt_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for min_max_on_key ($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$count=0;
|
||||
$estimated=0;
|
||||
for ($tests=0 ; $tests < $opt_loop_count ; $tests++)
|
||||
{
|
||||
$count+=5;
|
||||
$grp=$tests*3 % $opt_groups;
|
||||
$region=chr(65+$tests % $opt_regions);
|
||||
fetch_all_rows($dbh,"select count(*) from bench1 where region='$region'");
|
||||
fetch_all_rows($dbh,"select count(*) from bench1 where region='$region' and grp=$grp");
|
||||
fetch_all_rows($dbh,"select count(*) from bench1 where region>'$region'");
|
||||
fetch_all_rows($dbh,"select count(*) from bench1 where region<='$region'");
|
||||
fetch_all_rows($dbh,"select count(*) from bench1 where region='$region' and grp>$grp");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,
|
||||
$tests+1, $opt_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_on_key ($count): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
|
||||
|
||||
}
|
||||
|
||||
if ($limits->{'group_functions'})
|
||||
{
|
||||
$loop_time=new Benchmark;
|
||||
$rows=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$rows+=fetch_all_rows($dbh,"select grp,count(*) from bench1 group by grp");
|
||||
}
|
||||
$end_time=new Benchmark;
|
||||
print "Time for count_group_on_key_parts ($i:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
|
||||
if ($limits->{'group_distinct_functions'})
|
||||
{
|
||||
print "Testing count(distinct) on the table\n";
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct region) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_key_prefix ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct grp) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
# Workaround mimer's behavior
|
||||
if ($limits->{'multi_distinct'})
|
||||
{
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select count(distinct grp),count(distinct rev_idn) from bench1");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_2 ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select region,count(distinct idn) from bench1 group by region");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group_on_key ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select grp,count(distinct idn) from bench1 group by grp");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group_on_key_parts ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
for ($i=0 ; $i < $opt_medium_loop_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select grp,count(distinct rev_idn) from bench1 group by grp");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$opt_medium_loop_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_group ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
|
||||
$loop_time=new Benchmark;
|
||||
$rows=$estimated=$count=0;
|
||||
$test_count=$opt_medium_loop_count/10;
|
||||
for ($i=0 ; $i < $test_count ; $i++)
|
||||
{
|
||||
$count++;
|
||||
$rows+=fetch_all_rows($dbh,"select idn,count(distinct region) from bench1 group by idn");
|
||||
$end_time=new Benchmark;
|
||||
last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i+1,
|
||||
$test_count));
|
||||
}
|
||||
print_time($estimated);
|
||||
print " for count_distinct_big ($count:$rows): " .
|
||||
timestr(timediff($end_time, $loop_time),"all") . "\n";
|
||||
}
|
||||
|
||||
####
|
||||
#### End of benchmark
|
||||
####
|
||||
|
||||
if ($opt_lock_tables)
|
||||
{
|
||||
do_query($dbh,"UNLOCK TABLES");
|
||||
}
|
||||
if (!$opt_skip_delete)
|
||||
{
|
||||
do_query($dbh,"drop table bench1" . $server->{'drop_attr'});
|
||||
}
|
||||
|
||||
if ($opt_fast && defined($server->{vacuum}))
|
||||
{
|
||||
$server->vacuum(0,\$dbh);
|
||||
}
|
||||
|
||||
$dbh->disconnect; # close connection
|
||||
|
||||
end_benchmark($start_time);
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue