limbo/core
Preston Thorpe d6ceda8dcb
Merge 'fix(core/translate): apply affinity conversion to hash join build and probe keys' from Nuno Gonçalves
## Description
This PR adds missing affinity conversion to hash joins by applying
affinity conversion to build and probe keys before hashing.
```
turso> CREATE TABLE x(a INTEGER);
turso> CREATE TABLE y(b TEXT);
turso> INSERT INTO x VALUES (2),(3);
turso> INSERT INTO y VALUES ('02'),('2'),('2.0'),('3x'),('3.5');
turso> SELECT a, b
  FROM x JOIN y ON a = b
  ORDER BY a, b;
┌───┬─────┐
│ a │ b   │
├───┼─────┤
│ 2 │ 02  │
├───┼─────┤
│ 2 │ 2   │
├───┼─────┤
│ 2 │ 2.0 │
└───┴─────┘
```
## Motivation and context
Fixes #3482.
Currently, Turso returns an empty result set:
```
turso> CREATE TABLE x(a INTEGER);
turso> CREATE TABLE y(b TEXT);
turso> INSERT INTO x VALUES (2),(3);
turso> INSERT INTO y VALUES ('02'),('2'),('2.0'),('3x'),('3.5');
turso> SELECT a, b
  FROM x JOIN y ON a = b
  ORDER BY a, b;
turso>
```
Expected behavior:
```
sqlite> CREATE TABLE x(a INTEGER);
sqlite> CREATE TABLE y(b TEXT);
sqlite> INSERT INTO x VALUES (2),(3);
sqlite> INSERT INTO y VALUES ('02'),('2'),('2.0'),('3x'),('3.5');
sqlite> SELECT a, b
   ...>   FROM x JOIN y ON a = b
   ...>   ORDER BY a, b;
2|02
2|2
2|2.0
```
## Description of AI Usage
This PR was developed with assistance from Claude Sonnet 4.5 through
code completions.

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

Closes #4317
2025-12-21 21:08:29 -05:00
..
benches fix more places to avoid using run_once 2025-12-19 17:20:45 -03:00
ext adjust run_one_step_blocking 2025-12-19 17:20:46 -03:00
functions fix unicode char boundary related panic in parse_modifier() 2025-12-11 17:18:11 +02:00
incremental fix(core): prevent ALTER COLUMN from resulting in tables with only generated columns 2025-12-19 21:52:36 +00:00
index_method refine comment 2025-12-10 16:02:42 +04:00
io Add yield_now() and sleep() to IO trait 2025-12-21 18:29:52 +02:00
json fix(json): properly serialize infinite values 2025-12-16 10:15:29 +00:00
mvcc refactor more places to use helper statement functions + create run_one_step_blocking 2025-12-19 17:20:45 -03:00
numeric feat: add CAST to fuzzer 2025-09-24 18:06:55 -03:00
storage rename with_shared_mut to with_shared_mut_dangerous 2025-12-21 18:38:01 +02:00
time
translate chore(format): cargo fmt 2025-12-21 17:15:11 +00:00
vdbe Return BusySnapshot instead of Busy for stale snapshot in begin_write_tx 2025-12-21 18:35:03 +02:00
vector fix clippy 2025-11-28 16:08:11 +05:30
assert.rs
build.rs do not run build.rs on debug mode 2025-10-16 01:22:54 -03:00
Cargo.toml Improve Android compatibility 2025-12-06 23:37:40 +01:00
error.rs Add BusySnapshot error type 2025-12-21 18:29:39 +02:00
fast_lock.rs remove some unnecessary unsafe impls 2025-09-21 13:29:59 -03:00
function.rs Add scalar functions to properly support analyze behavior 2025-12-09 19:45:06 -05:00
info.rs
lib.rs Merge 'Sync fixes' from Nikita Sivukhin 2025-12-19 17:56:01 -05:00
parameters.rs rename methods in core a little bit 2025-11-27 14:12:47 +04:00
pragma.rs support table_xinfo pragma 2025-11-20 17:38:10 +04:00
pseudo.rs clippy 2025-10-09 19:00:40 +03:00
schema.rs fix(core): prevent ALTER COLUMN from resulting in tables with only generated columns 2025-12-19 21:52:36 +00:00
series.rs
state_machine.rs mvcc: simplify StateMachine 2025-09-22 16:37:31 +03:00
statement.rs add internal method to acquire IO from statement for sdk kit 2025-12-19 17:20:46 -03:00
stats.rs remove Statement::run_once and create helper run_with_row_callback 2025-12-19 17:20:45 -03:00
types.rs fix/mvcc: seek() must seek from both mv store and btree 2025-12-05 11:53:16 +02:00
util.rs Merge 'Fix incorrect conversion from TEXT to INTEGER when text is a number followed by a trailing non-breaking space' from Krishna Vishal 2025-12-20 10:33:15 -05:00
uuid.rs
vtab.rs fix bug 2025-12-03 02:37:59 +04:00