Project

General

Profile

Actions

Bug #2675

closed

column "infinity" does not exist

Added by Chad Berkley almost 18 years ago. Updated over 17 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)
Actions #1

Updated by Jing Tao over 17 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.

Actions #2

Updated by Redmine Admin over 11 years ago

Original Bugzilla ID was 2675

Actions

Also available in: Atom PDF