Bug #2675

column "infinity" does not exist

Added by Chad Berkley over 14 years ago. Updated about 14 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


When uploading certain xml files to metacat via the ecogrid, I get a message that says:
ERROR: column "infinity" does not exist

I'm not sure why it's looking for this column. You can reproduce it from kepler by trying to upload the Current Time actor to the library. Here is a full error from kepler:

Here's the full error:

[java] got lsid client
[java] checking if lsid is already registered
[java] EcogridUtils: The time to create instance is =========== 0
[java] is registered? false
[java] Creating transport KAR file at /Users/berkley/.kepler/cache/tmp/tmp.kar
[java] done writing KAR file to /Users/berkley/.kepler/cache/tmp/tmp.kar
[java] uploading kar file with id
[java] session id: 4EB5CA645287A4E729BCD30072EBCABA
[java] EcogridUtils: The time to create instance is =========== 0
[java] uploaded kar file with id
[java] uploading actor metadata with id
[java] session id: 4EB5CA645287A4E729BCD30072EBCABA
[java] EcogridUtils: The time to create instance is =========== 0
[java] repository: name=keplerRepository, repository=localhost:8080, username=uid=kepler,o=unaffiliated,dc=ecoinformatics,dc=org
[java] org.kepler.objectmanager.repository.RepositoryException: java.rmi.RemoteException:
[java] <error>
[java] ERROR: column "infinity" does not exist
[java] </error>

[java]     at org.kepler.objectmanager.repository.EcogridRepository.put(
[java] at org.kepler.gui.UploadToRepository.upload(
[java] at org.kepler.gui.UploadToRepository.access$000(
[java] at org.kepler.gui.UploadToRepository$UploadSwingWorker.construct(
[java] at util.SwingWorker$
[java] at


#1 Updated by Jing Tao about 14 years ago

This bug was caused by "infinity" is one of reserved word in Java Double class. In xml_nodes table, we have a new attribute to indicate if the node value is a number or not. The testing method we are using is to use the node value to generate Double object. If the generation is successfully, we will treat this node value as number in sql. If the generation gets an exception, we will treat this node value as string. If a node value has "infinity" (Current Time actor has this value in moml file), the generation for this node value will be successfull since "infinity" is a reserved word in Double class. So we will treat "infinity" as a number in sql command. But sql command don't consider "infinity" as a number. So the inserting will fail and we will get the error message.

In previous code, we only consider "NaN" as a reserved word. Now we add "infinity" and this fixed the bug.

#2 Updated by Redmine Admin about 8 years ago

Original Bugzilla ID was 2675

Also available in: Atom PDF