0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2024-11-22 05:46:15 +00:00
libsql/tools/fuzz/dicts/sql.dict
ad hoc 45daf74055
Fuzz parser (#1205)
* add gitignore

* add fuzz

* add gitignore
2024-03-13 10:17:31 +00:00

408 lines
12 KiB
Plaintext

# AFL dictionary for SQL
# ----------------------
#
# Modeled based on SQLite documentation, contains some number of SQLite
# extensions. Other dialects of SQL may benefit from customized dictionaries.
#
# If you append @1 to the file name when loading this dictionary, afl-fuzz
# will also additionally load a selection of pragma keywords that are very
# specific to SQLite (and are probably less interesting from the security
# standpoint, because they are usually not allowed in non-privileged
# contexts).
#
# Created by Michal Zalewski <lcamtuf@google.com>
#
function_abs=" abs(1)"
function_affinity=" affinity(1)"
function_avg=" avg(1)"
function_bm25=" bm25(1)"
function_changes=" changes()"
function_char=" char(1)"
function_coalesce=" coalesce(1,1)"
function_count=" count(1)"
function_date=" date(1,1,1)"
function_datetime=" datetime(1,1,1)"
function_decimal=" decimal(1,1)"
function_glob=" glob(1,1)"
function_group_concat=" group_concat(1,1)"
function_hex=" hex(1)"
function_ifnull=" ifnull(1,1)"
function_instr=" instr(1,1)"
function_json=" json(1)"
function_json_array=" json_array(1,1,1)"
function_json_array_length=" json_array_length(1,1)"
function_json_extract=" json_extract(1,1)"
function_json_group_array=" json_group_array(1)"
function_json_group_object=" json_group_object(1)"
function_json_insert=" json_insert(1,1,1)"
function_json_object=" json_object(1,1,1,1)"
function_json_parse=" json_parse(1)"
function_json_patch=" json_patch(1,1)"
function_json_quote=" json_quote(1)"
function_json_remove=" json_remove(1,1)"
function_json_replace=" json_replace(1,1,1)"
function_json_set=" json_set(1,1,1)"
function_json_test1=" json_test1(1)"
function_json_type=" json_type(1,1)"
function_json_valid=" json_valid(1)"
function_julianday=" julianday(1,1,1)"
function_last_insert_rowid=" last_insert_rowid()"
function_length=" length(1)"
function_like=" like(1,1)"
function_likelihood=" likelihood(1,1)"
function_likely=" likely(1)"
function_load_extension=" load_extension(1,1)"
function_lower=" lower(1)"
function_ltrim=" ltrim(1,1)"
function_max=" max(1,1)"
function_min=" min(1,1)"
function_nullif=" nullif(1,1)"
function_printf=" printf(1,1)"
function_quote=" quote(1)"
function_random=" random()"
function_randomblob=" randomblob(1)"
function_replace=" replace(1,1,1)"
function_round=" round(1,1)"
function_rtrim=" rtrim(1,1)"
function_soundex=" soundex(1)"
function_sqlite_compileoption_get=" sqlite_compileoption_get(1)"
function_sqlite_compileoption_used=" sqlite_compileoption_used(1)"
function_sqlite_source_id=" sqlite_source_id()"
function_sqlite_version=" sqlite_version()"
function_strftime=" strftime(1,1,1,1)"
function_substr=" substr(1,1,1)"
function_sum=" sum(1)"
function_time=" time(1,1,1)"
function_total=" total(1)"
function_total_changes=" total_changes()"
function_trim=" trim(1,1)"
function_typeof=" typeof(1)"
function_unicode=" unicode(1)"
function_unlikely=" unlikely(1)"
function_upper=" upper(1)"
function_varchar=" varchar(1)"
function_zeroblob=" zeroblob(1)"
keyword_ABORT="ABORT"
keyword_ACTION="ACTION"
keyword_ADD="ADD"
keyword_AFTER="AFTER"
keyword_ALL="ALL"
keyword_ALTER="ALTER"
keyword_ANALYZE="ANALYZE"
keyword_AND="AND"
keyword_ANDtrue="AND true"
keyword_ANDfalse="AND false"
keyword_AS="AS"
keyword_ASC="ASC"
keyword_ATTACH="ATTACH"
keyword_AUTOINCREMENT="AUTOINCREMENT"
keyword_BEFORE="BEFORE"
keyword_BEGIN="BEGIN"
keyword_BETWEEN="BETWEEN"
keyword_BY="BY"
keyword_CASCADE="CASCADE"
keyword_CASE="CASE"
keyword_CAST="CAST"
keyword_CHECK="CHECK"
keyword_COLLATE="COLLATE"
keyword_COLLATEnocase="COLLATE nocase"
keyword_COLLATEbinary="COLLATE binary"
keyword_COLUMN="COLUMN"
keyword_COMMIT="COMMIT"
keyword_CONFLICT="CONFLICT"
keyword_CONSTRAINT="CONSTRAINT"
keyword_CREATE="CREATE"
keyword_CROSS="CROSS"
keyword_CURRENT_DATE="CURRENT_DATE"
keyword_CURRENT_TIME="CURRENT_TIME"
keyword_CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"
keyword_DATABASE="DATABASE"
keyword_DEFAULT="DEFAULT"
keyword_DEFERRABLE="DEFERRABLE"
keyword_DEFERRED="DEFERRED"
keyword_DELETE="DELETE"
keyword_DESC="DESC"
keyword_DETACH="DETACH"
keyword_DISTINCT="DISTINCT"
keyword_DO="DO"
keyword_DROP="DROP"
keyword_EACH="EACH"
keyword_ELSE="ELSE"
keyword_END="END"
keyword_ESCAPE="ESCAPE"
keyword_EXCEPT="EXCEPT"
keyword_EXCLUSIVE="EXCLUSIVE"
keyword_EXISTS="EXISTS"
keyword_EXPLAIN="EXPLAIN"
keyword_EQP="EXPLAIN QUERY PLAN"
keyword_FAIL="FAIL"
keyword_FOR="FOR"
keyword_FOREIGN="FOREIGN"
keyword_FROM="FROM"
keyword_FULL="FULL"
keyword_GLOB="GLOB"
keyword_GROUP="GROUP"
keyword_HAVING="HAVING"
keyword_IF="IF"
keyword_IGNORE="IGNORE"
keyword_IMMEDIATE="IMMEDIATE"
keyword_IN="IN"
keyword_INDEX="INDEX"
keyword_INDEXED="INDEXED"
keyword_INITIALLY="INITIALLY"
keyword_INNER="INNER"
keyword_INSERT="INSERT"
keyword_INSTEAD="INSTEAD"
keyword_INTERSECT="INTERSECT"
keyword_INTO="INTO"
keyword_IS="IS"
keyword_ISNULL="ISNULL"
keyword_JOIN="JOIN"
keyword_KEY="KEY"
keyword_LEFT="LEFT"
keyword_LIKE="LIKE"
keyword_LIMIT="LIMIT"
keyword_MATCH="MATCH"
keyword_NATURAL="NATURAL"
keyword_NO="NO"
keyword_NOT="NOT"
keyword_NOTINDEXED="NOT INDEXED"
keyword_NOTHING="NOTHING"
keyword_NOTNULL="NOTNULL"
keyword_NULL="NULL"
keyword_OF="OF"
keyword_OFFSET="OFFSET"
keyword_ON="ON"
keyword_ONCONFLICT="ON CONFLICT"
keyword_OR="OR"
keyword_ORtrue="OR true"
keyword_ORfalse="OR false"
keyword_ORDER="ORDER"
keyword_ORDERBY="ORDER BY"
keyword_OUTER="OUTER"
keyword_PLAN="PLAN"
keyword_PRAGMA="PRAGMA"
keyword_PRIMARY="PRIMARY"
keyword_PRIMARYKEY="PRIMARY KEY"
keyword_QUERY="QUERY"
keyword_RAISE="RAISE"
keyword_RECURSIVE="RECURSIVE"
keyword_REFERENCES="REFERENCES"
keyword_REGEXP="REGEXP"
keyword_REINDEX="REINDEX"
keyword_RELEASE="RELEASE"
keyword_RENAME="RENAME"
keyword_REPLACE="REPLACE"
keyword_RESTRICT="RESTRICT"
keyword_RIGHT="RIGHT"
keyword_ROLLBACK="ROLLBACK"
keyword_ROW="ROW"
keyword_SAVEPOINT="SAVEPOINT"
keyword_SELECT="SELECT"
keyword_SET="SET"
keyword_TABLE="TABLE"
keyword_TEMP="TEMP"
keyword_TEMPORARY="TEMPORARY"
keyword_THEN="THEN"
keyword_TO="TO"
keyword_TRANSACTION="TRANSACTION"
keyword_TRIGGER="TRIGGER"
keyword_UNION="UNION"
keyword_UNIONALL="UNION ALL"
keyword_UNIQUE="UNIQUE"
keyword_UPDATE="UPDATE"
keyword_USING="USING"
keyword_VACUUM="VACUUM"
keyword_VALUES="VALUES"
keyword_VIEW="VIEW"
keyword_VIRTUAL="VIRTUAL"
keyword_WHEN="WHEN"
keyword_WHERE="WHERE"
keyword_WITH="WITH"
keyword_WITHOUT="WITHOUT"
keyword_WITHOUTROWID="WITHOUT ROWID"
operator_concat=" || "
operator_ebove_eq=" >="
snippet_1eq1=" 1=1"
snippet_at=" @1"
snippet_backticks=" `a`"
snippet_blob=" blob"
snippet_brackets=" [a]"
snippet_colon=" :1"
snippet_comment=" /* */"
snippet_date="2001-01-01"
snippet_dollar=" $1"
snippet_dotref=" a.b"
snippet_fmtY="%Y"
snippet_int=" int"
snippet_neg1=" -1"
snippet_pair=" a,b"
snippet_parentheses=" (1)"
snippet_plus2days="+2 days"
snippet_qmark=" ?1"
snippet_semicolon=" ;"
snippet_star=" *"
snippet_string_pair=" \"a\",\"b\""
snippet_cte1=" WITH c(x) AS (values(1)) "
string_dbl_q=" \"a\""
string_escaped_q=" 'a''b'"
string_single_q=" 'a'"
pragma_application_id@1=" application_id"
pragma_auto_vacuum@1=" auto_vacuum"
pragma_automatic_index@1=" automatic_index"
pragma_busy_timeout@1=" busy_timeout"
pragma_cache_size@1=" cache_size"
pragma_cache_spill@1=" cache_spill"
pragma_case_sensitive_like@1=" case_sensitive_like"
pragma_checkpoint_fullfsync@1=" checkpoint_fullfsync"
pragma_collation_list@1=" collation_list"
pragma_compile_options@1=" compile_options"
pragma_count_changes@1=" count_changes"
pragma_data_store_directory@1=" data_store_directory"
pragma_database_list@1=" database_list"
pragma_default_cache_size@1=" default_cache_size"
pragma_defer_foreign_keys@1=" defer_foreign_keys"
pragma_empty_result_callbacks@1=" empty_result_callbacks"
pragma_encoding@1=" encoding"
pragma_foreign_key_check@1=" foreign_key_check"
pragma_foreign_key_list@1=" foreign_key_list"
pragma_foreign_keys@1=" foreign_keys"
pragma_freelist_count@1=" freelist_count"
pragma_full_column_names@1=" full_column_names"
pragma_fullfsync@1=" fullfsync"
pragma_ignore_check_constraints@1=" ignore_check_constraints"
pragma_incremental_vacuum@1=" incremental_vacuum"
pragma_index_info@1=" index_info"
pragma_index_list@1=" index_list"
pragma_integrity_check@1=" integrity_check"
pragma_journal_mode@1=" journal_mode"
pragma_journal_size_limit@1=" journal_size_limit"
pragma_legacy_file_format@1=" legacy_file_format"
pragma_locking_mode@1=" locking_mode"
pragma_max_page_count@1=" max_page_count"
pragma_mmap_size@1=" mmap_size"
pragma_page_count@1=" page_count"
pragma_page_size@1=" page_size"
pragma_parser_trace@1=" parser_trace"
pragma_query_only@1=" query_only"
pragma_quick_check@1=" quick_check"
pragma_read_uncommitted@1=" read_uncommitted"
pragma_recursive_triggers@1=" recursive_triggers"
pragma_reverse_unordered_selects@1=" reverse_unordered_selects"
pragma_schema_version@1=" schema_version"
pragma_secure_delete@1=" secure_delete"
pragma_short_column_names@1=" short_column_names"
pragma_shrink_memory@1=" shrink_memory"
pragma_soft_heap_limit@1=" soft_heap_limit"
pragma_stats@1=" stats"
pragma_synchronous@1=" synchronous"
pragma_table_info@1=" table_info"
pragma_temp_store@1=" temp_store"
pragma_temp_store_directory@1=" temp_store_directory"
pragma_threads@1=" threads"
pragma_user_version@1=" user_version"
pragma_vdbe_addoptrace@1=" vdbe_addoptrace"
pragma_vdbe_debug@1=" vdbe_debug"
pragma_vdbe_listing@1=" vdbe_listing"
pragma_vdbe_trace@1=" vdbe_trace"
pragma_wal_autocheckpoint@1=" wal_autocheckpoint"
pragma_wal_checkpoint@1=" wal_checkpoint"
pragma_writable_schema@1=" writable_schema"
cli_archive="\x0a.archive "
cli_auth="\x0a.auth 1\x0a"
cli_backup="\x0a.backup "
cli_bail="\x0a.bail 1\x0a"
cli_binary="\x0a.binary 1\x0a"
cli_cd="\x0a.cd "
cli_changee="\x0a.changes 1\x0a"
cli_check="\x0a.check "
cli_clone="\x0a.clone "
cli_databases="\x0a.databases\x0a"
cli_dbconfig="\x0a.dbconfig\x0a"
cli_dbinfo="\x0a.dbinfo\x0a"
cli_dump="\x0a.dump "
cli_echo="\x0a.echo 1\x0a"
cli_eqp1="\x0a.eqp on\x0a"
cli_eqp2="\x0a.eqp full\x0a"
cli_eqp3="\x0a.eqp trace\x0a"
cli_eqp4="\x0a.eqp off\x0a"
cli_excel="\x0a.excel\x0a"
cli_exit="\x0a.exit "
cli_expert="\x0a.expert\x0a"
cli_explain="\x0a.explain "
cli_filectrl="\x0a.filectrl "
cli_fullschema="\x0a.fullschema --indent\x0a"
cli_headers="\x0a.headers 1\x0a"
cli_help="\x0a.help "
cli_import="\x0a.import "
cli_imposter="\x0a.imposter "
cli_indexes="\x0a.indexes "
cli_limit="\x0a.limit "
cli_lint="\x0a.lint "
cli_load="\x0a.load "
cli_log="\x0a.log stdout\x0a"
cli_mode0="\x0a.mode ascii\x0a"
cli_mode1="\x0a.mode box\x0a"
cli_mode2="\x0a.mode csv\x0a"
cli_mode3="\x0a.mode column\x0a"
cli_mode4="\x0a.mode html\x0a"
cli_mode5="\x0a.mode insert\x0a"
cli_mode6="\x0a.mode json\x0a"
cli_mode7="\x0a.mode line\x0a"
cli_mode8="\x0a.mode list\x0a"
cli_mode9="\x0a.mode list\x0a"
cli_modeA="\x0a.mode quote\x0a"
cli_modeB="\x0a.mode table\x0a"
cli_modeC="\x0a.mode tabs\x0a"
cli_modeD="\x0a.mode tcl\x0a"
cli_null="\x0a.null NULL\x0a"
cli_once="\x0a.once stdout\x0a"
cli_open="\x0a.open -hexdb\x0a"
cli_output="\x0a.output stdout\x0a"
cli_param0="\x0a.param set $x 5\x0a"
cli_param1="\x0a.param unset $x\x0a"
cli_param2="\x0a.param clear\x0a"
cli_param3="\x0a.param init\x0a"
cli_param4="\x0a.param list\x0a"
cli_print="\x0a.print "
cli_progress="\x0a.progress 10\x0a"
cli_prompt="\x0a.prompt abc 123\x0a"
cli_quit="\x0a.quit\x0a"
cli_read="\x0a.read "
cli_recover="\x0a.recover\x0a"
cli_restore="\x0a.restore "
cli_save="\x0a.save "
cli_scanstats="\x0a.scanstats 1\x0a"
cli_schema="\x0a.schema \x0a"
cli_selftest="\x0a.selftest \x0a"
cli_separator="\x0a.separtor , |\x0a"
cli_sha3sum0="\x0a.sha3sum %\x0a"
cli_sha3sum1="\x0a.sha3sum --sha3-224 %\x0a"
cli_shell="\x0a.shell echo hi\x0a"
cli_show="\x0a.show\x0a"
cli_stats0="\x0a.stats 1\x0a"
cli_stats1="\x0a.stats vmstep\x0a"
cli_system="\x0a.system echo hi\x0a"
cli_tables="\x0a.tables \x0a"
cli_testcase="\x0a.testcase one\x0a"
cli_testctrl0="\x0a.testctrl\x0a"
cli_timeout="\x0a.timeout 100\x0a"
cli_timer="\x0a.timer 1\x0a"
cli_trace0="\x0a.trace stdout\x0a"
cli_trace1="\x0a.trace --expanded\x0a"
cli_trace2="\x0a.trace --stmt\x0a"
cli_trace3="\x0a.trace --profile\x0a"
cli_trace4="\x0a.trace --row\x0a"
cli_trace5="\x0a.trace --close\x0a"
cli_vfsinfo="\x0a.vfsinfo \x0a"
cli_vfslist="\x0a.vfslist\x0a"
cli_vfsname="\x0a.vfsname\x0a"
cli_width="\x0a.width 10 -10 20 -20\x0a"