Skip to content

Commit bad20e0

Browse files
authored
Merge pull request #39 from qiaoyuang/main
Fix some bugs about Kotlin update
2 parents 2bd3e3c + 2785fee commit bad20e0

File tree

21 files changed

+46
-30
lines changed

21 files changed

+46
-30
lines changed

CHANGELOG.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,24 @@
22

33
- Date format: YYYY-MM-dd
44

5-
## v1.1.1 / 2023-xx-xx
5+
## v1.1.1 / 2023-08-12
66

7-
### sqllin-dsl
7+
### All
88

9-
* *Breaking Change*: Remove the public API `DBEntity`([#36](https://github.com/ctripcorp/SQLlin/pull/36)), any data classes used in _sqllin-dsl_ don't need to extend `DBEntity` anymore.
9+
* Update `Kotlin`'s version to `1.9.0`
10+
11+
### sqllin-dsl
1012

13+
* Deprecated the public API `DBEntity`([#36](https://github.com/ctripcorp/SQLlin/pull/36), [#37](https://github.com/ctripcorp/SQLlin/pull/37)), any data classes used in _sqllin-dsl_ don't need to extend `DBEntity` anymore
1114

1215
### sqllin-driver
1316

1417
* Fix a bug about empty `ByteArray` on native platforms([#30](https://github.com/ctripcorp/SQLlin/pull/30))
1518

19+
### sqllin-processor
20+
21+
* Update `KSP`'s version to `1.9.0-1.0.13`
22+
1623
## v1.1.0 / 2023-06-06
1724

1825
### All

gradle.properties

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
VERSION=1.1.0
1+
VERSION=1.1.1
22
GROUP=com.ctrip.kotlin
33

4-
kotlinVersion=1.8.20
5-
kspVersion=1.8.20-1.0.11
4+
kotlinVersion=1.9.0
5+
kspVersion=1.9.0-1.0.13
66

77
#Maven Publish Information
88
githubURL=https://github.com/ctripcorp/SQLlin

sqllin-driver/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ kotlin {
5555
val commonTest by getting {
5656
dependencies {
5757
implementation(kotlin("test"))
58-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
58+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
5959
}
6060
}
6161
val androidMain by getting {

sqllin-driver/src/appleMain/kotlin/com/ctrip/sqllin/driver/platform/UtilsApple.kt

+3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616

1717
package com.ctrip.sqllin.driver.platform
1818

19+
import kotlinx.cinterop.BetaInteropApi
1920
import kotlinx.cinterop.ByteVar
2021
import kotlinx.cinterop.CPointer
22+
import kotlinx.cinterop.ExperimentalForeignApi
2123
import platform.Foundation.NSString
2224
import platform.Foundation.create
2325

@@ -26,6 +28,7 @@ import platform.Foundation.create
2628
* @author yqiao
2729
*/
2830

31+
@OptIn(ExperimentalForeignApi::class, BetaInteropApi::class)
2932
internal actual fun bytesToString(bv: CPointer<ByteVar>): String = NSString.create(uTF8String = bv).toString()
3033

3134
internal actual inline val separatorChar: Char

sqllin-driver/src/linuxMain/kotlin/com/ctrip/sqllin/driver/platform/Lock.kt

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.ctrip.sqllin.driver.platform
1818

1919
import kotlinx.cinterop.Arena
20+
import kotlinx.cinterop.ExperimentalForeignApi
2021
import kotlinx.cinterop.alloc
2122
import kotlinx.cinterop.ptr
2223
import platform.posix.PTHREAD_MUTEX_RECURSIVE
@@ -37,6 +38,7 @@ import platform.posix.pthread_mutexattr_t
3738
* @author yaqiao
3839
*/
3940

41+
@OptIn(ExperimentalForeignApi::class)
4042
internal actual class Lock actual constructor() {
4143

4244
private val arena = Arena()

sqllin-driver/src/linuxMain/kotlin/com/ctrip/sqllin/driver/platform/UtilsLinux.kt

+2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ package com.ctrip.sqllin.driver.platform
22

33
import kotlinx.cinterop.ByteVar
44
import kotlinx.cinterop.CPointer
5+
import kotlinx.cinterop.ExperimentalForeignApi
56
import kotlinx.cinterop.toKString
67

78
/**
89
* The tools with Linux implementation
910
* @author yqiao
1011
*/
1112

13+
@OptIn(ExperimentalForeignApi::class)
1214
internal actual fun bytesToString(bv: CPointer<ByteVar>): String = bv.toKString()
1315

1416
internal actual inline val separatorChar: Char

sqllin-driver/src/linuxTest/kotlin/com/ctrip/sqllin/driver/PlatformLinux.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.ctrip.sqllin.driver
1818

19+
import kotlinx.cinterop.ExperimentalForeignApi
1920
import kotlinx.cinterop.toKString
2021
import platform.posix.getcwd
2122

@@ -24,5 +25,6 @@ import platform.posix.getcwd
2425
* @author yaqiao
2526
*/
2627

28+
@OptIn(ExperimentalForeignApi::class)
2729
actual fun getPlatformStringPath(): String =
28-
getcwd(null, 0)?.toKString() ?: throw IllegalStateException("The temp path created error")
30+
getcwd(null, 0u)?.toKString() ?: throw IllegalStateException("The temp path created error")

sqllin-driver/src/mingwMain/kotlin/com/ctrip/sqllin/driver/platform/Lock.kt

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.ctrip.sqllin.driver.platform
1818

1919
import kotlinx.cinterop.Arena
20+
import kotlinx.cinterop.ExperimentalForeignApi
2021
import kotlinx.cinterop.alloc
2122
import kotlinx.cinterop.ptr
2223
import platform.posix.PTHREAD_MUTEX_RECURSIVE
@@ -37,6 +38,7 @@ import platform.posix.pthread_mutexattr_tVar
3738
* @author yaqiao
3839
*/
3940

41+
@OptIn(ExperimentalForeignApi::class)
4042
internal actual class Lock actual constructor() {
4143

4244
private val arena = Arena()

sqllin-driver/src/mingwMain/kotlin/com/ctrip/sqllin/driver/platform/UtilsMinGW.kt

+2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ package com.ctrip.sqllin.driver.platform
22

33
import kotlinx.cinterop.ByteVar
44
import kotlinx.cinterop.CPointer
5+
import kotlinx.cinterop.ExperimentalForeignApi
56
import kotlinx.cinterop.toKStringFromUtf8
67

78
/**
89
* The tools with Windows implementation
910
* @author yqiao
1011
*/
1112

13+
@OptIn(ExperimentalForeignApi::class)
1214
internal actual fun bytesToString(bv: CPointer<ByteVar>): String = bv.toKStringFromUtf8()
1315

1416
internal actual inline val separatorChar: Char

sqllin-driver/src/mingwTest/kotlin/com/ctrip/sqllin/driver/PlatformMingw.kt

+1
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ import platform.posix._wgetcwd
2525
* @author yaqiao
2626
*/
2727

28+
@OptIn(ExperimentalForeignApi::class)
2829
actual fun getPlatformStringPath(): String =
2930
_wgetcwd(null, 0)?.toKString() ?: throw IllegalStateException("Get database path wrong")

sqllin-driver/src/nativeMain/kotlin/com/ctrip/sqllin/driver/RealDatabaseConnection.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ package com.ctrip.sqllin.driver
1919
import com.ctrip.sqllin.driver.cinterop.NativeDatabase
2020
import com.ctrip.sqllin.driver.platform.Lock
2121
import com.ctrip.sqllin.driver.platform.withLock
22-
import kotlin.native.concurrent.AtomicInt
23-
import kotlin.native.concurrent.AtomicReference
22+
import kotlin.concurrent.AtomicInt
23+
import kotlin.concurrent.AtomicReference
2424

2525
/**
2626
* Database manager Native actual

sqllin-driver/src/nativeMain/kotlin/com/ctrip/sqllin/driver/SQLiteException.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class SQLiteResultCode(message: String, resultCode: Int) : SQLiteExceptio
3333
"$message | error code ${
3434
kotlin.run {
3535
val code = resultCode and 0xff
36-
SQLiteErrorType.values().find { it.code == code }
36+
SQLiteErrorType.entries.find { it.code == code }
3737
}
3838
}") {
3939
internal companion object {

sqllin-driver/src/nativeMain/kotlin/com/ctrip/sqllin/driver/cinterop/NativeDatabase.kt

+2-8
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,14 @@ import com.ctrip.sqllin.sqlite3.sqlite3_errmsg
3333
import com.ctrip.sqllin.sqlite3.sqlite3_exec
3434
import com.ctrip.sqllin.sqlite3.sqlite3_open_v2
3535
import com.ctrip.sqllin.sqlite3.sqlite3_prepare16_v2
36-
import kotlinx.cinterop.CPointer
37-
import kotlinx.cinterop.CPointerVar
38-
import kotlinx.cinterop.alloc
39-
import kotlinx.cinterop.memScoped
40-
import kotlinx.cinterop.ptr
41-
import kotlinx.cinterop.toKString
42-
import kotlinx.cinterop.value
43-
import kotlinx.cinterop.wcstr
36+
import kotlinx.cinterop.*
4437

4538
/**
4639
* The native database wrapper for `sqlite3`, interop with SQLite C APIs directly
4740
* @author yaqiao
4841
*/
4942

43+
@OptIn(ExperimentalForeignApi::class)
5044
internal class NativeDatabase private constructor(val dbPointer: CPointer<sqlite3>) {
5145

5246
companion object {

sqllin-driver/src/nativeMain/kotlin/com/ctrip/sqllin/driver/cinterop/NativeStatement.kt

+2-6
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,15 @@ import com.ctrip.sqllin.sqlite3.sqlite3_finalize
5151
import com.ctrip.sqllin.sqlite3.sqlite3_last_insert_rowid
5252
import com.ctrip.sqllin.sqlite3.sqlite3_reset
5353
import com.ctrip.sqllin.sqlite3.sqlite3_step
54-
import kotlinx.cinterop.ByteVar
55-
import kotlinx.cinterop.CPointer
56-
import kotlinx.cinterop.readBytes
57-
import kotlinx.cinterop.refTo
58-
import kotlinx.cinterop.reinterpret
59-
import kotlinx.cinterop.toKString
54+
import kotlinx.cinterop.*
6055
import platform.posix.usleep
6156

6257
/**
6358
* The native statement wrapper for `sqlite3_stmt`, interop with SQLite C APIs directly
6459
* @author yaqiao
6560
*/
6661

62+
@OptIn(ExperimentalForeignApi::class)
6763
internal class NativeStatement(
6864
private val database: NativeDatabase,
6965
private val cStatementPointer: CPointer<sqlite3_stmt>,

sqllin-driver/src/nativeMain/kotlin/com/ctrip/sqllin/driver/platform/Utils.kt

+2
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ package com.ctrip.sqllin.driver.platform
1818

1919
import kotlinx.cinterop.ByteVar
2020
import kotlinx.cinterop.CPointer
21+
import kotlinx.cinterop.ExperimentalForeignApi
2122

2223
/**
2324
* The tools with platform-specific implementation
2425
* @author yqiao
2526
*/
2627

28+
@OptIn(ExperimentalForeignApi::class)
2729
internal expect fun bytesToString(bv: CPointer<ByteVar>): String
2830

2931
internal expect val separatorChar: Char

sqllin-dsl/src/commonMain/kotlin/com/ctrip/sqllin/dsl/Database.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import com.ctrip.sqllin.dsl.sql.statement.TransactionStatementsGroup
3131
import kotlinx.serialization.KSerializer
3232
import kotlinx.serialization.modules.EmptySerializersModule
3333
import kotlinx.serialization.serializer
34-
import kotlin.jvm.Volatile
34+
import kotlin.concurrent.Volatile
3535

3636
/**
3737
* Database object

sqllin-dsl/src/commonMain/kotlin/com/ctrip/sqllin/dsl/sql/statement/SelectStatement.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import com.ctrip.sqllin.dsl.sql.Table
2222
import com.ctrip.sqllin.dsl.sql.clause.*
2323
import com.ctrip.sqllin.dsl.sql.compiler.QueryDecoder
2424
import kotlinx.serialization.DeserializationStrategy
25-
import kotlin.jvm.Volatile
25+
import kotlin.concurrent.Volatile
2626

2727
/**
2828
* Select statement

sqllin-dsl/src/commonMain/kotlin/com/ctrip/sqllin/dsl/sql/statement/Stack.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package com.ctrip.sqllin.dsl.sql.statement
1818

19-
import kotlin.jvm.Volatile
19+
import kotlin.concurrent.Volatile
2020

2121
/**
2222
* A sample Stack implementation

sqllin-dsl/src/linuxTest/kotlin/com/ctrip/sqllin/dsl/PlatformLinux.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.ctrip.sqllin.dsl
1818

19+
import kotlinx.cinterop.ExperimentalForeignApi
1920
import kotlinx.cinterop.toKString
2021
import platform.posix.getcwd
2122

@@ -24,7 +25,8 @@ import platform.posix.getcwd
2425
* @author yaqiao
2526
*/
2627

28+
@OptIn(ExperimentalForeignApi::class)
2729
actual fun getPlatformStringPath(): String =
28-
getcwd(null, 0)?.toKString() ?: throw IllegalStateException("The temp path created error")
30+
getcwd(null, 0u)?.toKString() ?: throw IllegalStateException("The temp path created error")
2931

3032
actual val pathSeparator: Char = '/'

sqllin-dsl/src/mingwTest/kotlin/com/ctrip/sqllin/dsl/PlatformMingw.kt

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import platform.posix._wgetcwd
2525
* @author yaqiao
2626
*/
2727

28+
@OptIn(ExperimentalForeignApi::class)
2829
actual fun getPlatformStringPath(): String =
2930
_wgetcwd(null, 0)?.toKString() ?: throw IllegalStateException("Get database path wrong")
3031

sqllin-processor/src/main/kotlin/com/ctrip/sqllin/processor/ClauseProcessor.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import com.google.devtools.ksp.symbol.*
2424
import java.io.OutputStreamWriter
2525

2626
/**
27-
* Generate the clause property for data class that present the database entity
27+
* Generate the clause properties for data classes that present the database entity
2828
* @author yaqiao
2929
*/
3030

0 commit comments

Comments
 (0)