dodo
dodo copied to clipboard
Searching with "@" crashes sqlite FTS
dodo | org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (fts5: syntax error near "@")
dodo | at org.sqlite.core.DB.newSQLException(DB.java:1012)
dodo | at org.sqlite.core.DB.newSQLException(DB.java:1024)
dodo | at org.sqlite.core.DB.execute(DB.java:866)
dodo | at org.sqlite.jdbc3.JDBC3PreparedStatement.executeQuery(JDBC3PreparedStatement.java:77)
dodo | at com.squareup.sqldelight.sqlite.driver.SqliteJdbcPreparedStatement.executeQuery$sqldelight_jdbc_driver(JdbcDriver.kt:144)
dodo | at com.squareup.sqldelight.sqlite.driver.JdbcDriver.executeQuery(JdbcDriver.kt:71)
dodo | at com.jakewharton.dodo.db.dodo.TweetIndexQueriesImpl$SearchQuery.execute(DatabaseImpl.kt:424)
dodo | at com.squareup.sqldelight.Query.executeAsList(Query.kt:134)
dodo | at com.jakewharton.dodo.Dodo$search$2.invokeSuspend(app.kt:71)
dodo | at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
dodo | at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
dodo | 2021-03-02 22:47:03.886 [nioEventLoopGroup-4-1] ERROR ktor.application - Unhandled: GET - /
dodo | org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (fts5: syntax error near "@")
dodo | at org.sqlite.core.DB.newSQLException(DB.java:1012)
dodo | at org.sqlite.core.DB.newSQLException(DB.java:1024)
dodo | at org.sqlite.core.DB.execute(DB.java:866)
dodo | at org.sqlite.jdbc3.JDBC3PreparedStatement.executeQuery(JDBC3PreparedStatement.java:77)
dodo | at com.squareup.sqldelight.sqlite.driver.SqliteJdbcPreparedStatement.executeQuery$sqldelight_jdbc_driver(JdbcDriver.kt:144)
dodo | at com.squareup.sqldelight.sqlite.driver.JdbcDriver.executeQuery(JdbcDriver.kt:71)
dodo | at com.jakewharton.dodo.db.dodo.TweetIndexQueriesImpl$SearchQuery.execute(DatabaseImpl.kt:424)
dodo | at com.squareup.sqldelight.Query.executeAsList(Query.kt:134)
dodo | at com.jakewharton.dodo.Dodo$search$2.invokeSuspend(app.kt:71)
dodo | at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
dodo | at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
dodo | at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
search for anything with "@" in it.
https://sqlite.org/fts5.html#fts5_strings
We need to automatically quote input