Commit Graph

95 Commits

Author SHA1 Message Date
김선우
91e5ed8bb9 Implement driver name and version related methods 2025-02-09 13:54:34 +09:00
김선우
6011526755 Simply copy function logic from sqlite-jdbc 2025-02-09 11:45:34 +09:00
김선우
ea02664f68 Implement getURL() for JDBC4DatabaseMetaData 2025-02-09 10:49:06 +09:00
김선우
f6bd58e7a4 Add JDBC4DatabaseMetaData 2025-02-09 10:45:31 +09:00
김선우
3920539c7e Merge branch 'main' into java-bindings-statement-refactor 2025-02-09 10:26:29 +09:00
Kim Seon Woo
9f7d23df6e Remove @Disabled from working test 2025-02-07 20:41:49 +09:00
김선우
7409779be7 Refactor to use composition instead of inheritance
- Update JDBC4Connection to implement Connection directly
- JDBC4Connection holds LimboConnection as a member field
2025-02-07 19:49:16 +09:00
Pekka Enberg
400dd6dd42 Merge 'bindings/java: Implement custom logger ' from Kim Seon Woo
## Purpose of the PR
- As bindings/java is just a library, we shouldn't have to add specific
library dependency(such as slf4j) to itself
- In order to load bindings/java to 3rd party software(such as
Datagrip), we shouldn't provide a library with slf4j included
## Changes
- Remove slf4j, logback dependency and files
- Add custom logger implementation
## ETC
We can now connect to Datagrip(but there are some errors though)
![image](https://github.com/user-
attachments/assets/ec8becf1-b9a8-415a-8943-74edee9b29c3)
## Reference
[Issue](https://github.com/tursodatabase/limbo/issues/615)

Closes #915
2025-02-07 12:37:56 +02:00
김선우
edc964a2cb Implement logger 2025-02-07 13:49:07 +09:00
김선우
f88daf2803 Fix lint 2025-02-07 12:44:24 +09:00
김선우
eeb457f7a1 Implement basic functionality of JDBC4PreparedStatement 2025-02-07 12:33:13 +09:00
김선우
f5c4f4e8a1 Implement JDBC4Connection#prepareStatement 2025-02-07 11:42:36 +09:00
김선우
cc09cb7d51 Add bindInt 2025-02-07 11:35:54 +09:00
김선우
21d6f33c6b Implement bindXXX functions on rust and java side 2025-02-07 11:25:23 +09:00
김선우
88c2a15b6f Add requireNotNull method in CommonUtils 2025-02-07 09:51:37 +09:00
김선우
f6919f028e Add columnNames to LimboResultSet 2025-02-07 09:25:22 +09:00
Pekka Enberg
fc5f2c7897 Merge 'bindings/java: Change logger dependency ' from Kim Seon Woo
# The purpose of this PR
- Current implementation forces users to use logback as their logging
framework
# Changes
- Only add abstraction layer for loggin(which is slf4j in this case)
- In tests, use logback to log out messages(this doesn't affect the
users)
# References
https://github.com/tursodatabase/limbo/issues/615

Closes #863
2025-02-03 09:21:26 +02:00
김선우
985c5139be Let's not force users to use specific logging framework 2025-02-02 13:00:03 +09:00
김선우
5d5261637b Fix debugger to print out INFO messages by default 2025-02-02 12:54:06 +09:00
김선우
3332381f6a Remove unused 2025-02-02 12:38:55 +09:00
김선우
80adeb520a Update LimboDB.java to load libraries from /lib 2025-02-02 12:35:34 +09:00
김선우
9fd2c67b4d Add tests for out of bound access to arrays 2025-01-29 12:04:07 +09:00
김선우
7fe5ba84c7 Fix test that uses wrong data types 2025-01-29 11:59:42 +09:00
김선우
3649e8f67c Add test to verify behavior on null columns 2025-01-29 11:56:49 +09:00
김선우
041c8fbddc Fix executeQuery to not run statement.execute() 2025-01-29 11:53:44 +09:00
김선우
2e62abe6df Implement basic getXX methods for JDBC4ResultSet 2025-01-29 11:41:56 +09:00
Pekka Enberg
3baca19f75 Merge 'bindings/java: Implement close() for LimboStatement and LimboResultSet ' from Kim Seon Woo
## Purpose of this PR
- Implement `close()` method for `LimboStatement`(+`JDBC4Statement`) and
`LimboResultSet`(+ `JDBC4ResultSet`)
## Changes
- Add `consumeAll` method in `LimboResultSet`
- Implement `close()` methods
  - Because  `JDBC4Statement` has longer lifecycle in compared to
`LimboStatement`, we manage different `close` fields(`LimboStatement` is
created when first `execute` method is called on `JDBC4Statemenet`)
## Reference
- [Issue](https://github.com/tursodatabase/limbo/issues/615)

Closes #799
2025-01-28 14:18:01 +02:00
김선우
b17511b559 Fix test to use lighter query 2025-01-28 09:25:57 +09:00
김선우
a82c459ed0 Implement close on LimboStatement and JDBC4Statement independently 2025-01-28 09:20:07 +09:00
김선우
c18418bed0 Nit 2025-01-27 20:35:11 +09:00
김선우
e48d7aa763 Add consumeAll method in LimboResultSet and let JDBC4Statement to use it 2025-01-27 20:31:37 +09:00
김선우
4dd2d1c64a Implement close() on LimboStatement 2025-01-27 20:20:10 +09:00
김선우
6252947232 Fix the logic on determining whether connection is closed 2025-01-27 19:49:10 +09:00
김선우
1125e51a59 Add test for close() 2025-01-27 19:19:34 +09:00
김선우
dae15ef0e3 Implement limbo close() 2025-01-27 19:15:02 +09:00
Pekka Enberg
6f93f290e1 bindings/java: Log driver loading error 2025-01-26 21:07:18 +02:00
김선우
2212cc2a09 Apply lints 2025-01-26 20:04:57 +09:00
김선우
f10b41c5b5 Pass io to statement from db 2025-01-24 15:43:44 +09:00
김선우
82e9fe0219 Handle invalid step results 2025-01-24 13:52:54 +09:00
김선우
ddfbf11659 Fix test 2025-01-19 22:14:17 +09:00
김선우
e8a62b67d2 Disable failing test 2025-01-19 21:56:50 +09:00
김선우
8f9e70417d Implement executeQuery and executeUpdate 2025-01-19 21:56:50 +09:00
김선우
fb2b5eb11f Add debugging logs 2025-01-19 21:56:50 +09:00
김선우
f8cc08e5ad Remove unused method 2025-01-19 21:56:50 +09:00
김선우
24ead40f88 Change LimboStatement.java to throw exception when the result is null which is the error case 2025-01-19 21:56:50 +09:00
김선우
9c3c6271a3 Remove System.out.println 2025-01-19 21:56:50 +09:00
김선우
10a7b1b035 Disable for now 2025-01-19 21:56:50 +09:00
김선우
5fbce67774 Temporarily remove restrictions of running test for 1 second 2025-01-19 21:56:50 +09:00
김선우
f80823a297 Add LimboStepResult.java constructor 2025-01-19 21:56:50 +09:00
김선우
b80438226b Commit for testing 2025-01-19 21:56:49 +09:00