This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I'm having trouble comparing large BIGINT fields in a MySQL database on Windows. I have an SQL query which performs a '>' comparison between a BIGINT field and a literal number value. When I perform this query from within my Java code I get no results. When I perform the same query from the MySQL command line everything works fine (which is the correct behavior for these numbers). The literal is being passed into my prepared statement using the setLong() method. The numbers I'm dealing with are on the order of 13 digits, so they should fit nicely within the BIGINT structure. But all I can figure is that the number is getting mangled somehow.
It should be noted this same Java code works great on Linux and Mac OS X. It only fails on Windows.
Here is some code to illustrate my problem. Notice the comparison "modified > ?" on the second line of the query. As stated in my previous message, this code works fine on both Linux and Mac OS X. It only fails on Windows.
Since you mentioned Windows as a potential cause of the issue, have you considered updating your lower_case_table_names setting in your MySQL config. It's possible the query is having trouble with the case of table names, especially if your accessing it on multiple platforms.