>From the command line, I see:
sqlite> SELECT section, count(*) FROM 'index' WHERE name MATCH '"*'
GROUP BY section;
Error: malformed MATCH expression: ["*]
But when I do a prepare/step, I get a much less informative message:
int result = sqlite3_prepare_v2(routeDb, sql, -1, &compiledStatement, NULL );
NSAssert2( SQLITE_OK == result, @"Error preparing statment <%s>: %s",
sql, sqlite3_errmsg( routeDb ) );
---> preparation works fine
while ( SQLITE_ROW == (result = sqlite3_step(compiledStatement)) ) {
// ...
}
NSAssert3( result == SQLITE_DONE, @"Unexpected result of stepping
<%s>. %d '%s'", sql, result, sqlite3_errmsg( routeDb ) );
---> This returns a very generic message:
Unexpected result of stepping <SELECT section, count(*) FROM
'index' WHERE name MATCH '"*' GROUP BY section;>. 1 'SQL logic error
or missing database'
In this case, the user typed a double quote into an FTS3 search field,
which isn't valid, but I want to get the message that says that, not
'SQL logic error'!
Is there a better API I can use to get validation of the match syntax?
Thanks,
Sam
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users