Skip to content

Commit f242c34

Browse files
committed
Merge branch 'master' into jdbc-permission-test
2 parents 2f51393 + 2c10b36 commit f242c34

File tree

15 files changed

+145
-134
lines changed

15 files changed

+145
-134
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,3 @@ updates:
7474
directory: "/"
7575
schedule:
7676
interval: "weekly"
77-
78-
- package-ecosystem: "github-actions"
79-
target-branch: "3.12"
80-
groups:
81-
actions on branch 3.12:
82-
patterns:
83-
- "*"
84-
directory: "/"
85-
schedule:
86-
interval: "weekly"

.github/workflows/release-snapshot.yaml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,28 @@ jobs:
3030
VERSION=$(./gradlew :core:properties -q | grep "version:" | awk '{print $2}')
3131
echo "version=${VERSION}" >> $GITHUB_OUTPUT
3232
33-
- name: Upload SNAPSHOT versions for scalardb, scalardb-schema-loader, scalardb-data-loader-core, and scalardb-integration-test to Maven Snapshot Repository
33+
- name: Prepare SNAPSHOT versions of artifacts in staging-deploy directories
3434
if: contains(steps.version.outputs.version, '-SNAPSHOT')
35-
run: |
36-
echo "${{secrets.SIGNING_SECRET_KEY_RING}}" | base64 -d > ~/.gradle/secring.gpg
37-
./gradlew publish \
38-
-Psigning.keyId="${{ secrets.SIGNING_KEY_ID }}" \
39-
-P'signing.password'="${{ secrets.SIGNING_PASSWORD }}" \
40-
-Psigning.secretKeyRingFile="$(echo ~/.gradle/secring.gpg)" \
41-
-PossrhUsername="${{ secrets.OSSRH_USERNAMAE }}" \
42-
-PossrhPassword="${{ secrets.OSSRH_PASSWORD }}"
35+
run: ./gradlew publish
36+
37+
- name: Upload SNAPSHOT versions of artifacts to Maven Snapshot repository
38+
if: contains(steps.version.outputs.version, '-SNAPSHOT')
39+
env:
40+
JRELEASER_NEXUS2_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
41+
JRELEASER_NEXUS2_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
42+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_GPG_PASSPHRASE }}
43+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_PUBLIC_KEY }}
44+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_SECRET_KEY }}
45+
run: ./gradlew jreleaserDeploy -Dorg.gradle.jvmargs="-Xmx4g"
46+
47+
- name: Upload JReleaser outputs
48+
if: always()
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: jreleaser-release
52+
path: |
53+
build/jreleaser/trace.log
54+
build/jreleaser/output.properties
4355
4456
- name: Login to GitHub Container Registry
4557
uses: docker/login-action@v3

.github/workflows/release.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515
uses: ./.github/workflows/upload-artifacts.yaml
1616
secrets:
1717
CR_PAT: ${{ secrets.CR_PAT }}
18-
SIGNING_SECRET_KEY_RING: ${{ secrets.SIGNING_SECRET_KEY_RING }}
19-
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
20-
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
21-
OSSRH_USERNAMAE: ${{ secrets.OSSRH_USERNAMAE }}
22-
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
18+
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
19+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
20+
MAVEN_CENTRAL_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_GPG_PASSPHRASE }}
21+
MAVEN_CENTRAL_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_PUBLIC_KEY }}
22+
MAVEN_CENTRAL_GPG_SECRET_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_SECRET_KEY }}
2323

2424
create-release:
2525
needs: upload-artifacts

.github/workflows/scheduled-vuln-check.yaml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@ jobs:
1616
CR_PAT: ${{ secrets.CR_PAT }}
1717
SLACK_SECURITY_WEBHOOK_URL: ${{ secrets.SLACK_SECURITY_WEBHOOK_URL }}
1818

19-
call-vuln-check-for-v3_12:
20-
uses: ./.github/workflows/vuln-check.yaml
21-
with:
22-
target-ref: v3.12
23-
find-latest-release: true
24-
secrets:
25-
CR_PAT: ${{ secrets.CR_PAT }}
26-
SLACK_SECURITY_WEBHOOK_URL: ${{ secrets.SLACK_SECURITY_WEBHOOK_URL }}
27-
2819
call-vuln-check-for-v3_13:
2920
uses: ./.github/workflows/vuln-check.yaml
3021
with:

.github/workflows/upload-artifacts.yaml

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ on:
66
secrets:
77
CR_PAT:
88
required: true
9-
SIGNING_SECRET_KEY_RING:
9+
MAVEN_CENTRAL_USERNAME:
1010
required: true
11-
SIGNING_KEY_ID:
11+
MAVEN_CENTRAL_PASSWORD:
1212
required: true
13-
SIGNING_PASSWORD:
13+
MAVEN_CENTRAL_GPG_PASSPHRASE:
1414
required: true
15-
OSSRH_USERNAMAE:
15+
MAVEN_CENTRAL_GPG_PUBLIC_KEY:
1616
required: true
17-
OSSRH_PASSWORD:
17+
MAVEN_CENTRAL_GPG_SECRET_KEY:
1818
required: true
1919

2020
jobs:
@@ -43,6 +43,27 @@ jobs:
4343
- name: Setup Gradle
4444
uses: gradle/actions/setup-gradle@v4
4545

46+
- name: Prepare artifacts in staging-deploy directories
47+
run: ./gradlew publish
48+
49+
- name: Upload artifacts to Maven Central Repository
50+
env:
51+
JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
52+
JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
53+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_GPG_PASSPHRASE }}
54+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_PUBLIC_KEY }}
55+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_SECRET_KEY }}
56+
run: ./gradlew jreleaserDeploy -Dorg.gradle.jvmargs="-Xmx4g"
57+
58+
- name: Upload JReleaser outputs
59+
if: always()
60+
uses: actions/upload-artifact@v4
61+
with:
62+
name: jreleaser-release
63+
path: |
64+
build/jreleaser/trace.log
65+
build/jreleaser/output.properties
66+
4667
- name: Login to GitHub Container Registry
4768
uses: docker/login-action@v3
4869
with:
@@ -57,13 +78,3 @@ jobs:
5778
run: |
5879
docker push ghcr.io/scalar-labs/scalardb-schema-loader:${{ steps.version.outputs.version }}
5980
docker push ghcr.io/scalar-labs/scalardb-data-loader-cli:${{ steps.version.outputs.version }}
60-
61-
- name: Upload scalardb, scalardb-schema-loader, scalardb-data-loader-core, and scalardb-integration-test to Maven Central Repository
62-
run: |
63-
echo "${{secrets.SIGNING_SECRET_KEY_RING}}" | base64 -d > ~/.gradle/secring.gpg
64-
./gradlew publish \
65-
-Psigning.keyId="${{ secrets.SIGNING_KEY_ID }}" \
66-
-P'signing.password'="${{ secrets.SIGNING_PASSWORD }}" \
67-
-Psigning.secretKeyRingFile="$(echo ~/.gradle/secring.gpg)" \
68-
-PossrhUsername="${{ secrets.OSSRH_USERNAMAE }}" \
69-
-PossrhPassword="${{ secrets.OSSRH_PASSWORD }}"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ You can install it in your application using your build tool such as Gradle and
3737
To add a dependency on ScalarDB using Gradle, use the following:
3838
```gradle
3939
dependencies {
40-
implementation 'com.scalar-labs:scalardb:3.16.0'
40+
implementation 'com.scalar-labs:scalardb:3.16.1'
4141
}
4242
```
4343

@@ -46,7 +46,7 @@ To add a dependency using Maven:
4646
<dependency>
4747
<groupId>com.scalar-labs</groupId>
4848
<artifactId>scalardb</artifactId>
49-
<version>3.16.0</version>
49+
<version>3.16.1</version>
5050
</dependency>
5151
```
5252

build.gradle

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
buildscript {
2-
repositories {
3-
maven {
4-
url 'https://plugins.gradle.org/m2/'
5-
}
6-
}
7-
dependencies {
8-
classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.13.0'
9-
}
1+
plugins {
2+
id "com.diffplug.spotless" version "6.13.0"
3+
id "org.jreleaser" version "1.19.0"
4+
}
5+
6+
ext {
7+
projectGroup = 'com.scalar-labs'
8+
projectVersion = '4.0.0-SNAPSHOT'
109
}
1110

11+
group = projectGroup
12+
version = projectVersion
13+
1214
subprojects {
1315
apply plugin: 'java'
1416
apply plugin: 'eclipse'
@@ -18,7 +20,7 @@ subprojects {
1820
apply plugin: 'com.diffplug.spotless'
1921
apply plugin: 'com.scalar.db.jdk-configuration'
2022

21-
project.version = '4.0.0-SNAPSHOT'
23+
project.version = projectVersion
2224

2325
ext {
2426
guiceVersion = '5.1.0'
@@ -27,15 +29,15 @@ subprojects {
2729
cassandraDriverVersion = '3.11.5'
2830
azureCosmosVersion = '4.72.0'
2931
jooqVersion = '3.14.16'
30-
awssdkVersion = '2.31.3'
32+
awssdkVersion = '2.32.2'
3133
commonsDbcp2Version = '2.13.0'
3234
mysqlDriverVersion = '8.4.0'
3335
postgresqlDriverVersion = '42.7.7'
3436
oracleDriverVersion = '23.8.0.25.04'
3537
sqlserverDriverVersion = '12.8.1.jre8'
3638
sqliteDriverVersion = '3.50.2.0'
3739
yugabyteDriverVersion = '42.7.3-yb-4'
38-
db2DriverVersion= '12.1.2.0'
40+
db2DriverVersion = '12.1.2.0'
3941
mariadDbDriverVersion = '3.5.4'
4042
picocliVersion = '4.7.7'
4143
commonsTextVersion = '1.13.1'
@@ -66,7 +68,7 @@ subprojects {
6668
testLogging.showStandardStreams = true
6769
}
6870

69-
group = "com.scalar-labs"
71+
group = projectGroup
7072

7173
java {
7274
withJavadocJar()
@@ -92,3 +94,38 @@ subprojects {
9294
}
9395
}
9496

97+
jreleaser {
98+
gitRootSearch = true
99+
100+
signing {
101+
active = 'ALWAYS'
102+
armored = true
103+
}
104+
105+
deploy {
106+
maven {
107+
def stagingRepositories = ['core/build/staging-deploy',
108+
'integration-test/build/staging-deploy',
109+
'schema-loader/build/staging-deploy',
110+
'data-loader/core/build/staging-deploy']
111+
mavenCentral {
112+
sonatype {
113+
active = 'RELEASE'
114+
url = 'https://central.sonatype.com/api/v1/publisher'
115+
stagingRepositories.each { stagingRepository(it) }
116+
}
117+
}
118+
nexus2 {
119+
'snapshot-deploy' {
120+
active = 'SNAPSHOT'
121+
snapshotUrl = 'https://central.sonatype.com/repository/maven-snapshots/'
122+
applyMavenCentralRules = true
123+
snapshotSupported = true
124+
closeRepository = true
125+
releaseRepository = true
126+
stagingRepositories.each { stagingRepository(it) }
127+
}
128+
}
129+
}
130+
}
131+
}

core/build.gradle

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ plugins {
22
id 'com.github.spotbugs-base' version "${spotbugsPluginVersion}"
33
id 'net.ltgt.errorprone' version "${errorpronePluginVersion}"
44
id 'maven-publish'
5-
id 'signing'
65
id 'base'
76
}
87

@@ -385,18 +384,7 @@ publishing {
385384
}
386385
repositories {
387386
maven {
388-
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2"
389-
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots"
390-
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
391-
credentials {
392-
username = project.properties['ossrhUsername'] ?: ""
393-
password = project.properties['ossrhPassword'] ?: ""
394-
}
387+
url = layout.buildDirectory.dir('staging-deploy')
395388
}
396389
}
397390
}
398-
399-
signing {
400-
required { project.gradle.taskGraph.hasTask("publish") }
401-
sign publishing.publications.mavenJava
402-
}

core/src/main/java/com/scalar/db/storage/jdbc/JdbcAdmin.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -894,14 +894,7 @@ void createIndex(
894894
Connection connection, String schema, String table, String indexedColumn, boolean ifNotExists)
895895
throws SQLException {
896896
String indexName = getIndexName(schema, table, indexedColumn);
897-
String createIndexStatement =
898-
"CREATE INDEX "
899-
+ enclose(indexName)
900-
+ " ON "
901-
+ encloseFullTableName(schema, table)
902-
+ " ("
903-
+ enclose(indexedColumn)
904-
+ ")";
897+
String createIndexStatement = rdbEngine.createIndexSql(schema, table, indexName, indexedColumn);
905898
if (ifNotExists) {
906899
createIndexStatement = rdbEngine.tryAddIfNotExistsToCreateIndexSql(createIndexStatement);
907900
}

core/src/main/java/com/scalar/db/storage/jdbc/RdbEngineOracle.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,23 @@ public String tableExistsInternalTableCheckSql(String fullTableName) {
144144
return "SELECT 1 FROM " + fullTableName + " FETCH FIRST 1 ROWS ONLY";
145145
}
146146

147+
@Override
148+
public String createIndexSql(
149+
String schema, String table, String indexName, String indexedColumn) {
150+
return "CREATE INDEX "
151+
+ enclose(schema)
152+
+ "."
153+
+ enclose(indexName)
154+
+ " ON "
155+
+ encloseFullTableName(schema, table)
156+
+ " ("
157+
+ enclose(indexedColumn)
158+
+ ")";
159+
}
160+
147161
@Override
148162
public String dropIndexSql(String schema, String table, String indexName) {
149-
return "DROP INDEX " + enclose(indexName);
163+
return "DROP INDEX " + enclose(schema) + "." + enclose(indexName);
150164
}
151165

152166
@Override

0 commit comments

Comments
 (0)