Open mihaibudiu opened 1 year ago
It's because you're trying to perform logical or on strings which doesn't exist, you probably want to call the @dbsp.str.concat_clone()
and @dbsp.str.concat()
functions
Here is am improved JSON program, which causes a different panic, similar to #386
{
"nodes" : {
"78" : {
"Source" : {
"layout" : 1,
"table" : "T"
}
},
"123" : {
"Map" : {
"input" : 78,
"map_fn" : {
"args" : [ {
"id" : 1,
"layout" : 1,
"flags" : "input"
}, {
"id" : 2,
"layout" : 2,
"flags" : "output"
} ],
"ret" : "Unit",
"entry_block" : 1,
"blocks" : {
"1" : {
"id" : 1,
"body" : [ [ 3, {
"Load" : {
"source" : 1,
"source_layout" : 3,
"column" : 3,
"column_type" : "String"
}
} ], [ 4, {
"Constant" : {
"String" : " "
}
} ], [ 5, {
"Call" : {
"function" : "dbsp.str.concat_clone",
"args" : [ 3, 4 ],
"arg_types" : [ {
"Scalar" : "String"
}, {
"Scalar" : "String"
} ],
"ret_ty" : "String"
}
} ], [ 6, {
"Load" : {
"source" : 1,
"source_layout" : 3,
"column" : 3,
"column_type" : "String"
}
} ], [ 7, {
"Call" : {
"function" : "dbsp.str.concat_clone",
"args" : [ 5, 6 ],
"arg_types" : [ {
"Scalar" : "String"
}, {
"Scalar" : "String"
} ],
"ret_ty" : "String"
}
} ], [ 8, {
"Store" : {
"target" : 2,
"target_layout" : 2,
"column" : 0,
"value" : {
"Expr" : 7
},
"value_type" : "String"
}
} ] ],
"terminator" : {
"Return" : {
"value" : {
"Imm" : "Unit"
}
}
}
}
}
},
"output_layout" : {
"Set" : 2
},
"input_layout" : {
"Set" : 1
}
}
},
"125" : {
"Sink" : {
"input" : 123,
"query" : "CREATE VIEW V AS SELECT T.COL4 || ' ' || T.COL4 FROM T"
}
}
},
"layouts" : {
"1" : {
"columns" : [ {
"nullable" : false,
"ty" : "I32"
}, {
"nullable" : false,
"ty" : "F64"
}, {
"nullable" : false,
"ty" : "Bool"
}, {
"nullable" : false,
"ty" : "String"
}, {
"nullable" : true,
"ty" : "I32"
}, {
"nullable" : true,
"ty" : "F64"
} ]
},
"2" : {
"columns" : [ {
"nullable" : false,
"ty" : "String"
} ]
},
"3" : {
"columns" : [ {
"nullable" : false,
"ty" : "I32"
}, {
"nullable" : false,
"ty" : "F64"
}, {
"nullable" : false,
"ty" : "Bool"
}, {
"nullable" : false,
"ty" : "String"
}, {
"nullable" : true,
"ty" : "I32"
}, {
"nullable" : true,
"ty" : "F64"
} ]
}
}
}
Yet another kind of panic:
JSON: