File indexing completed on 2024-05-12 04:41:30
0001 /* This file is part of the KDE project 0002 Copyright (C) 2004 Martin Ellis <martin.ellis@kdemail.net> 0003 Copyright (C) 2004-2016 Jarosław Staniek <staniek@kde.org> 0004 0005 This program is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU Library General Public 0007 License as published by the Free Software Foundation; either 0008 version 2 of the License, or (at your option) any later version. 0009 0010 This program is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 Library General Public License for more details. 0014 0015 You should have received a copy of the GNU Library General Public License 0016 along with this program; see the file COPYING. If not, write to 0017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0018 * Boston, MA 02110-1301, USA. 0019 */ 0020 0021 #include "SqliteDriver.h" 0022 0023 //! The list is created by hand based on parse.c from SQLite 3.13.0. 0024 //! @todo Proces patterns like this from https://www.sqlite.org/draft/tokenreq.html 0025 //! to extract tokens automatically: 0026 //! "SQLite shall recognize the *-character sequenence "*" in any combination of upper and lower case letters as the keyword token *." 0027 const char* const SqliteDriver::keywords[] = { 0028 "ABORT", 0029 "ACTION", 0030 "ADD", 0031 "AFTER", 0032 "ALL", 0033 "ALTER", 0034 "ANALYZE", 0035 "AND", 0036 "ANY", 0037 "AS", 0038 "ASC", 0039 "ATTACH", 0040 "AUTOINCR", 0041 "BEFORE", 0042 "BEGIN", 0043 "BETWEEN", 0044 "BLOB", 0045 "BY", 0046 "CASCADE", 0047 "CASE", 0048 "CAST", 0049 "CHECK", 0050 "COLLATE", 0051 "COLUMN", 0052 "COMMIT", 0053 "CONFLICT", 0054 "CONSTRAINT", 0055 "CREATE", 0056 "CURRENT_DATE", 0057 "CURRENT_TIME", 0058 "CURRENT_TIMESTAMP", 0059 "DATABASE", 0060 "DEFAULT", 0061 "DEFERRABLE", 0062 "DEFERRED", 0063 "DELETE", 0064 "DESC", 0065 "DETACH", 0066 "DISTINCT", 0067 "DROP", 0068 "EACH", 0069 "ELSE", 0070 "END", 0071 "ESCAPE", 0072 "EXCEPT", 0073 "EXCLUSIVE", 0074 "EXISTS", 0075 "EXPLAIN", 0076 "FAIL", 0077 "FLOAT", 0078 "FOR", 0079 "FOREIGN", 0080 "FROM", 0081 "FULL", 0082 "GLOB", 0083 "GROUP", 0084 "HAVING", 0085 "ID", 0086 "IF", 0087 "IGNORE", 0088 "IMMEDIATE", 0089 "IN", 0090 "INDEX", 0091 "INDEXED", 0092 "INITIALLY", 0093 "INNER", 0094 "INSERT", 0095 "INSTEAD", 0096 "INTEGER", 0097 "INTERSECT", 0098 "INTO", 0099 "IS", 0100 "ISNULL", 0101 "JOIN", 0102 "KEY", 0103 "LEFT", 0104 "LIKE", 0105 "LIMIT", 0106 "MATCH", 0107 "NATURAL", 0108 "NO", 0109 "NOT", 0110 "NOTNULL", 0111 "NULL", 0112 "OF", 0113 "OFFSET", 0114 "ON", 0115 "OR", 0116 "ORDER", 0117 "OUTER", 0118 "PLAN", 0119 "PRAGMA", 0120 "PRIMARY", 0121 "QUERY", 0122 "RAISE", 0123 "RECURSIVE", 0124 "REFERENCES", 0125 "REGEXP", 0126 "REINDEX", 0127 "RELEASE", 0128 "RENAME", 0129 "REPLACE", 0130 "RESTRICT", 0131 "RIGHT", 0132 "ROLLBACK", 0133 "ROW", 0134 "SAVEPOINT", 0135 "SELECT", 0136 "SET", 0137 "STRING", 0138 "TABLE", 0139 "TEMP", 0140 "TEMPORARY", 0141 "THEN", 0142 "TO", 0143 "TRANSACTION", 0144 "TRIGGER", 0145 "UNION", 0146 "UNIQUE", 0147 "UPDATE", 0148 "USING", 0149 "VACUUM", 0150 "VALUES", 0151 "VARIABLE", 0152 "VIEW", 0153 "VIRTUAL", 0154 "WHEN", 0155 "WHERE", 0156 "WITH", 0157 "WITHOUT", 0158 nullptr 0159 };