Orange flavored banana
b701154e3b
test(jdbc): test setAsciiStream, setBinaryStream methods (int, InputStream)
2025-11-12 14:54:40 +09:00
Orange flavored banana
28cd56d481
test(jdbc): implements setAsciiStream, setBinaryStream methods (int, InputStream)
2025-11-12 14:42:32 +09:00
Orange flavored banana
8d56c62446
test(jdbc): test setAsciiStream, setBinaryStream methods (int, InputStream, long)
2025-11-12 14:02:15 +09:00
Orange flavored banana
fe16786038
feat(jdbc): implements setAsciiStream, setBinaryStream methods (int, InputStream, long)
2025-11-12 13:51:41 +09:00
Orange flavored banana
510b8ef59f
refactor(jdbc): Added early return for length == 0 and improved read loop condition in setUnicodeStream and setAsciiStream
2025-11-06 10:13:23 +09:00
Orange flavored banana
b75e4b5a19
refactor(jdbc): prevent over-read and infinite loop in setBinaryStream
2025-11-06 09:55:36 +09:00
Orange flavored banana
0323d23b0c
refactor(jdbc): Added an early return when length == 0
2025-11-06 09:33:31 +09:00
Orange flavored banana
0ef416704c
refactor(jdbc): use ByteArrayOutputStream and handle empty streams as empty values instead of null
2025-11-05 14:47:47 +09:00
Orange flavored banana
efe189c21d
refactor(jdbc): adjust empty stream handling and memory usage in setBinaryStream and setUnicodeStream
2025-11-05 11:39:48 +09:00
Orange flavored banana
52f8c1a33e
feat(jdbc): test setUnicodeStream method in JDBC4PreparedStatementTest
2025-11-04 17:48:31 +09:00
Orange flavored banana
100662d134
feat(jdbc): implement setUnicodeStream method in JDBC4PreparedStatement
2025-11-04 17:45:36 +09:00
Orange flavored banana
8dd666e131
feat(jdbc): test setBinaryStream method in JDBC4PreparedStatementTest
2025-11-04 17:32:33 +09:00
Orange flavored banana
679841fc9d
feat(jdbc): implement setBinaryStream method in JDBC4PreparedStatement
2025-11-04 17:27:34 +09:00
Orange flavored banana
11186312bd
feat(jdbc): test setAsciiStream method in JDBC4PreparedStatementTest
2025-11-04 17:14:52 +09:00
Orange flavored banana
8f35a0c4c1
feat(jdbc): implement setAsciiStream method in JDBC4PreparedStatement
2025-11-04 16:48:28 +09:00
Pekka Enberg
cdd9ec3438
Merge 'bindings/java: Implement setObject(int, Object) in JDBC4PreparedStatement' from Orange banana
...
## Purpose
* Implement `setObject(int, Object)` to support binding of common Java
types to SQL parameters in JDBC4.
* This implementation currently covers only standard JDBC4 supported
types. LOB and stream bindings are not yet implemented.
## Changes
* Implemented JDBC4PreparedStatement#setObject(int, Object) handling for
* `String`, `Integer`, `Long`, `Boolean`, `Double`, `Float`, `Byte`,
`Short`
* `byte[]`, `Date`, `Time`, `Timestamp`, `BigDecimal`
* Added validation for unsupported types (`Blob`, `Clob`, `InputStream`,
`Reader`)
* Added corresponding unit test `testSetObjectCoversAllSupportedTypes`
to verify correctness
## Note
* Additional work (e.g., LOB/Stream handling) will be addressed
separately once driver support is available.
## Related Issue
#615
Reviewed-by: Kim Seon Woo (@seonWKim)
Closes #3864
2025-10-31 17:00:31 +02:00
Orange flavored banana
5fef79d9f6
feat(jdbc): remove unnecessary java.sql prefixes in setObject
2025-10-31 10:38:30 +09:00
Orange flavored banana
4cd007f2eb
Test(jdbc): Add coverage for setObject(int, Object)
2025-10-30 15:35:31 +09:00
Orange flavored banana
53ab453015
Feat(jdbc): Implement setObject(int, Object) in JDBC4PreparedStatement
2025-10-30 09:54:42 +09:00
kimminseok
2b456ec7e4
chore: apply spotless formatting
2025-10-27 00:31:49 +09:00
김민석
24181ad307
Merge branch 'main' into feature/result-set-was-null
2025-10-26 23:02:36 +09:00
kimminseok
17f1a070ed
Add comprehensive tests for ResultSet getter methods
2025-10-26 22:37:47 +09:00
kimminseok
71f53b5850
Add wasNull tracking to getObject methods
2025-10-26 22:36:38 +09:00
kimminseok
27233a947f
Add consistent wasNull handling for stream getter methods
2025-10-26 22:34:43 +09:00
kimminseok
7ee339a754
Extract timezone offset calculation to helper method
2025-10-26 22:09:47 +09:00
kimminseok
791e19892d
Refactor columnLabel getters to use delegation pattern
2025-10-26 21:45:54 +09:00
kimminseok
5f10e647e3
Fix wasNull not being set in getter methods
2025-10-26 21:31:11 +09:00
Pekka Enberg
12783ef01e
Merge 'bindings/java: Add support for publishing to Maven Central' from Kim Seon Woo
...
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / macos-arm64 (aarch64) (push) Waiting to run
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / test-limbo (push) Waiting to run
Rust / test-sqlite (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
## Purpose
- Deploy `tech.turso:turso:<version>` to maven central so that users can
easily use java bindings
- For example :
https://repo1.maven.org/maven2/io/github/seonwkim/turso/0.0.1/
## Requirements
- [x] Add the following github secrets.
- [x] MAVEN_CENTRAL_USERNAME
- [x] MAVEN_CENTRAL_PASSWORD
- [x] GPG_PRIVATE_KEY
- [x] GPG_PASSPHRASE
- [ ] Namespace `tech.turso` must be registered at maven central
- [ ] GPG key registration to key servers
- Notes
- Retrieve MAVEN_CENTRAL_USERNAME and MAVEN_CENTRAL_PASSWORD from
[maven central](https://central.sonatype.com/usertoken )
- GPG keys should be registered. You should distribute your keys to
designated(maven central supported) servers
- Refer to [GPG key related docs](https://central.sonatype.org/publ
ish/requirements/gpg/#distributing-your-public-key)
- Btw, I used `keyserver.ubuntu.com` key server while testing
### [Maven Central Username &
Password](https://central.sonatype.com/usertoken )
<img width="2878" height="1338" alt="image"
src="https://github.com/user-
attachments/assets/03e6f967-a7f6-46b8-aef5-d15772bd9eea" />
### [Maven Central
Namespace](https://central.sonatype.com/publishing/namespaces )
<img width="1424" height="456" alt="image" src="https://github.com/user-
attachments/assets/8c0f4f17-bf5a-4c6a-bc47-748d86cd1f1a" />
## Future Works
- Currently, we depend on gradle.properties to determine the version of
our dependency and it's cumbersome to always change the version
manually. Let's find a better solution.
Closes #3624
2025-10-10 13:12:01 +03:00
kimminseok
76320e82db
lint issues with spotless
2025-10-09 11:19:29 +09:00
kimminseok
f9e95697c8
handle empty string in findColumn() method
2025-10-09 10:46:27 +09:00
kimminseok
76b57e5d0c
correctly detect empty ResultSet in next()
2025-10-09 10:29:46 +09:00
kimminseok
104c2ffc5e
Fix isBeforeFirst to return false for empty ResultSet
2025-10-08 00:40:15 +09:00
kimminseok
043a9fc7b8
Change to verify full exception messages in findColumn tests
2025-10-08 00:25:28 +09:00
Kim Seon Woo
e9ccdf15d8
Apply lint
2025-10-07 23:52:03 +09:00
kimminseok
64fd282eb0
Fix NullAway warnings in JDBC4ResultSet
2025-10-07 23:50:48 +09:00
Kim Seon Woo
76af79c4fa
Add javadoc on classes and public methods for publishing to maven central
2025-10-07 23:33:02 +09:00
kimminseok
253d54c15a
Fix spotless lint errors
2025-10-07 23:18:35 +09:00
kimminseok
85f2755837
feat(java): implement getTimestamp() in JDBC4ResultSet
2025-10-07 14:30:03 +09:00
kimminseok
ffd43b4b77
feat(java): implement getTime() in JDBC4ResultSet
2025-10-07 14:25:46 +09:00
kimminseok
6adc272d75
feat(java): implement getDate() in JDBC4ResultSet
2025-10-07 14:22:13 +09:00
kimminseok
fb370c63a6
feat(java): implement getRow() in JDBC4ResultSet
2025-10-07 14:18:34 +09:00
kimminseok
fd61ddbd21
feat(java): implement isBeforeFirst(), isAfterLast() in JDBC4ResultSet
2025-10-07 14:15:10 +09:00
kimminseok
80d11b75b1
feat(java): implement getBigDecimal() in JDBC4ResultSet
2025-10-07 14:10:58 +09:00
kimminseok
2aa76709c2
feat(java): implement getCharacterStream() in JDBC4ResultSet
2025-10-07 14:06:59 +09:00
kimminseok
fcb0323218
feat(java): implement findColumn() in JDBC4ResultSet
2025-10-07 14:02:10 +09:00
zongkx
d7096bdd28
fix executeUpdate updated count
2025-09-11 12:25:14 +00:00
zongkx
5d6e97b46b
add executeUpdate updated count
2025-09-11 12:17:05 +00:00
김선우
424275b60b
Apply lint
2025-08-31 16:15:37 +09:00
김선우
b50011d96b
Implement setTimestamp
2025-08-28 14:49:16 +09:00
김선우
6c93d78394
Add TODOs
2025-08-28 14:38:13 +09:00