Skip to content

Commit 32b7f32

Browse files
authored
Merge pull request #115 from qiaoyuang/main
Update version to 2.2.0
2 parents f97716d + 1bad01e commit 32b7f32

File tree

28 files changed

+7513
-1674
lines changed

28 files changed

+7513
-1674
lines changed

CHANGELOG.md

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,33 @@
11
# SQLlin Change Log
22

33
- Date format: YYYY-MM-dd
4-
-
4+
5+
## 2.2.0 / 2025-12-15
6+
7+
### sqllin-dsl
8+
9+
* New experimental DSL API: `DatabaseScope#CREATE_INDEX` for creating indexes
10+
* New experimental DSL API: `DatabaseScope#CREATE_UNIQUE_INDEX` for creating unique indexes
11+
* New experimental DSL API: `DatabaseScope#PRAGMA_FOREIGN_KEYS` for enabling foreign keys
12+
* New experimental annotation APIs: `ForeignKeyGroup`, `References`, `ForeignKey` for supporting foreign keys for table and column levels
13+
* New experimental annotation API: `@Default` for specifying default values for columns in CREATE TABLE statements
14+
* New SQL aggregate function: `group_concat` for concatenating values with a separator
15+
* New SQL scalar functions: `round`, `random`
16+
* New SQL string functions: `substr`, `trim`, `ltrim`, `rtrim`, `replace`, `instr`, `printf`
17+
* New overload for `length` function to support `ClauseBlob` type
18+
* **Breaking change**: The parameter type of `abs` function changed from `ClauseElement` to `ClauseNumber`
19+
* **Breaking change**: The parameter type of `upper` function changed from `ClauseElement` to `ClauseString`
20+
* **Breaking change**: The parameter type of `lower` function changed from `ClauseElement` to `ClauseString`
21+
* **Breaking change**: The parameter type of `length` function changed from `ClauseElement` to `ClauseString`
22+
23+
### sqllin-driver
24+
25+
* Update the `sqlite-jdbc`'s version to `3.51.1.0`
26+
27+
### sqllin-processor
28+
29+
* Update `KSP`'s version to `2.3.3`
30+
531
## 2.1.0 / 2025-11-04
632

733
### sqllin-dsl
@@ -11,10 +37,10 @@
1137
* Support `<`, `<=`, `>`, `>=`, `IN`, `BETWEEN...AND` operators for String
1238
* Support `=`, `!=`, `<`, `<=`, `>`, `>=`, `IN`, `BETWEEN...AND` operators for ByteArray
1339
* Add a new condiction function `ISNOT` for Boolean, and `IS` starts to support to receive a nullable parameter
14-
* Refactored CREATE statements building process, move it from runtime to compile-time.
15-
* New experimental API for _COLLATE NOCASE_ keyword: `CollateNoCase`
16-
* New experimental API for single column with _UNIQUE_ keyword: `Unique`
17-
* New Experimental API for composite column groups with _UNIQUE_ keyword: `CompositeUnique`
40+
* Refactored _CREATE_ statements building process, move it from runtime to compile-time.
41+
* New experimental annotation API for _COLLATE NOCASE_ keyword: `@CollateNoCase`
42+
* New experimental annotation API for single column with _UNIQUE_ keyword: `@Unique`
43+
* New experimental annotation API for composite column groups with _UNIQUE_ keyword: `@CompositeUnique`
1844

1945
## 2.0.0 / 2025-10-23
2046

@@ -27,13 +53,13 @@
2753
### sqllin-dsl
2854

2955
* Optimized performance for SQL assembly
30-
* New annotation for marking primary key: `PrimaryKey`
31-
* New annotation for marking composite primary key: `CompositePrimaryKey`
56+
* New experimental annotation for marking primary key: `@PrimaryKey`
57+
* New experimental annotation for marking composite primary key: `@CompositePrimaryKey`
3258
* New experimental API for creating Database: `DSLDBConfiguration`
3359
* New experimental DSL API: `DatabaseScope#CREATE`
3460
* New experimental DSL API: `DatabaseScope#DROP`
3561
* New experimental DSL API: `DatabaseSceop#ALERT`
36-
* Support using ByteArray in DSL, that represents BLOB in SQLite
62+
* Support using `ByteArray` in DSL, that represents _BLOB_ in SQLite
3763

3864
### sqllin-driver
3965

@@ -101,7 +127,7 @@
101127

102128
* Update `kotlinx.coroutines`'s version to `1.10.1`
103129
* Update `kotlinx.serialization`'s version to `1.8.0`
104-
* Add some DslMaker annotations, make the DSL apis be more readable
130+
* Add some `DslMaker` annotations, make the DSL apis be more readable
105131

106132
### sqllin-driver
107133

ROADMAP.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
## High Priority
44

5-
* Support FOREIGN KEY DSL
6-
* Support CREATE INDEX DSL
5+
* Support FOREIGN KEY DSL (2.2.0 ✅)
6+
* Support CREATE INDEX DSL (2.2.0 ✅)
77

88
## Medium Priority
99

@@ -12,7 +12,9 @@
1212
* Support CREATE VIEW DSL
1313
* Support CREATE TRIGGER DSL
1414
* Support JOIN sub-query DSL
15+
* Support more functions
1516

1617
## Low Priority
1718

18-
* Support store instances of kotlinx.datetime
19+
* Support store instances of kotlinx.datetime
20+
* Support CHECK keyword

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION=2.1.0
1+
VERSION=2.2.0
22
GROUP_ID=com.ctrip.kotlin
33

44
#Maven Publishing Information
@@ -31,4 +31,5 @@ kotlin.native.ignoreDisabledTargets=true
3131
kotlin.jvm.target.validation.mode=warning
3232
kotlin.native.binary.pagedAllocator=false
3333
kotlin.native.binary.latin1Strings=true
34+
kotlin.native.cacheKind.linuxX64=none
3435
#kotlin.compiler.execution.strategy=out-of-process

gradle/libs.versions.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
kotlin = "2.2.21"
44
agp = "8.12.3"
5-
ksp = "2.3.0"
5+
ksp = "2.3.3"
66
serialization = "1.9.0"
77
coroutines = "1.10.2"
88
androidx-annotation = "1.9.1"
99
androidx-test = "1.7.0"
1010
androidx-test-runner = "1.7.0"
11-
sqlite-jdbc = "3.50.3.0"
11+
sqlite-jdbc = "3.51.1.0"
1212
jvm-toolchain = "21"
1313
android-sdk-compile = "36"
1414
android-sdk-min = "24"
15-
vanniktech-maven-publish = "0.34.0"
15+
vanniktech-maven-publish = "0.35.0"
1616

1717
[libraries]
1818

libs/linux/libsqlite3.a

8.35 MB
Binary file not shown.

libs/windows/libsqlite3.a

4.47 MB
Binary file not shown.

0 commit comments

Comments
 (0)