Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* Fix: the default `lookasideSlotSize` and `lookasideSlotCount` of `DSLDBConfiguration` disabled SQLite's lookaside memory allocator on Kotlin/Native and on Android 9 and higher, as those of `DatabaseConfiguration` did; they are now -1, see sqllin-driver
* Fix: on the JVM and Kotlin/Native, a blocking `database { }` scope on another thread could take the TEMP table and triggers that count the changes of observed queries with it, as its transaction can be open while they are created, the connection being locked for each statement rather than for a transaction: its rollback removed them, so the next write failed with "no such table", and once another table was observed, the changes of the table they belonged to were no longer counted. The tracker now creates them again where they are gone, and counts a change of their tables. A failure to tell the observed queries of a change no longer takes the place of the failure of the statement that made it. The guide to observed queries and the documentation of `Database#invoke` and `Database#observe` now say to write through `suspendedScope` while queries are observed, as they run on another thread, and that a blocking scope isn't serialized with them
* Fix documentation: the example of the guide to concurrency safety called `database suspendScope { }`, which doesn't exist, in a function that wasn't a `suspend` one; it is `database suspendedScope { }`, in a `suspend` function
* Fix documentation: the query guide called `SelectStatement.getResult()`, which doesn't exist; the method is `getResults()`

### sqllin-driver

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ fun sample() {
table SELECT WHERE (age LTE 5) GROUP_BY age HAVING (upper(name) EQ "TOM") ORDER_BY (age to DESC) LIMIT 2 OFFSET 1
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person.name)
}
}
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ fun sample() {
table SELECT WHERE (age LTE 5) GROUP_BY age HAVING (upper(name) EQ "TOM") ORDER_BY (age to DESC) LIMIT 2 OFFSET 1
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person.name)
}
}
Expand Down
2 changes: 1 addition & 1 deletion sqllin-dsl/doc/getting-start-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ val database = Database(
除此之外,你还可以使用 `DSLDBConfiguration`,它允许你在 `create` 和 `upgrade` 回调中使用类型安全的 SQL DSL,而不是原始的 SQL 字符串:

```kotlin
import com.ctrip.sqllin.driver.DSLDBConfiguration
import com.ctrip.sqllin.dsl.DSLDBConfiguration
import com.ctrip.sqllin.dsl.Database

val database = Database(
Expand Down
4 changes: 2 additions & 2 deletions sqllin-dsl/doc/getting-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ only work on Android 9 and higher. And, because [sqlite-jdbc](https://github.com
Alternatively, you can use `DSLDBConfiguration` which allows you to use the type-safe SQL DSL in the `create` and `upgrade` callbacks instead of raw SQL strings:

```kotlin
import com.ctrip.sqllin.driver.DSLDBConfiguration
import com.ctrip.sqllin.dsl.DSLDBConfiguration
import com.ctrip.sqllin.dsl.Database

val database = Database(
Expand Down Expand Up @@ -399,7 +399,7 @@ Use `@CollateNoCase` to make string comparisons case-insensitive:
```kotlin
import com.ctrip.sqllin.dsl.annotation.DBRow
import com.ctrip.sqllin.dsl.annotation.PrimaryKey
import com.ctrip.sqllin.dsl.annotation.NoCase
import com.ctrip.sqllin.dsl.annotation.CollateNoCase
import com.ctrip.sqllin.dsl.annotation.Unique
import kotlinx.serialization.Serializable

Expand Down
2 changes: 1 addition & 1 deletion sqllin-dsl/doc/modify-database-and-transaction-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import kotlinx.serialization.Serializable
@Serializable
data class Person(
@PrimaryKey(autoIncrement = true)
val id: Long = 0,
val id: Long? = null,
val name: String,
val age: Int,
)
Expand Down
2 changes: 1 addition & 1 deletion sqllin-dsl/doc/modify-database-and-transaction.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import kotlinx.serialization.Serializable
@Serializable
data class Person(
@PrimaryKey(autoIncrement = true)
val id: Long = 0,
val id: Long? = null,
val name: String,
val age: Int,
)
Expand Down
4 changes: 2 additions & 2 deletions sqllin-dsl/doc/query-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fun sample() {
selectStatement = table SELECT X
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person)
}
}
Expand Down Expand Up @@ -76,7 +76,7 @@ fun sample() {
selectStatement = table SELECT WHERE (age LTE 5) GROUP_BY age HAVING (upper(name) EQ "TOM") ORDER_BY (age to DESC) LIMIT 2 OFFSET 1
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person)
}
}
Expand Down
4 changes: 2 additions & 2 deletions sqllin-dsl/doc/query.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ fun sample() {
selectStatement = table SELECT X
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person)
}
}
Expand Down Expand Up @@ -78,7 +78,7 @@ fun sample() {
selectStatement = table SELECT WHERE (age LTE 5) GROUP_BY age HAVING (upper(name) EQ "TOM") ORDER_BY (age to DESC) LIMIT 2 OFFSET 1
}
}
selectStatement.getResult().forEach { person ->
selectStatement.getResults().forEach { person ->
println(person)
}
}
Expand Down