diff options
Diffstat (limited to 'sql-bench/limits')
24 files changed, 8681 insertions, 0 deletions
diff --git a/sql-bench/limits/Adabas.cfg b/sql-bench/limits/Adabas.cfg new file mode 100644 index 00000000000..939d1731006 --- /dev/null +++ b/sql-bench/limits/Adabas.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/Adabas.comment b/sql-bench/limits/Adabas.comment new file mode 100644 index 00000000000..d36d05047cc --- /dev/null +++ b/sql-bench/limits/Adabas.comment @@ -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 diff --git a/sql-bench/limits/Informix.cfg b/sql-bench/limits/Informix.cfg new file mode 100644 index 00000000000..85e79b53f21 --- /dev/null +++ b/sql-bench/limits/Informix.cfg @@ -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 diff --git a/sql-bench/limits/Informix.comment b/sql-bench/limits/Informix.comment new file mode 100644 index 00000000000..557db012dd8 --- /dev/null +++ b/sql-bench/limits/Informix.comment @@ -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 diff --git a/sql-bench/limits/access.cfg b/sql-bench/limits/access.cfg new file mode 100644 index 00000000000..19e59e98168 --- /dev/null +++ b/sql-bench/limits/access.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/access.comment b/sql-bench/limits/access.comment new file mode 100644 index 00000000000..f4a419aa159 --- /dev/null +++ b/sql-bench/limits/access.comment @@ -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! diff --git a/sql-bench/limits/access_odbc.cfg b/sql-bench/limits/access_odbc.cfg new file mode 100644 index 00000000000..fc06ce97fac --- /dev/null +++ b/sql-bench/limits/access_odbc.cfg @@ -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
+multi_value_insert=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
diff --git a/sql-bench/limits/db2.cfg b/sql-bench/limits/db2.cfg new file mode 100644 index 00000000000..31280fbe643 --- /dev/null +++ b/sql-bench/limits/db2.cfg @@ -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=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=no # 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=125 # 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=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=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=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_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_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=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_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=error # 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=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=yes # Function HOUR +func_odbc_hour_time=no # Function ANSI HOUR +func_odbc_ifnull=no # 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=no # Function MONTH +func_odbc_monthname=no # Function MONTHNAME +func_odbc_now=no # Function NOW +func_odbc_pi=no # Function PI +func_odbc_power=yes # Function POWER +func_odbc_quarter=no # 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=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=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=yes # 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=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=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=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 ... +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=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=18 # column name length +max_columns=500 # Columns in table +max_conditions=418 # OR and AND in WHERE +max_expressions=9820 # simple expressions +max_index=+64 # max index +max_index_length=255 # index length +max_index_name=18 # index name length +max_index_part_length=254 # max index part length +max_index_parts=15 # index parts +max_index_varchar_part_length=251 # 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=18 # select alias name length +max_stack_expression=1363 # 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=4000 # 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=no # 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=19662 # query size +quote_with_"=no # Allows ' and " as string markers +recursive_subqueries=22 # recursive subqueries +remember_end_space=no # Remembers end space in char() +remember_end_space_varchar=yes # Remembers end space in varchar() +repeat_string_size=4000 # return string size from function +right_outer_join=yes # right outer join +select_constants=yes # Select constants +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=IBM DB2 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=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=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)=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=yes # 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=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=4000 # constant string size in where diff --git a/sql-bench/limits/empress.cfg b/sql-bench/limits/empress.cfg new file mode 100644 index 00000000000..67256adb3bf --- /dev/null +++ b/sql-bench/limits/empress.cfg @@ -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 diff --git a/sql-bench/limits/empress.comment b/sql-bench/limits/empress.comment new file mode 100644 index 00000000000..b60bf4f19a9 --- /dev/null +++ b/sql-bench/limits/empress.comment @@ -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 .... + diff --git a/sql-bench/limits/interbase.cfg b/sql-bench/limits/interbase.cfg new file mode 100644 index 00000000000..7427208df5d --- /dev/null +++ b/sql-bench/limits/interbase.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/mimer.cfg b/sql-bench/limits/mimer.cfg new file mode 100644 index 00000000000..d18e43aa892 --- /dev/null +++ b/sql-bench/limits/mimer.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/ms-sql.cfg b/sql-bench/limits/ms-sql.cfg new file mode 100644 index 00000000000..b9cad41c1a1 --- /dev/null +++ b/sql-bench/limits/ms-sql.cfg @@ -0,0 +1,506 @@ +#This file is automaticly generated by crash-me 1.45 + +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 rowid +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 +comment_/**/=yes # /* */ as comment +comment_//=no # // as comment +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=no # 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=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_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=with 'table.index' # 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_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_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=yes # 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=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_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=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_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=7 # big expressions +max_char_size=8000 # max char() size +max_column_name=128 # column name length +max_columns=1024 # Columns in table +max_conditions=10922 # OR and AND in WHERE +max_expressions=2783 # 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 +multi_value_insert=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=no # 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_[=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() +repeat_string_size=8000 # 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=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 7.00 - 7.00.842 (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.* +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=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_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_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=no # 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=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 diff --git a/sql-bench/limits/ms-sql65.cfg b/sql-bench/limits/ms-sql65.cfg new file mode 100644 index 00000000000..488ce14d992 --- /dev/null +++ b/sql-bench/limits/ms-sql65.cfg @@ -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 diff --git a/sql-bench/limits/msql.cfg b/sql-bench/limits/msql.cfg new file mode 100644 index 00000000000..028eb4cd399 --- /dev/null +++ b/sql-bench/limits/msql.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/mysql-3.22.cfg b/sql-bench/limits/mysql-3.22.cfg new file mode 100644 index 00000000000..6f0ee740c5a --- /dev/null +++ b/sql-bench/limits/mysql-3.22.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/mysql-3.23.cfg b/sql-bench/limits/mysql-3.23.cfg new file mode 100644 index 00000000000..aebb879a574 --- /dev/null +++ b/sql-bench/limits/mysql-3.23.cfg @@ -0,0 +1,511 @@ +#This file is automaticly generated by crash-me 1.47 + +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 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=+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 +comment_/**/=yes # /* */ as comment +comment_//=no # // as comment +compute=no # Compute +connections=30 # 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=no # crash me safe +crash_me_version=1.47 # 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) +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 +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_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=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_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=31 # 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=859 # 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=859 # 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 +multi_value_insert=yes # Value lists in INSERT +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 +odbc_left_outer_join=yes # 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=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=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() +repeat_string_size=1048576 # return string size from function +right_outer_join=no # 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.19 beta 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.* +tempoary_table=yes # 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_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 +views=no # views +where_string_size=1048540 # constant string size in where diff --git a/sql-bench/limits/mysql.cfg b/sql-bench/limits/mysql.cfg new file mode 100644 index 00000000000..aebb879a574 --- /dev/null +++ b/sql-bench/limits/mysql.cfg @@ -0,0 +1,511 @@ +#This file is automaticly generated by crash-me 1.47 + +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 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=+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 +comment_/**/=yes # /* */ as comment +comment_//=no # // as comment +compute=no # Compute +connections=30 # 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=no # crash me safe +crash_me_version=1.47 # 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) +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 +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_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=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_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=31 # 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=859 # 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=859 # 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 +multi_value_insert=yes # Value lists in INSERT +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 +odbc_left_outer_join=yes # 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=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=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() +repeat_string_size=1048576 # return string size from function +right_outer_join=no # 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.19 beta 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.* +tempoary_table=yes # 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_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 +views=no # views +where_string_size=1048540 # constant string size in where diff --git a/sql-bench/limits/oracle.cfg b/sql-bench/limits/oracle.cfg new file mode 100644 index 00000000000..b910f91fb05 --- /dev/null +++ b/sql-bench/limits/oracle.cfg @@ -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 +multi_value_insert=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 diff --git a/sql-bench/limits/pg.cfg b/sql-bench/limits/pg.cfg new file mode 100644 index 00000000000..493d5f68150 --- /dev/null +++ b/sql-bench/limits/pg.cfg @@ -0,0 +1,504 @@ +#This file is automaticly generated by crash-me 1.45 + +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=no # 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=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 rowid +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 +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.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=yes # cross join (same as from a,b) +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) +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=yes # 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_%=yes # Function MOD as % +func_extra_&=no # 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=yes # 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=yes # 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_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)=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_|=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=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=no # 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=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=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=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_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=no # Function NULLIF +func_sql_octet_length=no # 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=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=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=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 +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=no # inner join +insert_empty_string=yes # 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=1 # Value of logical operation (1=1) +max_big_expressions=10 # big expressions +max_char_size=8104 # 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=2704 # index length +max_index_name=+512 # index name length +max_index_part_length=2704 # max index part length +max_index_parts=16 # index parts +max_index_varchar_part_length=2704 # index varchar part length +max_row_length=7949 # max table row length (without blobs) +max_row_length_with_null=7949 # 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=8104 # max text or blob size +max_unique_index=+64 # unique indexes +max_varchar_size=8104 # 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 +multi_value_insert=no # Value lists in INSERT +natural_join=yes # natural join +natural_join_incompat=yes # natural join (incompatible lists) +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 index +null_num_expr=yes # 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=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_"=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() +repeat_string_size=+8000000 # return string size from function +right_outer_join=no # 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 7.0 # 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.* +tempoary_table=yes # temporary tables +transactions=yes # transactions +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_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_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_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=no # 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_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=16777182 # constant string size in where diff --git a/sql-bench/limits/pg.comment b/sql-bench/limits/pg.comment new file mode 100644 index 00000000000..c693817cc91 --- /dev/null +++ b/sql-bench/limits/pg.comment @@ -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 diff --git a/sql-bench/limits/solid-nt4.cfg b/sql-bench/limits/solid-nt4.cfg new file mode 100644 index 00000000000..3a5c387c7d2 --- /dev/null +++ b/sql-bench/limits/solid-nt4.cfg @@ -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 diff --git a/sql-bench/limits/solid.cfg b/sql-bench/limits/solid.cfg new file mode 100644 index 00000000000..88638a1a876 --- /dev/null +++ b/sql-bench/limits/solid.cfg @@ -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 diff --git a/sql-bench/limits/sybase.cfg b/sql-bench/limits/sybase.cfg new file mode 100644 index 00000000000..910c8e9f3b1 --- /dev/null +++ b/sql-bench/limits/sybase.cfg @@ -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 |