Releases: ctripcorp/SQLlin
Releases · ctripcorp/SQLlin
1.4.0
1.3.2
All
- Update
Kotlin
's version to1.9.24
sqllin-dsl
- Now, you can annotate properties with
kotlinx.serialization.transmint
in your data classes to ignore these properties when serialization or deserialization andTable
classes generation.
sqllin-processor
- Update
KSP
's version to1.9.24-1.0.20
1.3.1
sqllin-dsl
- Fix a crash when a data class doesn't contain any
String
element. - Fix the issue#81 about insert and query null values
- Fix some wrongs about generation of SQL syntax
sqllin-driver
- Breaking change: Remove the deprecated API
CommonCursor#forEachRows
- Breaking change: the
getInt
,getLong
,getFloat
andgetDouble
will throw an exception when the value is NULL in SQLite on JVM and native platforms, like on Android in older versions. - Add a new public API:
CommonCursor#isNull
, for check if the value is NULL in SQLite
1.3.0
All
- Update
Kotlin
's version to1.9.23
sqllin-dsl
- Update
kotlinx.coroutines
's version to1.8.0
- Update
kotlinx.serialization
's version to1.6.3
- Modify the SQL statements' splicing method, that fixed the issue#77 that users can't read/write special symbols as the values in SQL statements.
- Performance optimization, use
ArrayDeque
to replace the LinkedList for SQL statements management (self-implemented). - The parameter
enableSimpleSQLLog
of theDatabase
's constructors of isfalse
by default.
sqllin-driver
- Update the
sqlite-jdbc
's version to3.45.3.0
sqllin-processor
- Update
KSP
's version to1.9.23-1.0.20
1.2.4
1.2.3
All
- Update
Kotlin
's version to1.9.21
sqllin-dsl
- Now, the
ORDER_BY
clause could ignore theOrderByWay
parameter like SQL. - Optimize the performance in concurrent scenarios. Some types have changed, but users don't need to change the code.
- Now,
SelectStatement
has been changed to lazy deserialization mode, that's means the first time you invoke the
functionSelectStatement#getResults
will consume more time. But, correspondingly, executingSELECT
statements will be faster. - Add the
enableSimpleSQLLog
parameter toDatabase
's constructor, default bytrue
, if you set it to
false
, you can disable the simple SQL logout.
sqllin-driver
- Deprecated the public API
CommonCursor#forEachRows
, you can replace withCommonCursor#forEachRow
. This
change just for fixing a typo :). And, theCommonCursor#forEachRows
will be removed in next version.
sqllin-processor
- Update
KSP
's version to1.9.21-1.0.15
1.2.2
All
- Update
Kotlin
's version to1.9.20
sqllin-dsl
- Add the new native target support:
linuxArm64
- Add the new API
Database#suspendedScope
, it could be used to ensure concurrency safety(#55) - Begin with this version, sqllin-dsl depends on kotlinx.coroutines version
1.7.3
- Breaking change: Remove the public class
DBEntity
, we have deprecated it in version1.1.1
sqllin-driver
- Add the new native target support:
linuxArm64
sqllin-processor
- Update
KSP
's version to1.9.20-1.0.13
- Fix the bug for when the code that is generated by
sqllin-processor
can't be compiled(#58)
1.2.1
All
- Update
Kotlin
's version to1.9.10
sqllin-driver
- Fix the problem: Native driver does not respect isReadOnly. On native platforms.
Now, if a user setisReadOnly = true
inDatabaseConfigurtaion
, the database file must exist. And, if opening in read-write mode
fails due to OS-level permissions, the user will get a read-only database, and if the user try to modify the database, will receive
a runtime exception. Thanks for @nbransby
sqllin-processor
- Update
KSP
's version to1.9.10-1.0.13
- Now, if your data class with
@DBRow
can't be solved or imported successfully(UsingKSNode#validate
to judge), the
ClauseProcessor
would try to resolve it in second round