You can translate the question and the replies:

Compound data type error

I am trying to create an array data type, I tried the following syntax shared in the below link https://community.denodo.com/docs/html/browse/7.0/vdp/vql/defining_other_elements_of_the_catalog/defining_a_data_type/defining_a_data_type#defining-a-data-type CREATE TYPE registerPhone AS REGISTER OF ( NUMBER:int ); CREATE TYPE arrayPhone AS ARRAY OF registerPhone; It is resulting in below error **Statement: create Type arrayPhone as array of resgisterPhone error creating array: There was an error while loading the type of the field 'resgisterphone'** VDP admin log is below 16798120 [SwingWorker-pool-2-thread-7] ERROR 2020-08-12T20:46:14.713 com.denodo.vdb.vdbinterface.client.util.iterator.VDBResultSetIterator [] - Exception ... com.denodo.vdb.vdbinterface.common.clientResult.VQLException: error creating array: There was an error while loading the type of the field 'resgisterphone' at com.denodo.vdb.vdbinterface.client.printer.standard.StandardPrinter.format(Unknown Source) ~[denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.common.clientResult.ErrorResult.accept(Unknown Source) ~[denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.client.VDBProxy.getNextResult(Unknown Source) ~[denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.client.VDBProxy.getNextResult(Unknown Source) ~[denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.client.VDBProxy.getNextResult(Unknown Source) ~[denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.client.util.iterator.VDBResultSetIterator.hasNext(Unknown Source) [denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.vdbinterface.client.util.iterator.VDBResultSetIterator.hasNext(Unknown Source) [denodo-vdp-client.jar:7.0.0] at com.denodo.vdb.admin.gui.components.vqlshell.actions.ExecuteVQLQueryAction$2.doInBackground(Unknown Source) [denodo-vdp-admintool.jar:7.0.0] at com.denodo.vdb.admin.gui.components.vqlshell.actions.ExecuteVQLQueryAction$2.doInBackground(Unknown Source) [denodo-vdp-admintool.jar:7.0.0] at javax.swing.SwingWorker$1.call(SwingWorker.java:295) [?:1.8.0_162] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_162] at javax.swing.SwingWorker.run(SwingWorker.java:334) [?:1.8.0_162] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] Please advise if I am missing anything.
user
12-08-2020 11:41:07 -0400

3 Answers

Hi, On seeing the error, I think there was a typo while creating the data type. Based on the logs, a type called as ‘resgisterphone’ has been used. While creating the array data type, I believe you were [referring to](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/removing_elements_from_the_catalog/removing_elements_from_the_catalog) 'resgisterphone' instead of 'registerPhone' which resulted to `"error creating array: There was an error while loading the type of the field ‘resgisterphone’"` To resolve this error, I would use the right register data type name while creating the array data type. Hope this helps!
Denodo Team
13-08-2020 07:29:00 -0400
Thank you for the response, As i understand irrespective camel case while declartion in the staement, denodo will always convert them to lowercase. I followed the exact same statements as instructed in the link.while creating a compound data type. https://community.denodo.com/docs/html/browse/7.0/vdp/vql/defining_other_elements_of_the_catalog/defining_a_data_type/defining_a_data_type#defining-a-data-type I tried again with correct spelling, still ended up getting the same error.
user
13-08-2020 08:50:43 -0400
Hi, I was able to reproduce the error "error creating array: There was an error while loading the type of the field 'registerphone'" when executing only the below statement: `CREATE TYPE arrayPhone AS ARRAY OF registerPhone;` To resolve that, first I executed CREATE TYPE statement of "registerPhone" in VQL shell. ``` CREATE TYPE registerPhone AS REGISTER OF ( NUMBER:int ); ``` Once, the registerPhone type is created sucessfully, then executed: `CREATE TYPE arrayPhone AS ARRAY OF registerPhone;` which resulted as "type created successfully". Hence, I would suggest you to follow the sequence correctly in order to get the expected results. Hope this helps!
Denodo Team
20-08-2020 01:55:38 -0400
You must sign in to add an answer. If you do not have an account, you can register here