Project

General

Profile

Bug #2675

column "infinity" does not exist

Added by Chad Berkley about 13 years ago. Updated almost 13 years ago.

Status:
Resolved
Priority:
Immediate
Assignee:
Category:
metacat
Target version:
Start date:
11/22/2006
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
2675

Description

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

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 urn:lsid:kepler-project.org:actor:2:1 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 urn:lsid:kepler-project.org:kar:7:1
[java] session id: 4EB5CA645287A4E729BCD30072EBCABA
[java] EcogridUtils: The time to create instance is =========== 0
[java] uploaded kar file with id urn:lsid:kepler-project.org:kar:7:1
[java] uploading actor metadata with id urn:lsid:kepler-project.org:actor:2:1
[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(EcogridRepository.java:176)
[java] at org.kepler.gui.UploadToRepository.upload(UploadToRepository.java:273)
[java] at org.kepler.gui.UploadToRepository.access$000(UploadToRepository.java:75)
[java] at org.kepler.gui.UploadToRepository$UploadSwingWorker.construct(UploadToRepository.java:449)
[java] at util.SwingWorker$2.run(SwingWorker.java:122)
[java] at java.lang.Thread.run(Thread.java:613)

History

#1 Updated by Jing Tao almost 13 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 over 6 years ago

Original Bugzilla ID was 2675

Also available in: Atom PDF