Commit Graph

10673 Commits

Author SHA1 Message Date
pedrocarlo
a18a472685 add option to disable alter column for differential testing 2025-10-13 02:34:43 -03:00
pedrocarlo
ca8be11a56 fix binary compare in simulator by taking into account NULL for certain compare ops 2025-10-13 02:34:43 -03:00
pedrocarlo
703efaa724 adjust Properties to skip Alter Table in certain conditions 2025-10-13 02:34:43 -03:00
pedrocarlo
a149e55209 fix Drop Column to only be generated if no columns conflict in Indexes 2025-10-13 02:34:43 -03:00
pedrocarlo
9c2edbb8b7 create separate Index struct for sql generation 2025-10-13 02:04:15 -03:00
pedrocarlo
ab152890dd adjust generation of GTValue and LTValue to accomodate for Null Values 2025-10-13 02:04:15 -03:00
pedrocarlo
c072058e4b add Alter Table query generation in Sim 2025-10-13 02:04:15 -03:00
pedrocarlo
230755eb2e shadow for AlterTable 2025-10-13 02:04:15 -03:00
rajajisai
9bbf3bb780 Add tests 2025-10-12 22:46:53 -04:00
rajajisai
f703cc7fa7 Remove function 2025-10-12 22:46:41 -04:00
rajajisai
cd763ce373 Fix evalauting expression for limit and offset. 2025-10-12 22:46:25 -04:00
Pavan-Nambi
295612feea add test 2025-10-12 23:11:28 +05:30
Pavan-Nambi
90615239a0 use update flag conditionally before incrementing changes 2025-10-12 23:02:21 +05:30
Mikaël Francoeur
87a630ca12 missing file 2025-10-12 19:57:23 +03:00
Pavan-Nambi
e1f23aeb2c fmt and add tests 2025-10-12 22:23:04 +05:30
Pavan-Nambi
3491e1f42e add if alais and allow iff to have more arguments 2025-10-12 22:17:35 +05:30
Pekka Enberg
7221f79a2f Merge 'Stop ignoring table's max value incase of a manual update in autoincrement.' from Pavan Nambi
closes https://github.com/tursodatabase/turso/issues/3664

Reviewed-by: Preston Thorpe <preston@turso.tech>

Closes #3668
2025-10-12 18:38:13 +03:00
Pekka Enberg
487a1772fc Merge 'Fix disallow reserved prefixes in ALTER TABLE RENAME TO' from xmchx
Closes #3574

Closes #3663
2025-10-12 18:37:44 +03:00
Pekka Enberg
3fafc23d96 Merge 'Nyrkiö nightly: Reduce frequency to 1 per 24h' from Henrik Ingo
Also fix a missed path in sqlite3 tests

Closes #3685
2025-10-12 18:37:25 +03:00
Pavan-Nambi
7e8dabaee5 make comparison case sensitive 2025-10-12 18:02:03 +05:30
Pavan-Nambi
36bf88119f add tests
clippy

expect err to make clippy happy

cleanup
2025-10-12 16:38:12 +05:30
Henrik Ingo
00bde0d52a Nyrkiö nightly: Reduce frequency to 1 per 24h
Also fix a missed path in sqlite3 tests
2025-10-12 13:46:26 +03:00
Pavan-Nambi
bd9ce7c485 add test 2025-10-12 15:58:10 +05:30
Pavan-Nambi
c59b0ffa65 fix(core/vdbe):pass largest value from table to op_new_rowid 2025-10-12 15:57:29 +05:30
rajajisai
9061024fad add test 2025-10-11 21:39:46 -04:00
rajajisai
6c082660ca convert table name to lower case 2025-10-11 21:39:41 -04:00
Pavan-Nambi
88d5ee0cf1 names shall not be shared between tables,index,vtabs,views 2025-10-12 05:45:59 +05:30
Pavan-Nambi
ae00542755 get em aliases shall they be used 2025-10-12 05:25:22 +05:30
pedrocarlo
fafbdbfa9d persist files in sim memory io for integrity check 2025-10-11 15:03:22 -03:00
Preston Thorpe
99f2df3d70 Merge 'Fix cloning database with autoincrement primary keys' from
Ignore `sqlite_sequence` when dumping tables during cloning.
Fixes #3640.

Reviewed-by: Preston Thorpe <preston@turso.tech>

Closes #3651
2025-10-11 13:33:15 -04:00
ultraman
5153e2aa32 Fix disallow reserved prefixes in ALTER TABLE RENAME TO 2025-10-11 16:30:25 +08:00
Pekka Enberg
fb1042187b Turso 0.3.0-pre.1 2025-10-10 19:25:58 +03:00
Pekka Enberg
4af61d8049 Merge 'core/btree: try to introduce trait for cursors' from Pere Diaz Bou
I've added a trait called `CursorTrait`. I know it's not a good name for
now, but I didn't know what tto change then enum `Cursor` to. This trait
wraps all common functionality, and some functionality that is yet too
specific that needs to be fixed.
This is needed in order to have layered cursors where for example,
MvccCursor will need a fallback BTreeCursor.

Closes #3660
2025-10-10 19:25:39 +03:00
pedrocarlo
f593080c2a add Query::AlterTable variant 2025-10-10 11:08:04 -03:00
pedrocarlo
2cc7947107 define alter table in sql_generation 2025-10-10 11:08:04 -03:00
Pere Diaz Bou
160a84250e core: add CursorTrait imports where needed 2025-10-10 15:04:15 +02:00
Pere Diaz Bou
b3ab51d66a core/vdbe: store cursor as a dyn CursorTrait 2025-10-10 15:04:15 +02:00
Pere Diaz Bou
d0d6db301b core/btree: CursorTrait 2025-10-10 15:04:15 +02:00
Jussi Saurio
7725f336b8 Merge 'Fix incorrectly using an equality constraint twice for index seek' from Jussi Saurio
Prevents something like `WHERE x = 5 AND x = 5` from becoming a two
component index key.
Closes #3656

Reviewed-by: Nikita Sivukhin (@sivukhin)

Closes #3658
2025-10-10 13:33:43 +03:00
Jussi Saurio
74e04634aa Fix incorrectly using an equality constraint twice for index seek
Prevents something like `WHERE x = 5 AND x = 5` from becoming a two
component index key.

Closes #3656
2025-10-10 13:19:19 +03:00
Pekka Enberg
12783ef01e Merge 'bindings/java: Add support for publishing to Maven Central' from Kim Seon Woo
## 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
Pekka Enberg
e727b8e0dc Merge 'Vector improvements' from Nikita Sivukhin
This PR introduces sparse vectors support and jaccard distance
implementation.
Also, this PR restructure the code to have all vector operations in
separate files (they grow pretty quickly as new vector representations
added to the DB).

Closes #3647
2025-10-10 13:08:46 +03:00
Pekka Enberg
77924c6c71 Merge 'Optimize sorter' from Jussi Saurio
Various little fixes to `Sorter` that reduce unnecessary work.
Makes TPC-H query 1 roughly 2x faster, which is a lot because it
originally took 30-40 seconds depending on the CI run

Closes #3645
2025-10-10 13:06:53 +03:00
Pekka Enberg
cf22819817 Merge 'Make sqlite_version() compatible with SQLite' from Glauber Costa
I found an application in the open that expects sqlite_version() to
return a specific string (higher than 3.8...).
We had tons of those issues at Scylla, and the lesson was that you tell
your kids not to lie, but when life hits, well... you lie.
We'll add a new function, turso_version, that tells the truth.

Closes #3635
2025-10-10 13:06:36 +03:00
Nikita Sivukhin
51122d3e9c fix clippy 2025-10-10 11:39:06 +04:00
Jussi Saurio
c88061e1eb Merge 'Fix IN operator NULL handling' from Diego Reis
Closes #3277
Basically changed what we used to do to match what and how SQLite does.

Closes #3606
2025-10-10 10:17:57 +03:00
rajajisai
6980128a24 Ignore sqlite_sequence table when dumping tables in .clone 2025-10-09 22:50:18 -04:00
Jussi Saurio
2c698525de Merge 'Cleanup Simulator + Fix Column constraints in sql generation' from Pedro Muniz
- Removed a general clippy rule to allow all dead code and subsequently
removed a lot of dead code
- Fixed Column constraints in Sql Generation to accommodate all Column
constraints available to the Parser and print the constraints in other
sql queries.
- Moved Generation of simulator values to separate files
These are some of the changes I made in my Alter Table PR that I am
upstreaming here

Closes #3649
2025-10-09 23:37:22 +03:00
pedrocarlo
642ec3032d use parser's ColumnDefinition for Sql Generation Column struct 2025-10-09 17:25:04 -03:00
pedrocarlo
fb6c5ffcff move SimValue generation to separate files to facilitate generation of new types of values in the future 2025-10-09 17:25:04 -03:00