Missing type information for constants in MAL explain #6073
Last updated: 2016-12-21 13:07:29 +0100
Date: 2016-10-10 16:23:46 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
This is related to Bug #6072.
The output of this explain should be parsable in a MAL session, but it misses type information on a constant. Missing type information means that during parsing the type is guessed wrongly.
From here, we can already see that C_16 will fail, because X_14 is :bat[:dbl] and the constant is 1, which means 1:int
Here's the MAL session:
Indeed, constant 1 is re-parsed as i:int, when it was meant to be 1:dbl.
Notice that this is visible only when setting cache=false. Otherwise, the constant would be turned into a (correctly typed) function parameter A0:dbl.
Date: 2016-10-11 19:28:18 +0200
Fixed in default branch
Date: 2016-10-11 19:28:42 +0200
For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=2539534aa3d1
Date: 2016-10-18 11:51:17 +0200
I need to reopen it, because the fix was meant for Bug #6072 (which can be closed), not for this one.
Date: 2016-10-26 23:32:09 +0200
Re-parsing the MAL output also requires that the signatures of the SQL parts are known. This requires importing their signature files, e.g. include sql;
Furthermore, a SQL environment should be set up to enable their execution.
Date: 2016-11-03 11:10:08 +0100
Martin, perhaps I'm not understanding well your last suggestion.
before defining the function, but that doesn't fix it.
My impression is that constants are always printed with no type information.
Date: 2016-11-13 23:21:35 +0100
You are right. It is better to keep the type name around as well in most cases.
Enhanced the mal_listing routine to show it.
The text was updated successfully, but these errors were encountered: