@@ -7,18 +7,18 @@ clean_table!(client, "test_crud")
77 @test result[" name" ] == " test"
88 @test result[" value" ] == 42
99
10- result2 = SurrealDB. create (client, " test_crud:explicit_id" ,
10+ result2 = SurrealDB. create (client, rid " test_crud:explicit_id" ,
1111 Dict (" key" => " val" ))
1212 @test result2 isa AbstractDict
13- @test result2[" id" ] == " test_crud:explicit_id"
13+ @test result2[" id" ] == rid " test_crud:explicit_id"
1414end
1515
1616@testset " Select" begin
1717 result = SurrealDB. select (client, " test_crud" )
1818 @test result isa Vector
1919 @test length (result) >= 1
2020
21- result2 = SurrealDB. select (client, " test_crud:explicit_id" )
21+ result2 = SurrealDB. select (client, rid " test_crud:explicit_id" )
2222 @test result2 isa AbstractDict
2323end
2424
3232end
3333
3434@testset " Update" begin
35- SurrealDB. create (client, " test_crud:update_me" , Dict (" val" => 1 ))
36- result = SurrealDB. update (client, " test_crud:update_me" , Dict (" val" => 2 ))
35+ SurrealDB. create (client, rid " test_crud:update_me" , Dict (" val" => 1 ))
36+ result = SurrealDB. update (client, rid " test_crud:update_me" , Dict (" val" => 2 ))
3737 @test result isa AbstractDict
3838 @test get (result, " val" , nothing ) == 2
3939end
4040
4141@testset " Delete" begin
42- SurrealDB. create (client, " test_crud:del_me" , Dict (" x" => 1 ))
43- result = SurrealDB. delete (client, " test_crud:del_me" )
42+ SurrealDB. create (client, rid " test_crud:del_me" , Dict (" x" => 1 ))
43+ result = SurrealDB. delete (client, rid " test_crud:del_me" )
4444 @test result isa Any
4545end
4646
4747@testset " Upsert" begin
48- result = SurrealDB. upsert (client, " test_crud:upsert_test" , Dict (" val" => 1 ))
48+ result = SurrealDB. upsert (client, rid " test_crud:upsert_test" , Dict (" val" => 1 ))
4949 @test result isa AbstractDict
5050end
5151
5252@testset " Merge" begin
53- SurrealDB. create (client, " test_crud:merge_me" , Dict (" a" => 1 , " b" => 2 ))
54- result = SurrealDB. merge (client, " test_crud:merge_me" , Dict (" b" => 99 ))
53+ SurrealDB. create (client, rid " test_crud:merge_me" , Dict (" a" => 1 , " b" => 2 ))
54+ result = SurrealDB. merge (client, rid " test_crud:merge_me" , Dict (" b" => 99 ))
5555 @test result isa AbstractDict
5656end
5757
5858@testset " Patch" begin
59- SurrealDB. create (client, " test_crud:patch_me" , Dict (" tags" => []))
60- result = SurrealDB. patch (client, " test_crud:patch_me" , [
59+ SurrealDB. create (client, rid " test_crud:patch_me" , Dict (" tags" => []))
60+ result = SurrealDB. patch (client, rid " test_crud:patch_me" , [
6161 Dict (" op" => " add" , " path" => " /tags/0" , " value" => " new" )
6262 ])
6363 @test result isa Any
6464
65- result2 = SurrealDB. patch_add (client, " test_crud:patch_me" , " /tags/1" , " another" )
65+ result2 = SurrealDB. patch_add (client, rid " test_crud:patch_me" , " /tags/1" , " another" )
6666 @test result2 isa Any
6767
68- result3 = SurrealDB. patch_replace (client, " test_crud:patch_me" , " /tags/0" , " updated" )
68+ result3 = SurrealDB. patch_replace (client, rid " test_crud:patch_me" , " /tags/0" , " updated" )
6969 @test result3 isa Any
7070
71- result4 = SurrealDB. patch_remove (client, " test_crud:patch_me" , " /tags/1" )
71+ result4 = SurrealDB. patch_remove (client, rid " test_crud:patch_me" , " /tags/1" )
7272 @test result4 isa Any
7373end
7474
7575@testset " Relate" begin
76- SurrealDB. create (client, " person:rel_a" , Dict (" name" => " Alice" ))
77- SurrealDB. create (client, " person:rel_b" , Dict (" name" => " Bob" ))
78- rel = SurrealDB. Relationship (" person:rel_a" , SurrealDB. Table (" knows" ), " person:rel_b" ,
76+ SurrealDB. create (client, rid " person:rel_a" , Dict (" name" => " Alice" ))
77+ SurrealDB. create (client, rid " person:rel_b" , Dict (" name" => " Bob" ))
78+ rel = SurrealDB. Relationship (rid " person:rel_a" , SurrealDB. Table (" knows" ), rid " person:rel_b" ,
7979 Dict (" since" => " 2024" ))
8080 result = SurrealDB. relate (client, rel)
8181 @test result isa AbstractDict
8282end
8383
8484@testset " Insert relation" begin
85- SurrealDB. create (client, " person:ir_a" , Dict (" name" => " C" ))
86- SurrealDB. create (client, " person:ir_b" , Dict (" name" => " D" ))
87- rel = SurrealDB. Relationship (" person:ir_a" , SurrealDB. Table (" likes" ), " person:ir_b" ,
85+ SurrealDB. create (client, rid " person:ir_a" , Dict (" name" => " C" ))
86+ SurrealDB. create (client, rid " person:ir_b" , Dict (" name" => " D" ))
87+ rel = SurrealDB. Relationship (rid " person:ir_a" , SurrealDB. Table (" likes" ), rid " person:ir_b" ,
8888 Dict (" score" => 10 ))
8989 result = SurrealDB. insert_relation (client, rel)
9090 @test result isa Union{AbstractDict, AbstractVector}
9191end
9292
9393@testset " Create duplicate id" begin
94- SurrealDB. create (client, " test_crud:dup_id" , Dict (" v" => 1 ))
95- @test_throws SurrealDB. SurrealError SurrealDB. create (client, " test_crud:dup_id" , Dict (" v" => 2 ))
94+ SurrealDB. create (client, rid " test_crud:dup_id" , Dict (" v" => 1 ))
95+ @test_throws SurrealDB. SurrealError SurrealDB. create (client, rid " test_crud:dup_id" , Dict (" v" => 2 ))
9696end
9797
9898@testset " Select nonexistent record" begin
99- result = SurrealDB. select (client, " test_crud:does_not_exist_at_all" )
100- @test result isa Union{Vector, Nothing, Dict}
99+ result = SurrealDB. select (client, rid " test_crud:does_not_exist_at_all" )
100+ # v3 returns NONE (decodes to `missing`) for a single missing record;
101+ # legacy / table-form returns an empty Vector.
102+ @test result isa Union{Vector, Nothing, Dict, Missing}
101103end
102104
103105@testset " Update nonexistent record" begin
104106 # v3: update on nonexistent does not throw
105- result = SurrealDB. update (client, " test_crud:no_such_id" , Dict (" x" => 1 ))
107+ result = SurrealDB. update (client, rid " test_crud:no_such_id" , Dict (" x" => 1 ))
106108 @test true
107109end
108110
109111@testset " Merge preserves unmentioned fields" begin
110- SurrealDB. create (client, " test_crud:merge_preserve" , Dict (" a" => 1 , " b" => 2 , " c" => 3 ))
111- result = SurrealDB. merge (client, " test_crud:merge_preserve" , Dict (" b" => 99 ))
112+ SurrealDB. create (client, rid " test_crud:merge_preserve" , Dict (" a" => 1 , " b" => 2 , " c" => 3 ))
113+ result = SurrealDB. merge (client, rid " test_crud:merge_preserve" , Dict (" b" => 99 ))
112114 if result isa AbstractDict
113115 @test get (result, " b" , nothing ) == 99
114116 end
115117end
116118
117119@testset " Upsert update existing" begin
118- SurrealDB. create (client, " test_crud:upsert_existing" , Dict (" val" => 1 ))
119- result = SurrealDB. upsert (client, " test_crud:upsert_existing" , Dict (" val" => 999 ))
120+ SurrealDB. create (client, rid " test_crud:upsert_existing" , Dict (" val" => 1 ))
121+ result = SurrealDB. upsert (client, rid " test_crud:upsert_existing" , Dict (" val" => 999 ))
120122 if result isa AbstractDict
121123 @test get (result, " val" , nothing ) == 999
122124 end
0 commit comments