Commit graph

163 commits

Author SHA1 Message Date
Pekka Enberg
96175cccf7 cli: Add --experimental-mvcc option to enable MVCC 2025-03-06 10:16:42 +02:00
Pere Diaz Bou
8daf7666d1 Make database Sync + Send 2025-03-05 14:07:48 +01:00
김선우
412bdf5585 Apply cargo formatting 2025-03-03 21:55:10 +09:00
김선우
f8052a9860 Implement totalChanges 2025-03-03 14:35:23 +09:00
김선우
6b223421ae Extract LimboPropertiesHolder 2025-03-03 14:35:23 +09:00
Pekka Enberg
936ae307b7 core: Kill value type
We currently have two value types, `Value` and `OwnedValue`. The
original thinking was that `Value` is external type and `OwnedValue` is
internal type. However, this just results in unnecessary transformation
between the types as data crosses the Limbo library boundary.

Let's just follow SQLite here and consolidate on a single value type
(where `sqlite3_value` is just an alias for the internal `Mem` type).
The way this will eventually work is that we can have bunch of
pre-allocated `OwnedValue` objects in `ProgramState` and basically
return a reference to them all the way to the application itself, which
extracts the actual value.
2025-02-26 10:57:45 +02:00
김선우
a99c4e2073 Nit 2025-02-19 22:38:38 +09:00
김선우
a28242a6b6 JDBC4ResultSet add ResultSetMetadata implementation 2025-02-19 22:29:44 +09:00
김선우
9e9c65d17d Add final 2025-02-19 22:27:51 +09:00
Pekka Enberg
d0b5aca0b5 build: Don't publish some bindings crates
...attempt to fix "cargo dist" failure.
2025-02-18 19:00:11 +02:00
김선우
14280680c0 Apply rust lint 2025-02-12 10:36:43 +09:00
김선우
cb7bd3d211 Change package name from org.github.tursodatabase to tech.turso 2025-02-12 09:58:25 +09:00
wyhaya
351a032cc1 core: Add default column name 2025-02-11 07:03:51 +00:00
김선우
29e023ac79 Merge branch 'main' into java-bindings-database-metadata 2025-02-10 23:00:02 +09:00
Pekka Enberg
fa883d1c6b Merge 'bindings/java: Refactor to favor composition over inheritance ' from Kim Seon Woo
## Changes
- AS-IS
  - `LimboConnection` implements `Connection`
  - `JDBC4Connection` implements `LimboConnection`
- TO-BE
  - `LimboConnection` doesn't implement `Connection`. It is used to
represent connection to limbo only.
  - `JDBC4Connection` implements `Connection` directly. Holds
`LimboConnection` in member field.
- This helps remove the complexity of java's `Connection` interface away
from `LimboConnection`. We can focus on implementing limbo's feature
inside `LimboConnection` and let `JDBC4Connection` handle the
interoperability with jdbc world.
## Reference
https://github.com/tursodatabase/limbo/issues/615

Closes #916
2025-02-10 12:13:30 +02:00
Tiago Ribeiro
729524efbd
Update java bindings to use the new retrieval methods to access Record values. 2025-02-10 00:27:51 -07:00
김선우
d515513068 Remove unused symbols after merge conflict resolution 2025-02-10 08:35:06 +09:00
김선우
0eb5c7e4ba Merge branch 'main' into java-bindings-statement-refactor 2025-02-10 07:41:54 +09:00
Pekka Enberg
e3eb2f1a9a Merge 'bindings/java: Remove AbstractDB ' from Kim Seon Woo
## Purpose of this PR
- Remove `AbstractDB` and put limbo db related methods into `LimboDB`
## Changes
- Remove `AbstractDB`
- Implement `close()`
## Reference
- [Issue](https://github.com/tursodatabase/limbo/issues/615)

Closes #946
2025-02-09 17:36:48 +02:00
김선우
2fa3a1e6ae Apply lint 2025-02-09 22:46:48 +09:00
김선우
e0b0a667bb Implement close 2025-02-09 18:40:50 +09:00
김선우
d51c1dc5b1 Remove AbstractDB and move those methods into LimboDB 2025-02-09 18:40:42 +09:00
김선우
d1789d1d6e Implement executeUpdate 2025-02-09 17:49:16 +09:00
김선우
ed9cf63c51 Implement abort 2025-02-09 17:37:19 +09:00
김선우
968ae74810 Implement isValid 2025-02-09 17:28:32 +09:00
김선우
4e067b2997 Throw exceptions on unsupported methods 2025-02-09 17:24:52 +09:00
김선우
1f3ddaeec6 Implement prepareStatement 2025-02-09 17:24:35 +09:00
김선우
79e2fba424 Implement minor methods/features in JDBC4Connection.java 2025-02-09 17:17:47 +09:00
김선우
8ec7b0b2be Add TODO in getTables 2025-02-09 14:10:55 +09:00
김선우
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
Jorge López
be5ea350bb
bindings: select io_uring feature from limbo_core explicitly as it will be made non-default 2025-02-09 01:10:35 +01:00
Pekka Enberg
9657920dd7 Merge 'Add java section in README.md' from Kim Seon Woo
Added a section for java in README.md

Closes #923
2025-02-08 09:15:04 +02:00
김선우
cc72439032 Add java section in README.md 2025-02-08 12:09:17 +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
김선우
cd8f580f54 Nit 2025-02-07 13:50:00 +09: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
김선우
d574e2c277 Add comments on errors.rs 2025-02-07 11:24:43 +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