Bugs item #1631298, was opened at 2007-01-09 10:36
Message generated for change (Comment added) made by sjoerd
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1631298&group_id=56967
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Core
Group: MonetDB4 CVS Head
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Jan Rittinger (tsheyar)
Assigned to: Nobody/Anonymous (nobody)
Summary: MonetDBs NaN support broken
Initial Comment:
The support for NaN values seems to be broken (see below examples) as it
results in random results. (To support NaN in XQuery NaN in C (MonetDB) seems
the only feasible solution so it would be great if this could be fixed.)
MonetDB>var a := bat (void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl(nil)).append(dbl("nan"));
MonetDB>print(a.select (dbl(nil), dbl(nil)));
#-----------------#
# h t # name
# oid dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], nan ]
MonetDB>a := bat (void,dbl).seqbase([EMAIL PROTECTED]).append(dbl("nan"));
MonetDB>print(a.select (dbl(nil), dbl(nil)));
#-----------------#
# h t # name
# void dbl # type
#-----------------#
MonetDB>a := bat (void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl("nan")).append(dbl("nan"));
MonetDB>print(a.select (dbl(nil), dbl(nil)));
#-----------------#
# h t # name
# void dbl # type
#-----------------#
MonetDB>a := bat (void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan"));
MonetDB>print(a.select (dbl(nil), dbl(nil)));
#-----------------#
# h t # name
# void dbl # type
#-----------------#
MonetDB>a := bat (void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan")).append(dbl(nil));
MonetDB>print(a.select (dbl(nil), dbl(nil)));
#-----------------#
# h t # name
# void dbl # type
#-----------------#
----------------------------------------------------------------------
>Comment By: Sjoerd Mullender (sjoerd)
Date: 2007-02-19 14:03
Message:
Logged In: YES
user_id=43607
Originator: NO
So, what is it that we want to do here?
Do we want to support NaN's fully or do we want to map them to nil?
----------------------------------------------------------------------
Comment By: Stefan Manegold (stmane)
Date: 2007-01-23 11:53
Message:
Logged In: YES
user_id=572415
Originator: NO
It seems as if NaN's do break both property management and property
checking; or at least, property management/checking seem to ignore NaN's
and then the select on supposely "sorted" tails (falling back to a slice)
fails:
========
MonetDB>debugmask(10);
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan")).append(dbl(3));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], NaN ]
[ [EMAIL PROTECTED], 3 ]
[ "65" ]
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl(nil)).append(dbl("nan"));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], nil ]
[ [EMAIL PROTECTED], NaN ]
[ "0" ]
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan")).append(dbl(nil));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], NaN ]
[ [EMAIL PROTECTED], nil ]
[ "65" ]
MonetDB>debugmask(0);
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan")).append(dbl(3));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], NaN ]
[ [EMAIL PROTECTED], 3 ]
[ "65" ]
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl(nil)).append(dbl("nan"));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], nil ]
[ [EMAIL PROTECTED], NaN ]
[ "0" ]
MonetDB>a := bat
(void,dbl).seqbase([EMAIL
PROTECTED]).append(dbl(2)).append(dbl("nan")).append(dbl(nil));
print(a); a.info().find("tsorted").print();
#-----------------#
# h t # name
# void dbl # type
#-----------------#
[ [EMAIL PROTECTED], 2 ]
[ [EMAIL PROTECTED], NaN ]
[ [EMAIL PROTECTED], nil ]
[ "65" ]
MonetDB>
=======
Open questions:
What are the semantics of NaN's wrt. properties like sortedness?
Should they destroy the properties, ust like NILs do?
Should select(nil,nil) (supposely returning all non-nil values) also
return NaN's?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1631298&group_id=56967
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs