@@ -2,8 +2,11 @@ import HuggingFaceHub as HF
22using DuckDB
33using JSON3
44using Test
5+ using DataFrames
6+ using FunSQL
57
6- # Get the dataset object by id
8+
9+ # Download dataset files
710synthea_ds = HF. info (HF. Dataset, " JuliaHealthOrg/JuliaHealthDatasets" )
811funsql_ds = HF. info (HF. Dataset, " JuliaHealthOrg/FunSQLQueries" )
912
@@ -21,18 +24,23 @@ data = JSON3.read(read(funsql_dataset_path, String))
2124 sql_query = row[" sql_query" ]
2225 funsql_code = row[" response" ]
2326
24- # Evaluate FunSQL code to get the query object
25- funsql_query = eval (Meta. parse (funsql_code))
27+ try
28+ # Evaluate FunSQL code to get the query object
29+ funsql_query = eval (Meta. parse (funsql_code))
2630
27- # Render FunSQL query to SQL for DuckDB
28- funsql_sql = FunSQL. render (funsql_query, dialect= FunSQL. SQLDialect (:duckdb ))
31+ # Render FunSQL query to SQL for DuckDB
32+ funsql_sql = FunSQL. render (funsql_query, dialect= FunSQL. SQLDialect (:duckdb ))
2933
30- # Execute both queries
31- sql_result = DuckDB. execute (conn, sql_query) |> DataFrame
32- funsql_result = DuckDB. execute (conn, funsql_sql) |> DataFrame
34+ # Execute both queries
35+ sql_result = DuckDB. execute (conn, sql_query) |> DataFrame
36+ funsql_result = DuckDB. execute (conn, funsql_sql) |> DataFrame
3337
34- # Compare results
35- is_equal = sql_result == funsql_result
38+ # Compare results
39+ is_equal = isequal (sql_result, funsql_result)
40+ catch err
41+ @warn " Query $i failed: $err "
42+ is_equal = false
43+ end
3644
3745 @testset " Query $i " begin
3846 @test is_equal
0 commit comments