Sqlite3: fixed problems with date

theide: sql hightlighting adjustment (keywords reduced)

git-svn-id: svn://ultimatepp.org/upp/trunk@1293 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-06-10 12:50:17 +00:00
parent 8529661e4a
commit a5f7622ac4
3 changed files with 24 additions and 75 deletions

View file

@ -393,81 +393,18 @@ void CodeEditor::InitKeywords()
NULL
};
static const char *sql[] = {
"ACCESSIBLE", "ADD", "ALL",
"ALTER", "ANALYZE", "AND",
"AS", "ASC", "ASENSITIVE",
"BEFORE", "BETWEEN", "BIGINT",
"BINARY", "BLOB", "BOTH", "BEGIN", "END",
"BY", "CALL", "CASCADE",
"CASE", "CHANGE", "CHAR",
"CHARACTER", "CHECK", "COLLATE",
"COLUMN", "CONDITION", "CONSTRAINT",
"CONTINUE", "CONVERT", "CREATE",
"CROSS", "CURRENT_DATE", "CURRENT_TIME",
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR",
"DATABASE", "DATABASES", "DAY_HOUR",
"DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND",
"DEC", "DECIMAL", "DECLARE",
"DEFAULT", "DELAYED", "DELETE",
"DESC", "DESCRIBE", "DETERMINISTIC",
"DISTINCT", "DISTINCTROW", "DIV",
"DOUBLE", "DROP", "DUAL",
"EACH", "ELSE", "ELSEIF",
"ENCLOSED", "ESCAPED", "EXISTS",
"EXIT", "EXPLAIN", "FALSE",
"FETCH", "FLOAT", "FLOAT4",
"FLOAT8", "FOR", "FORCE",
"FOREIGN", "FROM", "FULLTEXT",
"GRANT", "GROUP", "HAVING",
"HIGH_PRIORITY", "HOUR_MICROSECOND", "HOUR_MINUTE",
"HOUR_SECOND", "IF", "IGNORE",
"IN", "INDEX", "INFILE",
"INNER", "INOUT", "INSENSITIVE",
"INSERT", "INT", "INT1",
"INT2", "INT3", "INT4",
"INT8", "INTEGER", "INTERVAL",
"INTO", "IS", "ITERATE",
"JOIN", "KEY", "KEYS",
"KILL", "LEADING", "LEAVE",
"LEFT", "LIKE", "LIMIT",
"LINEAR", "LINES", "LOAD",
"LOCALTIME", "LOCALTIMESTAMP", "LOCK",
"LONG", "LONGBLOB", "LONGTEXT",
"LOOP", "LOW_PRIORITY", "MASTER_SSL_VERIFY_SERVER_CERT",
"MATCH", "MEDIUMBLOB", "MEDIUMINT",
"MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND",
"MINUTE_SECOND", "MOD", "MODIFIES",
"NATURAL", "NOT", "NO_WRITE_TO_BINLOG",
"NULL", "NUMERIC", "ON",
"OPTIMIZE", "OPTION", "OPTIONALLY",
"OR", "ORDER", "OUT",
"OUTER", "OUTFILE", "PRECISION",
"PRIMARY", "PROCEDURE", "PURGE",
"RANGE", "READ", "READS",
"READ_WRITE", "REAL", "REFERENCES",
"REGEXP", "RELEASE", "RENAME",
"REPEAT", "REPLACE", "REQUIRE",
"RESTRICT", "RETURN", "REVOKE",
"RIGHT", "RLIKE", "SCHEMA",
"SCHEMAS", "SECOND_MICROSECOND", "SELECT",
"SENSITIVE", "SEPARATOR", "SET",
"SHOW", "SMALLINT", "SPATIAL",
"SPECIFIC", "SQL", "SQLEXCEPTION",
"SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT",
"SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", "SSL",
"STARTING", "STRAIGHT_JOIN", "TABLE",
"TERMINATED", "THEN", "TINYBLOB",
"TINYINT", "TINYTEXT", "TO",
"TRAILING", "TRIGGER", "TRUE",
"UNDO", "UNION", "UNIQUE",
"UNLOCK", "UNSIGNED", "UPDATE",
"USAGE", "USE", "USING",
"UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP",
"VALUES", "VARBINARY", "VARCHAR",
"VARCHARACTER", "VARYING", "WHEN",
"WHERE", "WHILE", "WITH",
"WRITE", "XOR", "YEAR_MONTH",
"ZEROFILL",
"ABORT", "ADD", "AFTER", "ALL", "ALTER", "ANALYZE", "AND", "AS", "ATTACH",
"AUTOINCREMENT", "BEFORE", "BEGIN", "BETWEEN", "BY", "CASCADE", "CASE", "CHECK",
"COLLATE", "COLUMN", "COMMIT", "CONFLICT", "CONSTRAINT", "CREATE", "CROSS",
"CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DATABASE", "DEFAULT",
"DELETE", "DESC", "DETACH", "DISTINCT", "DROP", "EACH", "END", "EXCEPT",
"EXCLUSIVE", "EXISTS", "FOREIGN", "FROM", "FULL", "GROUP", "HAVING",
"IN", "INDEX", "INITIALLY", "INNER", "INSERT", "INSTEAD", "INTERSECT", "INTO",
"IS", "ISNULL", "JOIN", "KEY", "LEFT", "LIKE", "LIMIT", "MATCH", "NATURAL", "NOT",
"NOTNULL", "NULL", "OF", "OFFSET", "ON", "OR", "ORDER", "OUTER", "PRIMARY", "RAISE",
"REFERENCES", "REPLACE", "RESTRICT", "UPDATE", "SET", "WHERE", "NEW", "OLD", "TRIGGER",
"SELECT",
NULL
};
static const char *javan[] = {
NULL

View file

@ -42,6 +42,7 @@ private:
Link<Sqlite3Connection> clink;
void Reset();
void Cancel();
public:
bool Open(const char *filename);

View file

@ -251,6 +251,9 @@ void Sqlite3Connection::GetColumn(int i, Ref f) const {
const char *s = (const char *)sqlite3_column_text(current_stmt, i);
if(strlen(s) >= 19)
f = Value(Time(atoi(s), atoi(s + 5), atoi(s + 8), atoi(s + 11), atoi(s + 14), atoi(s + 17)));
else
if(strlen(s) >= 10)
f = Value(ToTime(Date(atoi(s), atoi(s + 5), atoi(s + 8))));
else
f = Null;
}
@ -319,6 +322,12 @@ void Sqlite3Session::Reset()
s->Reset();
}
void Sqlite3Session::Cancel()
{
for(Sqlite3Connection *s = clink.GetNext(); s != &clink; s = s->GetNext())
s->Cancel();
}
Sqlite3Session::Sqlite3Session()
{
db = NULL;
@ -340,6 +349,7 @@ void Sqlite3Session::Begin() {
}
void Sqlite3Session::Commit() {
Cancel();
static const char commit[] = "COMMIT;";
if(trace)
*trace << commit << "\n";
@ -349,6 +359,7 @@ void Sqlite3Session::Commit() {
}
void Sqlite3Session::Rollback() {
Cancel();
static const char rollback[] = "ROLLBACK;";
if(trace)
*trace << rollback << "\n";