'nan' error?

my client has just started getting errors in the servoy log that we haven’t
seen before.

here’s the text from the log:

java.sql.SQLException: Column not found: Unknown column 'NaN' in 'where clause'
	at org.gjt.mm.mysql.MysqlIO.sendCommand(MysqlIO.java)
	at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(MysqlIO.java)
	at org.gjt.mm.mysql.Connection.execSQL(Connection.java)
	at org.gjt.mm.mysql.PreparedStatement.executeQuery(PreparedStatement.java)
	at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at com.servoy.j2db.persistence.datasource.p.invoke(Unknown Source)
	at $Proxy1.executeQuery(Unknown Source)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
	at com.servoy.j2db.dataprocessing.SQLEngine.a(Unknown Source)
	at com.servoy.j2db.dataprocessing.SQLEngine.performCustomQuery(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
	at sun.rmi.transport.Transport$1.run(Transport.java:148)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
	at java.lang.Thread.run(Thread.java:552)

strangely enough, we can’t find any users having problems.

i have no idea where to start looking for this problem; any advice would
be greatly appreciated.

thanks in advance.
rm.

NaN means Not-A-Number. This error is thrown to tell you that a value is not a legal number.

I can’t tell you though, why or where you get it…

Why don’t you use a stack trace and find the SQL statement that generates this error? It looks like at least one of the queries is offending and it sure won’t return any results.

i was considering that, but this is a production system, and i
would guess that the large amount of info that would be output
by the stacktrace would degrade system performance…

And if you use that on a test system with mySQL you don’t get this error?

right; we’ve never seen this error in testing.

it looks like a query like this

WHERE column = ? and NaN = ?

is generated. I guess you better wait for answer from the guys who should know…

i appreciate you’re help; thanks for responding!

still waiting to hear from someone at servoy on this…

any help would be appreciated.
thans.
rm.

sorry to be a pest, but i’m still waiting to hear from someone
at servoy on this one…

thanks.

again, I don’t mean to be annoying, but I’ve been waiting
for a few weeks to get some help on this issue. my client
is having this problem still, and they’re asking me to look
into it.

thanks in advance.
rm.

Did you email it to servoy support? The forum is great place to file non mision critical and generic questions to. if you have mission critical questions Servoy famous support (with free quick support and realtime paid for support) is there to help you. Looking at your initial query it looks like it slowly moved from interesting feedback to a critical problem? We also don’t see any replies to patrick’s excellents suggestions from you. Based on what we read our first thought is programming error but again we can only guess with the limited amount of information you post. If you need a quick solution email Servoy support (support@servoy.com) a reproduceable case and they will get back to you very soon.

Thanks Jan;

I’ll send an e-mail to servoy support as you suggest.

rm.