diff --git a/sdks/julia/LogicalQueryProtocol.jl/src/properties.jl b/sdks/julia/LogicalQueryProtocol.jl/src/properties.jl index dd57c823..5c27af5b 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/src/properties.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/src/properties.jl @@ -149,6 +149,15 @@ function global_ids(data::Data) end end return ids + elseif dt.name == :iceberg_data + iceberg_data = dt[]::IcebergData + ids = LQPRelationId[] + for column in iceberg_data.columns + if !isnothing(column.target_id) + push!(ids, persistent_id(column.target_id)) + end + end + return ids else @assert _is_valid_data(data) end @@ -156,5 +165,5 @@ end function _is_valid_data(data::Data) dt = data.data_type - return !isnothing(dt) && dt.name in [:edb, :betree_relation, :csv_data] + return !isnothing(dt) && dt.name in [:edb, :betree_relation, :csv_data, :iceberg_data] end diff --git a/sdks/julia/LogicalQueryProtocol.jl/test/jet_test.jl b/sdks/julia/LogicalQueryProtocol.jl/test/jet_test.jl index a49b60a8..806b7d81 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/test/jet_test.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/test/jet_test.jl @@ -17,7 +17,8 @@ # At runtime, the preceding `_has_proto_field` guard ensures correctness. function is_oneof_field_false_positive(report) msg = sprint(show, report) - return occursin("has no field args", msg) || occursin("has no field scale", msg) + return occursin("has no field args", msg) || occursin("has no field scale", msg) || + occursin("has no field data_columns", msg) end # Filter BoundsError false positives from array internals in generated code.