OIM 9102 Schema - OSI_CHILD_OLD_VALUE column in OSI table

Hello,
OIM 9102 database schema has a table name called OSI which I think holds information about tasks.
There is a column in the OSI table called “OSI_CHILD_OLD_VALUE” (Blob type). Did anyone familiar with the content of this column? What information it contains and which use case will trigger the read on the this table column?
Thanks,

Hello,
I want to decrypt this particular column (OSI_CHILD_OLD_VALUE) value (type: CLOB). So, basically i need CLOB to byte [] - note that decrpt methods is overloaded.
My program is working for type: String - it could decrypt other encrypted OIM database fields like USR_UDF_ENCRYPTED_CUSTOM_FIELD, CUSTOM FORM FIELDS, etc...
Snippet:
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
Clob osiClob = rs.getClob("OSI_CHILD_OLD_VALUE");
long clobLength = osiClob.length();
// I tried with below clob data extraction methods
     <extracted_value_using> = osiClob.getAsciiStream()/osiClob.getCharacterStream()/osiClob.getSubString();
byte[] decryptedVal = com.thortech.xl.crypto.tcCryptoUtil.decrypt(<extracted_value_using>,"DBSecretKey");
System.out.println("Decrypted Value -->" + decryptedVal);
Finding it pretty challenging as it is not working only for CLOB column. Any help will be appreciated.
Thanks,

Similar Messages

  • WARN  kodo.jdbc.Schema  - Existing column "JDOID" on table

    Sorry, I've posted this before and never got back with some debug.
    I'm getting
    WARN kodo.jdbc.Schema - Existing column "JDOID" on table "<TABLE NAME
    HERE>" is incompatible with the same column in the given schema definition.
    I running
    kodo.jdbc.meta.MappingTool.main("-a","buildSchema","persistent.class(s)"...
    Here my complete trace output (Kodo 3.0.1)
    0 [23.01.04 10:04:39,712] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.alert.config.AlertConfiguration" with action
    "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.alert.config.MonitoredInteractionType" with
    action "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.alert.config.MonitoredSourceProcessType"
    with action "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.alert.Alert" with action "buildSchema".
    2303 [23.01.04 10:04:42,015] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.ClientConfiguration" with
    action "buildSchema".
    2573 [23.01.04 10:04:42,285] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.ClientIdentity" with action
    "buildSchema".
    2573 [23.01.04 10:04:42,285] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.ConfigurationOption" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.ConfigurationValue" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.FileTrackingConfiguration"
    with action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.GeneralConfiguration" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.InteractionNotification" with
    action "buildSchema".
    2593 [23.01.04 10:04:42,305] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.NotificationType" with action
    "buildSchema".
    2603 [23.01.04 10:04:42,315] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.client.PCIdentity" with action
    "buildSchema".
    2613 [23.01.04 10:04:42,325] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.pc.PCConfiguration" with action
    "buildSchema".
    2643 [23.01.04 10:04:42,355] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.server.ConsoleAdminUser" with action
    "buildSchema".
    2693 [23.01.04 10:04:42,405] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.server.SafeArea" with action
    "buildSchema".
    2723 [23.01.04 10:04:42,435] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.server.ServerConfiguration" with
    action "buildSchema".
    2813 [23.01.04 10:04:42,525] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.config.server.TemplateDefinition" with
    action "buildSchema".
    2813 [23.01.04 10:04:42,525] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.connection.ConnectCommand" with action
    "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.interaction.EntityInteraction"
    with action "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping tool running
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionFileElement" with
    action "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping tool running
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionFileProperty" with
    action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping tool running
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionProperty" with
    action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping tool running
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionSourceIdentity"
    with action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.Entity" with action
    "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.EntityChronicle" with action
    "buildSchema".
    2883 [23.01.04 10:04:42,595] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.EntityLocation" with action
    "buildSchema".
    2883 [23.01.04 10:04:42,595] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.EntityLocationFilePath" with
    action "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.EntityNode" with action
    "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Mapping tool running
    on type "class com.jario.server.entitymodel.EntityProperty" with action
    "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Recording mapping and
    schema changes.
    2953 [23.01.04 10:04:42,665] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ALERT".
    2983 [23.01.04 10:04:42,695] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "alert".
    2983 [23.01.04 10:04:42,695] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALERTCONFIGURATION_JDOID" on table "alert".
    2983 [23.01.04 10:04:42,695] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALERTNAME" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TYPESTR" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TYPE_NULL" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ALERTCONFIG".
    3034 [23.01.04 10:04:42,746] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALERTGRANUALITY_NULL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALERTGRANULARITYLEVEL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "CLIENTNOTIFICATIONGROUP_NULL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYNODE_JDOID" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "alertconfig".
    3064 [23.01.04 10:04:42,776] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TYPESTR" on table "alertconfig".
    3064 [23.01.04 10:04:42,776] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ALERTCONFIG_EXTERNPROCTYPE".
    3074 [23.01.04 10:04:42,786] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "EXCLUDEDSOURCEPROCESSTYP_JDOID" on table
    "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "EXCLUDEDSOURCEPROCESSTYP_ORDER" on table
    "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name
    "ALERTCONFIG_MONINTERACTTYPE".
    3084 [23.01.04 10:04:42,796] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "alertconfig_moninteracttype".
    3084 [23.01.04 10:04:42,796] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "alertconfig_moninteracttype".
    3084 [23.01.04 10:04:42,796] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "MONITOREDINTERACTIONTYP_JDOID" on table
    "alertconfig_moninteracttype".
    3094 [23.01.04 10:04:42,806] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "MONITOREDINTERACTIONTYP_ORDER" on table
    "alertconfig_moninteracttype".
    3094 [23.01.04 10:04:42,806] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CLIENTALERTCONFIG".
    3104 [23.01.04 10:04:42,816] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALERTTYPE" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "clientalertconfig".
    3114 [23.01.04 10:04:42,826] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name
    "CLIENTALERTCONFIG_NOTIFYSET".
    3114 [23.01.04 10:04:42,826] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "INTERACTIONNOTIFYSET_JDOID" on table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "INTERACTIONNOTIFYSET_ORDER" on table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CLIENTCONFIG".
    3144 [23.01.04 10:04:42,856] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "CLIENTIDENTITY_JDOID" on table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FILETRACKINGCONFIG_JDOID" on table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "GENERALCONFIGURATION_JDOID" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name
    "CLIENTCONFIG_ALLALERTCONFIG".
    3184 [23.01.04 10:04:42,896] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientconfig_allalertconfig".
    3184 [23.01.04 10:04:42,896] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALLALERTSCONFIGURATION_JDOID" on table
    "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ALLALERTSCONFIGURATION_ORDER" on table
    "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CLIENTFILETRACKINGCONFIG".
    3234 [23.01.04 10:04:42,946] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "EXCLUDEDFOLDERS_JDOID" on table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FILETYPES_JDOID" on table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CLIENTGENERALCONFIG".
    3264 [23.01.04 10:04:42,976] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "clientgeneralconfig".
    3274 [23.01.04 10:04:42,986] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "LANGUAGE_JDOID" on table "clientgeneralconfig".
    3274 [23.01.04 10:04:42,986] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "LOADMESSENGERONSTARTUP_JDOID" on table "clientgeneralconfig".
    3284 [23.01.04 10:04:42,996] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "LOADVIEWERONSTARTUP_JDOID" on table "clientgeneralconfig".
    3284 [23.01.04 10:04:42,996] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CLIENTIDENTITY".
    3324 [23.01.04 10:04:43,036] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "DOMAINSTR" on table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "clientidentity".
    3334 [23.01.04 10:04:43,046] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "clientidentity".
    3344 [23.01.04 10:04:43,056] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "USERNAME" on table "clientidentity".
    3354 [23.01.04 10:04:43,066] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONFIGOPTION".
    3384 [23.01.04 10:04:43,096] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "configoption".
    3384 [23.01.04 10:04:43,096] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "MANDATORY" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "SELECTED" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "VALUESTR" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONFIGVALUE".
    3414 [23.01.04 10:04:43,126] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "LOCKED" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "MULTIOPTION" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "SAVEDELETEDOPTIONS" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONFIGVALUE_DELETEOPTIONS".
    3454 [23.01.04 10:04:43,166] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "DELETEDOPTIONS_JDOID" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "DELETEDOPTIONS_ORDER" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONFIGVALUE_OPTIONS".
    3464 [23.01.04 10:04:43,176] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "OPTIONS_JDOID" on table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "OPTIONS_ORDER" on table "configvalue_options".
    3474 [23.01.04 10:04:43,186] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONNECTIONCOMMAND".
    3474 [23.01.04 10:04:43,186] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "connectioncommand".
    3474 [23.01.04 10:04:43,186] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "connectioncommand".
    3474 [23.01.04 10:04:43,186] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "SENDERSPCIDENTITY_JDOID" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "CONSOLEADMINUSER".
    3494 [23.01.04 10:04:43,206] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "PASSWORD" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "USERNAME" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITY".
    3544 [23.01.04 10:04:43,256] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entity".
    3544 [23.01.04 10:04:43,256] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYNODE_JDOID" on table "entity".
    3544 [23.01.04 10:04:43,256] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "HASHCODE" on table "entity".
    3554 [23.01.04 10:04:43,266] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entity".
    3564 [23.01.04 10:04:43,276] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entity".
    3564 [23.01.04 10:04:43,276] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entity".
    3574 [23.01.04 10:04:43,286] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYCHRONICLE".
    3584 [23.01.04 10:04:43,296] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entitychronicle".
    3584 [23.01.04 10:04:43,296] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ROOTENTITYNODE_JDOID" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTER".
    3604 [23.01.04 10:04:43,316] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "EXACTTIMESTAMP" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FILEELEMENT_JDOID" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "INTERACTIONTYPE_NULL" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "OLDFILEELEMENT_JDOID" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "SOURCEIDENTITY_JDOID" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "SOURCEPROCESSNAME" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TIMESTAMPDATE" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TYPESTR" on table "entityinter".
    3624 [23.01.04 10:04:43,336] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTERFILEELEMENT".
    3634 [23.01.04 10:04:43,346] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinterfileelement".
    3634 [23.01.04 10:04:43,346] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FILESTORAGETYPE_NULL" on table "entityinterfileelement".
    3644 [23.01.04 10:04:43,356] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FULLPATH" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "HASHCODE" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "REMOTELOCALPATH" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "TYPESTR" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name
    "ENTITYINTERFILEELEMENT_ENTPROP".
    3684 [23.01.04 10:04:43,396] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYINTERACTIONPROPS_JDOID" on table
    "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYINTERACTIONPROPS_ORDER" on table
    "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinterfileelement_entprop".
    3694 [23.01.04 10:04:43,406] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTERFILEPROPERTY".
    3704 [23.01.04 10:04:43,416] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "KEYSTR" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "VALUESTR" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTERPROPERTY".
    3734 [23.01.04 10:04:43,446] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "KEYSTR" on table "entityinterproperty".
    3744 [23.01.04 10:04:43,456] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "VALUESTR" on table "entityinterproperty".
    3744 [23.01.04 10:04:43,456] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTERSOURCEIDENTITY".
    3754 [23.01.04 10:04:43,466] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "CLIENTIDENTITY_JDOID" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOCLASS" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOVERSION" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "PCIDENTITY_JDOID" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYINTER_ENTPROP".
    3775 [23.01.04 10:04:43,487] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entityinter_entprop".
    3775 [23.01.04 10:04:43,487] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYINTERACTIONPROPS_JDOID" on table "entityinter_entprop".
    3775 [23.01.04 10:04:43,487] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "ENTITYINTERACTIONPROPS_ORDER" on table "entityinter_entprop".
    3775 [23.01.04 10:04:43,487] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "JDOID" on table "entityinter_entprop".
    3805 [23.01.04 10:04:43,517] [main] INFO kodo.jdbc.Schema - Reading table
    information for schema name "null", table name "ENTITYLOCATION".
    3815 [23.01.04 10:04:43,527] [main] INFO kodo.jdbc.Schema - Reading column
    information for table "entitylocation".
    3815 [23.01.04 10:04:43,527] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "CREATORENTITYINTERACTION_JDOID" on table "entitylocation".
    3815 [23.01.04 10:04:43,527] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "DELETED" on table "entitylocation".
    3815 [23.01.04 10:04:43,527] [main] DEBUG kodo.jdbc.Schema - Found existing
    column "FILESTORAGETYPE_NULL" on tabl

    Any Ideas on the warns I'm getting via running
    'kodo.jdbc.meta.MappingTool.main'
    For every table I have:
    'WARN kodo.jdbc.Schema - Existing column "JDOID" on table "<TABLE NAME
    HERE>" is incompatible with the same column in the given schema definition.'
    Kind Regards
    Graham Cruickshanks
    (Now running Kodo 3.0.2)
    "Graham Cruickshanks" <[email protected]> wrote in message
    news:[email protected]...
    Sorry, I've posted this before and never got back with some debug.
    I'm getting
    WARN kodo.jdbc.Schema - Existing column "JDOID" on table "<TABLE NAME
    HERE>" is incompatible with the same column in the given schemadefinition.
    >
    I running
    kodo.jdbc.meta.MappingTool.main("-a","buildSchema","persistent.class(s)"...
    >
    Here my complete trace output (Kodo 3.0.1)
    0 [23.01.04 10:04:39,712] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.alert.config.AlertConfiguration" withaction
    "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.alert.config.MonitoredInteractionType"with
    action "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.alert.config.MonitoredSourceProcessType"
    with action "buildSchema".
    2253 [23.01.04 10:04:41,965] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.alert.Alert" with action "buildSchema".
    2303 [23.01.04 10:04:42,015] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.ClientConfiguration" with
    action "buildSchema".
    2573 [23.01.04 10:04:42,285] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.ClientIdentity" with action
    "buildSchema".
    2573 [23.01.04 10:04:42,285] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.ConfigurationOption" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.ConfigurationValue" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.FileTrackingConfiguration"
    with action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.GeneralConfiguration" with
    action "buildSchema".
    2583 [23.01.04 10:04:42,295] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.InteractionNotification"with
    action "buildSchema".
    2593 [23.01.04 10:04:42,305] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.NotificationType" withaction
    "buildSchema".
    2603 [23.01.04 10:04:42,315] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.client.PCIdentity" with action
    "buildSchema".
    2613 [23.01.04 10:04:42,325] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.pc.PCConfiguration" with action
    "buildSchema".
    2643 [23.01.04 10:04:42,355] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.server.ConsoleAdminUser" withaction
    "buildSchema".
    2693 [23.01.04 10:04:42,405] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.server.SafeArea" with action
    "buildSchema".
    2723 [23.01.04 10:04:42,435] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.server.ServerConfiguration" with
    action "buildSchema".
    2813 [23.01.04 10:04:42,525] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.config.server.TemplateDefinition" with
    action "buildSchema".
    2813 [23.01.04 10:04:42,525] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.connection.ConnectCommand" with action
    "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.interaction.EntityInteraction"
    with action "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionFileElement"with
    action "buildSchema".
    2863 [23.01.04 10:04:42,575] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionFileProperty"with
    action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionProperty" with
    action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class
    com.jario.server.entitymodel.interaction.EntityInteractionSourceIdentity"
    with action "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.Entity" with action
    "buildSchema".
    2873 [23.01.04 10:04:42,585] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.EntityChronicle" with action
    "buildSchema".
    2883 [23.01.04 10:04:42,595] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.EntityLocation" with action
    "buildSchema".
    2883 [23.01.04 10:04:42,595] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.EntityLocationFilePath" with
    action "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.EntityNode" with action
    "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Mapping toolrunning
    on type "class com.jario.server.entitymodel.EntityProperty" with action
    "buildSchema".
    2903 [23.01.04 10:04:42,615] [main] INFO kodo.Tool - Recording mappingand
    schema changes.
    2953 [23.01.04 10:04:42,665] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ALERT".
    2983 [23.01.04 10:04:42,695] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "alert".
    2983 [23.01.04 10:04:42,695] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALERTCONFIGURATION_JDOID" on table "alert".
    2983 [23.01.04 10:04:42,695] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALERTNAME" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TYPESTR" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TYPE_NULL" on table "alert".
    2993 [23.01.04 10:04:42,705] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ALERTCONFIG".
    3034 [23.01.04 10:04:42,746] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALERTGRANUALITY_NULL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALERTGRANULARITYLEVEL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "CLIENTNOTIFICATIONGROUP_NULL" on table "alertconfig".
    3044 [23.01.04 10:04:42,756] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ENTITYNODE_JDOID" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "alertconfig".
    3054 [23.01.04 10:04:42,766] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "alertconfig".
    3064 [23.01.04 10:04:42,776] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TYPESTR" on table "alertconfig".
    3064 [23.01.04 10:04:42,776] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name"ALERTCONFIG_EXTERNPROCTYPE".
    >
    3074 [23.01.04 10:04:42,786] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "EXCLUDEDSOURCEPROCESSTYP_JDOID" on table
    "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "EXCLUDEDSOURCEPROCESSTYP_ORDER" on table
    "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "alertconfig_externproctype".
    3074 [23.01.04 10:04:42,786] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name
    "ALERTCONFIG_MONINTERACTTYPE".
    3084 [23.01.04 10:04:42,796] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "alertconfig_moninteracttype".
    3084 [23.01.04 10:04:42,796] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "alertconfig_moninteracttype".
    3084 [23.01.04 10:04:42,796] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "MONITOREDINTERACTIONTYP_JDOID" on table
    "alertconfig_moninteracttype".
    3094 [23.01.04 10:04:42,806] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "MONITOREDINTERACTIONTYP_ORDER" on table
    "alertconfig_moninteracttype".
    3094 [23.01.04 10:04:42,806] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CLIENTALERTCONFIG".
    3104 [23.01.04 10:04:42,816] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALERTTYPE" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientalertconfig".
    3104 [23.01.04 10:04:42,816] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "clientalertconfig".
    3114 [23.01.04 10:04:42,826] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name
    "CLIENTALERTCONFIG_NOTIFYSET".
    3114 [23.01.04 10:04:42,826] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "INTERACTIONNOTIFYSET_JDOID" on table"clientalertconfig_notifyset".
    >
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "INTERACTIONNOTIFYSET_ORDER" on table"clientalertconfig_notifyset".
    >
    3124 [23.01.04 10:04:42,836] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientalertconfig_notifyset".
    3124 [23.01.04 10:04:42,836] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CLIENTCONFIG".
    3144 [23.01.04 10:04:42,856] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "CLIENTIDENTITY_JDOID" on table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "FILETRACKINGCONFIG_JDOID" on table "clientconfig".
    3154 [23.01.04 10:04:42,866] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "GENERALCONFIGURATION_JDOID" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "clientconfig".
    3164 [23.01.04 10:04:42,876] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name
    "CLIENTCONFIG_ALLALERTCONFIG".
    3184 [23.01.04 10:04:42,896] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientconfig_allalertconfig".
    3184 [23.01.04 10:04:42,896] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALLALERTSCONFIGURATION_JDOID" on table
    "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ALLALERTSCONFIGURATION_ORDER" on table
    "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientconfig_allalertconfig".
    3194 [23.01.04 10:04:42,906] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CLIENTFILETRACKINGCONFIG".
    3234 [23.01.04 10:04:42,946] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "EXCLUDEDFOLDERS_JDOID" on table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "FILETYPES_JDOID" on table "clientfiletrackingconfig".
    3234 [23.01.04 10:04:42,946] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "clientfiletrackingconfig".
    3244 [23.01.04 10:04:42,956] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CLIENTGENERALCONFIG".
    3264 [23.01.04 10:04:42,976] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientgeneralconfig".
    3264 [23.01.04 10:04:42,976] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "clientgeneralconfig".
    3274 [23.01.04 10:04:42,986] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "LANGUAGE_JDOID" on table "clientgeneralconfig".
    3274 [23.01.04 10:04:42,986] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "LOADMESSENGERONSTARTUP_JDOID" on table "clientgeneralconfig".
    3284 [23.01.04 10:04:42,996] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "LOADVIEWERONSTARTUP_JDOID" on table "clientgeneralconfig".
    3284 [23.01.04 10:04:42,996] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CLIENTIDENTITY".
    3324 [23.01.04 10:04:43,036] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "DOMAINSTR" on table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "clientidentity".
    3324 [23.01.04 10:04:43,036] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "clientidentity".
    3334 [23.01.04 10:04:43,046] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "clientidentity".
    3344 [23.01.04 10:04:43,056] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "USERNAME" on table "clientidentity".
    3354 [23.01.04 10:04:43,066] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CONFIGOPTION".
    3384 [23.01.04 10:04:43,096] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "configoption".
    3384 [23.01.04 10:04:43,096] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "MANDATORY" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "SELECTED" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "VALUESTR" on table "configoption".
    3394 [23.01.04 10:04:43,106] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CONFIGVALUE".
    3414 [23.01.04 10:04:43,126] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "configvalue".
    3424 [23.01.04 10:04:43,136] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "LOCKED" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "MULTIOPTION" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "SAVEDELETEDOPTIONS" on table "configvalue".
    3434 [23.01.04 10:04:43,146] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name"CONFIGVALUE_DELETEOPTIONS".
    >
    3454 [23.01.04 10:04:43,166] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "DELETEDOPTIONS_JDOID" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "DELETEDOPTIONS_ORDER" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "configvalue_deleteoptions".
    3454 [23.01.04 10:04:43,166] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CONFIGVALUE_OPTIONS".
    3464 [23.01.04 10:04:43,176] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "OPTIONS_JDOID" on table "configvalue_options".
    3464 [23.01.04 10:04:43,176] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "OPTIONS_ORDER" on table "configvalue_options".
    3474 [23.01.04 10:04:43,186] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CONNECTIONCOMMAND".
    3474 [23.01.04 10:04:43,186] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "connectioncommand".
    3474 [23.01.04 10:04:43,186] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "connectioncommand".
    3474 [23.01.04 10:04:43,186] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "SENDERSPCIDENTITY_JDOID" on table "connectioncommand".
    3484 [23.01.04 10:04:43,196] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "CONSOLEADMINUSER".
    3494 [23.01.04 10:04:43,206] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "PASSWORD" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "USERNAME" on table "consoleadminuser".
    3494 [23.01.04 10:04:43,206] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITY".
    3544 [23.01.04 10:04:43,256] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entity".
    3544 [23.01.04 10:04:43,256] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ENTITYNODE_JDOID" on table "entity".
    3544 [23.01.04 10:04:43,256] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "HASHCODE" on table "entity".
    3554 [23.01.04 10:04:43,266] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entity".
    3564 [23.01.04 10:04:43,276] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entity".
    3564 [23.01.04 10:04:43,276] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entity".
    3574 [23.01.04 10:04:43,286] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITYCHRONICLE".
    3584 [23.01.04 10:04:43,296] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entitychronicle".
    3584 [23.01.04 10:04:43,296] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ROOTENTITYNODE_JDOID" on table "entitychronicle".
    3594 [23.01.04 10:04:43,306] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITYINTER".
    3604 [23.01.04 10:04:43,316] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "EXACTTIMESTAMP" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "FILEELEMENT_JDOID" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "INTERACTIONTYPE_NULL" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entityinter".
    3604 [23.01.04 10:04:43,316] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "OLDFILEELEMENT_JDOID" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "SOURCEIDENTITY_JDOID" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "SOURCEPROCESSNAME" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TIMESTAMPDATE" on table "entityinter".
    3614 [23.01.04 10:04:43,326] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TYPESTR" on table "entityinter".
    3624 [23.01.04 10:04:43,336] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITYINTERFILEELEMENT".
    3634 [23.01.04 10:04:43,346] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityinterfileelement".
    3634 [23.01.04 10:04:43,346] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "FILESTORAGETYPE_NULL" on table "entityinterfileelement".
    3644 [23.01.04 10:04:43,356] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "FULLPATH" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "HASHCODE" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "REMOTELOCALPATH" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "TYPESTR" on table "entityinterfileelement".
    3674 [23.01.04 10:04:43,386] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name
    "ENTITYINTERFILEELEMENT_ENTPROP".
    3684 [23.01.04 10:04:43,396] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ENTITYINTERACTIONPROPS_JDOID" on table
    "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "ENTITYINTERACTIONPROPS_ORDER" on table
    "entityinterfileelement_entprop".
    3684 [23.01.04 10:04:43,396] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityinterfileelement_entprop".
    3694 [23.01.04 10:04:43,406] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITYINTERFILEPROPERTY".
    3704 [23.01.04 10:04:43,416] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityinterfileproperty".
    3714 [23.01.04 10:04:43,426] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "KEYSTR" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "VALUESTR" on table "entityinterfileproperty".
    3724 [23.01.04 10:04:43,436] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name "ENTITYINTERPROPERTY".
    3734 [23.01.04 10:04:43,446] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOVERSION" on table "entityinterproperty".
    3734 [23.01.04 10:04:43,446] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "KEYSTR" on table "entityinterproperty".
    3744 [23.01.04 10:04:43,456] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "VALUESTR" on table "entityinterproperty".
    3744 [23.01.04 10:04:43,456] [main] INFO kodo.jdbc.Schema - Readingtable
    information for schema name "null", table name"ENTITYINTERSOURCEIDENTITY".
    >
    3754 [23.01.04 10:04:43,466] [main] INFO kodo.jdbc.Schema - Readingcolumn
    information for table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "CLIENTIDENTITY_JDOID" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOCLASS" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DEBUG kodo.jdbc.Schema - Foundexisting
    column "JDOID" on table "entityintersourceidentity".
    3765 [23.01.04 10:04:43,477] [main] DE

  • Create a table which has columns from another table in other schema

    Hi All
    I need to create a table which is table driven i.e., the columns of that table need to be inserted from another table in a different schema...Can any one help me with this??

    create table newtab (--column spec here--) as
    Select --columns here-- from otherschema.tablename;max

  • Aggregate of all Columns in each table for the entire schema

    I want to calculate the report of Aggregate of all Columns in each table for the entire schema in Oracle. Pls let me know which approach is best to do this.
    Thanks in advance !!

    Not sure about your requirement..
    This?
    select table_name,sum(data_length) sm
    from user_tab_cols
    group by table_name;                                                                                                                                                                                                                                                                           

  • All columns of all table in one schema

    Hi
    All,
    Oralce 10.2.0.3
    I want to count all columns in all the table in one particular schema.
    How can I do that?
    which view i should use to count all cloumns of all tables in particular schema?
    Thanks

    vishal patel wrote:
    we needed for our data conversion project..I don't know how you'll use the number of columns in all a schema for data conversion. Some columns are duplicated (e.g. PK/FK), should they really count for two ?
    A data conversion means you should actually know what are the columns used for, not how many they are.
    one more question that count include hidden columns
    what is hidden column used for ? I can not see those columns in actual table.See here an example :
    Re: Difference btwn user_tab_cols & user_tab_columns
    Nicolas.

  • How to show current date in a column of dimension table in ssas

    Hi,
    I have 2 dimension tables (ALLWORK and YOURWORK) and 1 measure table (STATS). In ALLWORK dim table, I have 4 columns, one of them is END_DATE. Based on END_DATE and current date I want to create a named calculation field. To achieve this, I
    want to show the current date in 5th column (of ALLWORK dim table) as calculated member (as named calculation wont show me correct date).
    Problem is, I am not able to create the column in the dimension table. While creating the calculated member, I am not able to select the ALLWORK dimension table, it always selects MEASURE by default. Please help.
    thanks
    Tarique
    thanks and regards Tarique Aslam

    Hi Tarique,
    According to your description, you want to add a column to your dimension to show the current date, right?
    In data source view, we can add named calculation to your table. A named calculation is a SQL expression represented as a calculated column. This expression appears and behaves as a column in the table. A named calculation lets you extend the relational
    schema of existing tables or views in a data source view without modifying the tables or views in the underlying data source.
    Reference
    http://msdn.microsoft.com/en-in/library/ms174859.aspx
    http://devmau5.wordpress.com/2010/03/25/the-getdate-of-mdx/
    If I have anything misunderstand, please point it out.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Advice needed on designing schema to accomodate multiple transaction tables.

    Hi,
    The attached images shows my current schema. It consists of three transaction tables, a product table and a calendar table.
    - Background -
    The product table 'Q1 Data Set' contains all unique sales. In addition it also contains a number of columns by which I will later filter my pivot tables (e.g. whether the customer of the order is new/returning). This
    table also contains a column named 'DateOrdered',the date the order was originally placed (but not paid). 
    Each sale that is paid can be done so either in a single transaction, or across multiple transactions of different transaction types.
    An example of a sale  paid in multiple parts would be an order that has three transactions;
    one online (table 'trans_sagepay',
    one over the phone (table'trans_epdq')
    and another by card (table'trans_manual'). Furthermore there can be more than one transaction of each type for an sale.
    I have created measures which total the sales in each transaction table.
    Each transaction has a 'transaction_date' which is the date of that individual transaction.
    The calendar is simply a date table that has some friendly formatted columns for laying out pivot tables. An example column
    is FiscalMonthAbbrv which displays months similar to '(04) - January'
    to accommodate our fiscal year.
    - Problem -
    My problem is that I need the ability to create some tables that have the
    Date Ordered as the rows (listed by Year>Month), and I need to produce other tables that have
    Transaction Date as the rows.  
    Date ordered works fine, however the problem comes when I try and create a table based on the transaction date.
    With the current model seen in the attached image I cannot do it because the transactions have a relationship to
    Q1 Data Set and this table has the relationship with the
    Cal_Trans table. What happens in this scenario is that whenever I set the rows to be FiscalMonthAbbr  the values it displays is the transactions based not on transaction date but date ordered. To explain further:
    If I have an order A with a DateOrdered of 01/01/2014, but the transaction of £100 for that order was made later on the 05/01/2014, that £100 is incorrectly attributed to the 01/01/2014.
    To clarify the type of table I am aiming for see the mock-up below, I however NEED the ability to filter this table using columns found in
    Q1 Data Set.
    How can I make a schema so that I can use both DateOrdered and TransactionDate? I cannot combine all three transaction tables into one because each transaction type has columns unique to that specific type.

    Thanks for your suggestions, at the moment I don't have time to prepare a non-confidential copy of the data model, however I've taken one step forward, and one step back!
    First to clarify; to calculate sales of each transaction type I have created the following measures (I've given them friendly names):
    rev_cash
    rev_online
    rev_phone
    I then have a measure called rev_total which sums together the above measures. This allows me to calculate total revenue, but also to break it down by transaction type.
    With this in mind I revised the schema based on Visakh original suggestion to look like this:
    Using this I was able to produce a table which looked like that below:
    There were two issues with this:
    If I add the individual measures for each transaction type I get no errors, as soon as I add the 'Total Sales' measure on the end of the table I get an error "Relationship between tables may be needed". Seemingly however the numbers still calculate as expected
    - what is causing this error and how do I remove it?
    I CAN with this scenario filter by 'phd' which is a column in the Q1 Data Set table
    and it works as expected. I cannot however filter by all columns in this table, an example would be 'word count'.
    'Word Count' is a integer column, each record in the Q1 Data Set table has a value set for this column.
    I would like to take the column above and add a new measure called 'Total Word Count' (which I have created) which will calculate the total number of words in that monthly period. When I add this however I get the same relationship error as above and it
    display the word count total for the entire source tbale for every row of the pivot table.
    How can I get this schema working so that I can filter by word count and other columns from the product table. It Is confusing me how I can filter by one column, but not by a another in the same table.
    Also, I don't fully understand how I would add a second date table or how it would help my issues.
    Thanks very much for you help.

  • ORA 01792 maximum number of columns in a table or view is 1000

    Hello every1, I wish to register a large xmlschema doc, I am using the command
    begin
    dbms_xmlschema.registerschema(
    schemaurl=>'xxxx',
    schemadoc=>bfilename('XMLDIR','xxxxxx.xsd'),
    csid=>nls_charset_id('AL32UTF8'));
    end;
    But the schema file exists 1000 col and it gives me the error msg of
    ORA-01792: maximum number of columns in a table or view is 1000
    is there anyway to solve the problems without edit the original schema document?
    Thanks for your help

    First create this package
    create or replace package XDB_ANALYZE_XMLSCHEMA_10200
    authid CURRENT_USER
    as
      function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2) return XMLTYPE;
      function analyzeComplexType(COMPLEX_TYPE VARCHAR2) return XMLTYPE;
      procedure renameCollectionTable (XMLTABLE varchar2, XPATH varchar2, COLLECTION_TABLE_PREFIX varchar2);
      function printNestedTables(XML_TABLE varchar2) return XMLType;
      function getComplexTypeElementList(P_SQLTYPE VARCHAR2, P_SQLSCHEMA VARCHAR2) return XDB.XDB$XMLTYPE_REF_LIST_T;
      procedure scopeXMLReferences;
      procedure indexXMLReferences(INDEX_NAME VARCHAR2);
      function generateSchemaFromTable(P_TABLE_NAME varchar2, P_OWNER varchar2 default USER) return XMLTYPE;
      function showSQLTypes(schemaFolder varchar2) return XMLType;
      function generateCreateTableStatement(XML_TABLE_NAME varchar2, NEW_TABLE_NAME varchar2) return CLOB;
    end XDB_ANALYZE_XMLSCHEMA_10200;
    show errors
    create or replace package body XDB_ANALYZE_XMLSCHEMA_10200
    as
    G_DEPTH_COUNT NUMBER(2) := 0;
    TYPE BASETYPE_T is RECORD  
      SUBTYPE               varchar2(128),
      SUBTYPE_OWNER         varchar2(32),
      BASETYPE              varchar2(128),
      BASETYPE_OWNER        varchar2(32)
    TYPE BASETYPE_LIST_T IS TABLE OF BASETYPE_T;
    BASETYPE_LIST            BASETYPE_LIST_T := BASETYPE_LIST_T();
    function findStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2,  P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES') return XMLType;
    function getLocalAttributes(P_TYPE_NAME varchar2, P_TYPE_OWNER VARCHAR2) return XMLType;
    function makeElement(P_NAME varchar2)
    return xmltype
    as
      V_NAME varchar2(4000) := P_NAME;
    begin
      -- -- dbms_output.put_line('Processing : ' || P_NAME);
      if (P_NAME LIKE '%$') then
        V_NAME := SUBSTR(V_NAME,1,LENGTH(V_NAME) - 1);
      end if;
      if (P_NAME LIKE '%$%') then
        V_NAME := REPLACE(V_NAME,'$','_0x22_');
      end if;
      return XMLTYPE( '<' || V_NAME || '/>');
    end;
    function getPathToRoot(SUBTYPE VARCHAR2, SUBTYPE_OWNER VARCHAR2)
    return varchar2
    as
      TYPE_HIERARCHY varchar2(4000);
    begin
       SELECT sys_connect_by_path( OWNER || '.' || TYPE_NAME , '/')
         INTO TYPE_HIERARCHY
         FROM ALL_TYPES
        WHERE TYPE_NAME = SUBTYPE
          AND OWNER = SUBTYPE_OWNER
              CONNECT BY SUPERTYPE_NAME = PRIOR TYPE_NAME
                     AND SUPERTYPE_OWNER = PRIOR OWNER
              START WITH SUPERTYPE_NAME IS NULL
                     AND SUPERTYPE_OWNER IS NULL;
       return TYPE_HIERARCHY;
    end;
    function expandSQLType(ATTR_NAME VARCHAR2, SUBTYPE VARCHAR2, SUBTYPE_OWNER VARCHAR2)
    return XMLType
    as
      STORAGE_MODEL       XMLTYPE;
      ATTRIBUTES          XMLTYPE;
      EXTENDED_TYPE       XMLTYPE;
      ATTR_COUNT          NUMBER := 0;
      CURSOR FIND_EXTENDED_TYPES
      is
      select TYPE_NAME, OWNER
        from ALL_TYPES
       where SUPERTYPE_NAME  = SUBTYPE
         and SUPERTYPE_OWNER = SUBTYPE_OWNER;
    begin
      -- dbms_output.put_line('Processing SQLType  : "' || SUBTYPE_OWNER || '.' || SUBTYPE || '".' );
      STORAGE_MODEL := makeElement(ATTR_NAME);
      select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@type',SUBTYPE)
        into STORAGE_MODEL
        from dual;
      select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@typeOwner',SUBTYPE_OWNER)
        into STORAGE_MODEL
        from dual;
      ATTRIBUTES := getLocalAttributes(SUBTYPE, SUBTYPE_OWNER);         
      ATTR_COUNT := ATTR_COUNT + ATTRIBUTES.extract('/' || ATTRIBUTES.getRootElement() || '/@columns').getNumberVal();
      select appendChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),ATTRIBUTES)
        into STORAGE_MODEL        
        from DUAL;
      for t in FIND_EXTENDED_TYPES loop
         EXTENDED_TYPE := expandSQLType('ExtendedType',T.TYPE_NAME,T.OWNER);
         ATTR_COUNT := ATTR_COUNT + EXTENDED_TYPE.extract('/' || EXTENDED_TYPE.getRootElement() || '/@columns').getNumberVal();
         select appendChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),EXTENDED_TYPE)
           into STORAGE_MODEL
           from DUAL;   
      end loop;
      select insertChildXML(STORAGE_MODEL,'/' || STORAGE_MODEL.getRootElement(),'@columns',ATTR_COUNT)
        into STORAGE_MODEL
        from dual;
      return STORAGE_MODEL;
    end;
    function getLocalAttributes(P_TYPE_NAME varchar2, P_TYPE_OWNER VARCHAR2)
    return XMLType
    as
      V_ATTRIBUTE_COUNT     NUMBER := 0;
      V_TOTAL_ATTRIBUTES    NUMBER := 0;
      V_TEMP_RESULT         NUMBER;
      V_COLLECTION_TYPE     varchar2(32);
      V_COLLECTION_OWNER    varchar2(32);
      CURSOR FIND_CHILD_ATTRS
      is
      select ATTR_NAME, ATTR_TYPE_OWNER, ATTR_TYPE_NAME, INHERITED
        from ALL_TYPE_ATTRS
       where TYPE_NAME = P_TYPE_NAME
         and OWNER = P_TYPE_OWNER
         and INHERITED = 'NO'
       order by ATTR_NO;       
      V_ATTR                    DBMS_XMLDOM.DOMATTR;
      V_ATTRIBUTE_LIST      XMLTYPE;
      V_ATTRIBUTE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
      V_ATTRIBUTE_LIST_ROOT     DBMS_XMLDOM.DOMELEMENT;
      V_ATTRIBUTE           XMLTYPE;
      V_ATTRIBUTE_DOCUMENT                DBMS_XMLDOM.DOMDOCUMENT;
      V_ATTRIBUTE_ROOT                    DBMS_XMLDOM.DOMELEMENT;
      V_TYPE_DEFINITION     XMLTYPE;
      V_TYPE_DEFINITION_DOCUMENT  DBMS_XMLDOM.DOMDOCUMENT;
      V_TYPE_DEFINITION_ROOT      DBMS_XMLDOM.DOMELEMENT;
    begin    
      V_ATTRIBUTE_LIST          := makeElement('Attributes');
      V_ATTRIBUTE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
      V_ATTRIBUTE_LIST_ROOT     := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
      for ATTR in FIND_CHILD_ATTRS loop
        -- Finding Element / Attribute Name could be tricky. Use SQLName
        V_ATTRIBUTE          := makeElement(ATTR.ATTR_NAME);
        V_ATTRIBUTE_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE);
        V_ATTRIBUTE_ROOT     := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_DOCUMENT);
        begin
          -- Check for Attributes based on collection types, With Nested Table storage each Collection will cost 2 columns.
          select ELEM_TYPE_NAME, ELEM_TYPE_OWNER
            into V_COLLECTION_TYPE, V_COLLECTION_OWNER
            from ALL_COLL_TYPES
           where TYPE_NAME = ATTR.ATTR_TYPE_NAME
             and OWNER = ATTR.ATTR_TYPE_OWNER;
          -- -- dbms_output.put_line('Adding "' || ATTR.ATTR_NAME || '". Collection of "' || ATTR.ATTR_TYPE_OWNER || '"."' || ATTR.ATTR_TYPE_NAME || '".');
          -- Attribute is a Collection Type.
          -- Collection will be managed as a NESTED TABLE
          -- Each Collection cost 2 columns.
          -- May want to count the number of columns in the NESTED_TABLE at a later date.
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLCollType');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLCollTypeOwner');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_OWNER);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,V_COLLECTION_TYPE);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLTypeOwner');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,V_COLLECTION_OWNER);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,2);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
        exception
          when no_data_found then
            -- Attribute is not a collection type.
            begin
              -- Check for Attributes based on non-scalar types.
              select 1
                into V_TEMP_RESULT
                from ALL_TYPES
               where TYPE_NAME = ATTR.ATTR_TYPE_NAME
                 and OWNER = ATTR.ATTR_TYPE_OWNER;
              -- Attribute is based on a non-scalar type. Find the Storage Model for this type.
              V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
                             DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
              V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
              V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLTypeOwner');
                             DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_OWNER);
              V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
              V_TYPE_DEFINITION            := findStorageModel(ATTR.ATTR_TYPE_NAME, ATTR.ATTR_TYPE_OWNER, 'YES');   
              V_TYPE_DEFINITION_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
              V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_TYPE_DEFINITION_DOCUMENT);
              V_ATTRIBUTE_COUNT            := DBMS_XMLDOM.GETATTRIBUTE(V_TYPE_DEFINITION_ROOT,'columns');
              V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_ATTRIBUTE_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),TRUE));
              V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT)));
              DBMS_XMLDOM.FREEDOCUMENT(V_TYPE_DEFINITION_DOCUMENT);
              if (ATTR.ATTR_TYPE_NAME = 'XDB$ENUM_T' and ATTR.ATTR_TYPE_OWNER = 'XDB') then
                -- The cost of a XDB$ENUM_T is 2 columns
                V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
                               DBMS_XMLDOM.SETVALUE(V_ATTR,2);
                V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
              else
                -- The cost of a non scalar Type is the number of attributes plus one for Type and one for the TYPEID.
                V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
                               DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT + 2);
                V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
              end if;
            exception
              when no_data_found then
                 -- Attribute is based on a scalar type
                 V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'SQLType');
                                DBMS_XMLDOM.SETVALUE(V_ATTR,ATTR.ATTR_TYPE_NAME);
                 V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
                 V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_DOCUMENT,'columns');
                                DBMS_XMLDOM.SETVALUE(V_ATTR,1);
                 V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_ROOT,V_ATTR);
            end;
        end;
        V_TOTAL_ATTRIBUTES     := V_TOTAL_ATTRIBUTES + DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_ROOT,'columns');
        V_ATTRIBUTE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_ATTRIBUTE_LIST_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT),TRUE));
        V_ATTRIBUTE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_ROOT)));
        DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_DOCUMENT);
        if (V_TOTAL_ATTRIBUTES > 25000) then
          exit;
        end if;
      end loop;
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_ATTRIBUTE_LIST_DOCUMENT,'columns');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,V_TOTAL_ATTRIBUTES);
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ATTRIBUTE_LIST_ROOT,V_ATTR);
      return V_ATTRIBUTE_LIST;
    end;
    function getSubTypes(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
    return XMLType
    as
      CURSOR FIND_SUBTYPES
      is
      select TYPE_NAME, OWNER
        from ALL_TYPES
       where SUPERTYPE_NAME  = P_TYPE_NAME
         and SUPERTYPE_OWNER = P_TYPE_OWNER; 
      CURSOR FIND_SUBTYPE_HEIRARCHY
      is
      select LEVEL, TYPE_NAME, OWNER
        from ALL_TYPES
       where TYPE_NAME <> P_TYPE_NAME
         and OWNER <> P_TYPE_OWNER
             connect by SUPERTYPE_NAME = PRIOR TYPE_NAME
                    and SUPERTYPE_OWNER = PRIOR OWNER
             start with TYPE_NAME = P_TYPE_NAME
                    and OWNER = P_TYPE_OWNER;
      V_SUBTYPE_LIST                 XMLType;
      V_SUBTYPE_LIST_DOCUMENT        DBMS_XMLDOM.DOMDOCUMENT;
      V_SUBTYPE_LIST_ROOT            DBMS_XMLDOM.DOMELEMENT;
      V_TYPE_DEFINITION              XMLType;
      V_TYPE_DEFINITION_DOCUMENT     DBMS_XMLDOM.DOMDOCUMENT;
      V_TYPE_DEFINITION_ROOT         DBMS_XMLDOM.DOMELEMENT;
      V_SUBTYPE_DEFINITIONS          XMLType;
      V_SUBTYPE_DEFINITIONS_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
      V_SUBTYPE_DEFINITIONS_ROOT     DBMS_XMLDOM.DOMELEMENT;
      V_ATTRIBUTE_LIST               XMLType;
      V_ATTRIBUTE_LIST_DOCUMENT      DBMS_XMLDOM.DOMDOCUMENT;
      V_ATTRIBUTE_LIST_ROOT          DBMS_XMLDOM.DOMELEMENT;
      V_SUBTYPES_EXIST               BOOLEAN := FALSE;
      V_TOTAL_columns                number;
      V_ATTRIBUTE_COUNT              number;
      V_ATTR                         DBMS_XMLDOM.DOMATTR;
      V_COMPLEX_TYPE                 VARCHAR2(256);
    begin
      V_SUBTYPE_LIST          := makeElement('SubTypeDefinitions');
      V_SUBTYPE_LIST_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_LIST);
      V_SUBTYPE_LIST_ROOT     := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_LIST_DOCUMENT);
      V_TOTAL_columns := 0;
      for t in FIND_SUBTYPES() loop
        V_SUBTYPES_EXIST  := TRUE;
        V_TYPE_DEFINITION            := makeElement(t.TYPE_NAME);
        V_TYPE_DEFINITION_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
        V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_TYPE_DEFINITION_DOCUMENT);
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'SQLTypeOwner');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,t.OWNER);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
        begin
          select x.XMLDATA.NAME
            into V_COMPLEX_TYPE
            from XDB.XDB$COMPLEX_TYPE x
           where x.XMLDATA.SQLTYPE = t.TYPE_NAME
             and x.XMLDATA.SQLSCHEMA = t.OWNER;
          V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'type');
                         DBMS_XMLDOM.SETVALUE(V_ATTR,V_COMPLEX_TYPE);
          V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
          -- Consider adding Schema URL Attribute
        exception
          when no_data_found then
            null;
          when others then
            raise;
        end;
        V_ATTRIBUTE_LIST            := getLocalAttributes(t.TYPE_NAME, t.OWNER);  
        V_ATTRIBUTE_LIST_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
        V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
        V_ATTRIBUTE_COUNT           := DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_LIST_ROOT,'columns');
        V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_TYPE_DEFINITION_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),TRUE));
        V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT)));
        DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_LIST_DOCUMENT);
        V_SUBTYPE_DEFINITIONS       := getSubTypes(t.TYPE_NAME,t.OWNER);
        if (V_SUBTYPE_DEFINITIONS is not NULL) then
          V_SUBTYPE_DEFINITIONS_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_DEFINITIONS);
          V_SUBTYPE_DEFINITIONS_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_DEFINITIONS_DOCUMENT);
          V_ATTRIBUTE_COUNT                := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUBTYPE_DEFINITIONS_ROOT,'columns');
          V_SUBTYPE_DEFINITIONS_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_TYPE_DEFINITION_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUBTYPE_DEFINITIONS_ROOT),TRUE));
          V_SUBTYPE_DEFINITIONS_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),DBMS_XMLDOM.MAKENODE(V_SUBTYPE_DEFINITIONS_ROOT)));
        end if;
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_TYPE_DEFINITION_DOCUMENT,'columns');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_TYPE_DEFINITION_ROOT,V_ATTR);
        V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_SUBTYPE_LIST_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT),TRUE));
        V_TYPE_DEFINITION_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_SUBTYPE_LIST_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION_ROOT)));
        V_TOTAL_columns := V_TOTAL_columns + V_ATTRIBUTE_COUNT;
      end loop;
      if (V_SUBTYPES_EXIST) then
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_SUBTYPE_LIST_DOCUMENT,'columns');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,V_TOTAL_columns);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_SUBTYPE_LIST_ROOT,V_ATTR);
        return V_SUBTYPE_LIST;
      else
        return NULL;
      end if;
    end;
    function findSuperTypeModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
    return XMLType
    as
    begin
      -- dbms_output.put_line('Processing Super Type : "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '"');
      return findStorageModel(P_TYPE_NAME, P_TYPE_OWNER,'NO');
    end;
    function getStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2, P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES')
    return XMLType
    as
      V_TYPE_DEFINITION      XMLTYPE;
      V_ATTRIBUTE_COUNT      NUMBER := 0;
      SUBTYPE_STORAGE_MODEL  XMLTYPE;
      V_SUPERTYPE_DEFINITION XMLTYPE;
      V_SUPERTYPE_DOCUMENT   DBMS_XMLDOM.DOMDOCUMENT;
      V_SUPERTYPE_ROOT       DBMS_XMLDOM.DOMELEMENT;
      V_SUBTYPE_DEFINITION XMLTYPE;
      V_SUBTYPE_DOCUMENT   DBMS_XMLDOM.DOMDOCUMENT;
      V_SUBTYPE_ROOT       DBMS_XMLDOM.DOMELEMENT;
      V_ATTRIBUTE_LIST          XMLTYPE;
      V_ATTRIBUTE_LIST_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
      V_ATTRIBUTE_LIST_ROOT     DBMS_XMLDOM.DOMELEMENT;
      cursor FIND_SUPERTYPE_HEIRARCHY
      is
      select TYPE_NAME, OWNER
        from ALL_TYPES
       where TYPE_NAME <> P_TYPE_NAME
         and OWNER <> P_TYPE_OWNER
             connect by TYPE_NAME = PRIOR SUPERTYPE_NAME
                    and OWNER = PRIOR SUPERTYPE_OWNER
             start with TYPE_NAME = P_TYPE_NAME
                    and OWNER = P_TYPE_OWNER
       order by LEVEL;
      V_COMPLEX_TYPE        varchar2(256);
      V_SUPERTYPE_NAME      varchar2(256);
      v_SUPERTYPE_OWNER     varchar2(256);
      V_DOCUMENT            DBMS_XMLDOM.DOMDOCUMENT;
      V_ROOT                DBMS_XMLDOM.DOMELEMENT;
      V_ATTR                DBMS_XMLDOM.DOMATTR;
    begin
      -- dbms_output.put_line('Generating Storage Model for : "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '"');
      V_TYPE_DEFINITION := makeElement(P_TYPE_NAME);
      V_DOCUMENT  := DBMS_XMLDOM.NEWDOMDOCUMENT(V_TYPE_DEFINITION);
      V_ROOT      := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_DOCUMENT);
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLTypeOwner');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_OWNER);
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
      begin
        select x.XMLDATA.NAME
          into V_COMPLEX_TYPE
          from XDB.XDB$COMPLEX_TYPE x
         where x.XMLDATA.SQLTYPE = P_TYPE_NAME
           and x.XMLDATA.SQLSCHEMA = P_TYPE_OWNER;
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'type');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,V_COMPLEX_TYPE);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
        -- Consider adding Schema URL Attribute
      exception
        when no_data_found then
          null;
        when others then
          raise;
      end;
      select SUPERTYPE_NAME, SUPERTYPE_OWNER
        into V_SUPERTYPE_NAME, V_SUPERTYPE_OWNER
        from ALL_TYPES
       where TYPE_NAME = P_TYPE_NAME
         and OWNER = P_TYPE_OWNER;
      -- Process SuperType. 
      if (V_SUPERTYPE_NAME is not null) then
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLParentType');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,V_SUPERTYPE_NAME);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
        V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLParentTypeOwner');
                       DBMS_XMLDOM.SETVALUE(V_ATTR,V_SUPERTYPE_OWNER);
        V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
        -- Find the Definition for the super type. Do not include the definition of it's subtypes.
        V_SUPERTYPE_DEFINITION := findSuperTypeModel(V_SUPERTYPE_NAME, V_SUPERTYPE_OWNER);
        -- -- dbms_output.put_line(dbms_lob.substr(V_SUPERTYPE_DEFINITION.getClobVal(),1000,1));
        V_SUPERTYPE_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUPERTYPE_DEFINITION);
        V_SUPERTYPE_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUPERTYPE_DOCUMENT);
        V_ATTRIBUTE_COUNT      := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUPERTYPE_ROOT,'columns');
        V_SUPERTYPE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUPERTYPE_ROOT),TRUE));
        V_SUPERTYPE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_SUPERTYPE_ROOT)));
        DBMS_XMLDOM.FREEDOCUMENT(V_SUPERTYPE_DOCUMENT);
      end if;
      -- Process Attributes defined directly by the Type.
      V_ATTRIBUTE_LIST            := getLocalAttributes(P_TYPE_NAME, P_TYPE_OWNER);  
      V_ATTRIBUTE_LIST_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_ATTRIBUTE_LIST);
      V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_ATTRIBUTE_LIST_DOCUMENT);
      V_ATTRIBUTE_COUNT           := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_ATTRIBUTE_LIST_ROOT,'columns');
      V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT),TRUE));
      V_ATTRIBUTE_LIST_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_ATTRIBUTE_LIST_ROOT)));
      DBMS_XMLDOM.FREEDOCUMENT(V_ATTRIBUTE_LIST_DOCUMENT);
      if (P_INCLUDE_SUBTYPES = 'YES') then
        -- Process any Sub-Types...
        V_SUBTYPE_DEFINITION := getSubTypes(P_TYPE_NAME, P_TYPE_OWNER);
        if (V_SUBTYPE_DEFINITION is not null) then
          V_SUBTYPE_DOCUMENT   := DBMS_XMLDOM.NEWDOMDOCUMENT(V_SUBTYPE_DEFINITION);
          V_SUBTYPE_ROOT       := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_SUBTYPE_DOCUMENT);
          V_ATTRIBUTE_COUNT    := V_ATTRIBUTE_COUNT + DBMS_XMLDOM.GETATTRIBUTE(V_SUBTYPE_ROOT,'columns');
          V_SUBTYPE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_SUBTYPE_ROOT),TRUE));
          V_SUBTYPE_ROOT       := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_SUBTYPE_ROOT)));   
          DBMS_XMLDOM.FREEDOCUMENT(V_SUBTYPE_DOCUMENT);
        end if;
      end if;
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'columns');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,V_ATTRIBUTE_COUNT);
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
      -- Cache the type definition.
      -- dbms_output.put_line('Cached Storage Model for "' || P_TYPE_OWNER || '.' || P_TYPE_NAME || '".');
      insert into XDBPM.XDBPM_STORAGE_MODEL_CACHE (TYPE_NAME, TYPE_OWNER, EXTENDED_DEFINITION, STORAGE_MODEL) VALUES (P_TYPE_NAME, P_TYPE_OWNER, P_INCLUDE_SUBTYPES, V_TYPE_DEFINITION);
      return V_TYPE_DEFINITION;
    end;
    function findStorageModel(P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2, P_INCLUDE_SUBTYPES VARCHAR2 DEFAULT 'YES')
    -- Find the Storage Model for the Base Type.
    -- If the type is derived from another type we need the storage model of the Base Type
    -- As storage models are calculated they are cached in the global temporary table XDBPM_STORAGE_MODEL_CACHE. This makes
    -- the process much more efficient. A global temporary table is used to minimize memory usage.
    return XMLType
    as
      V_STORAGE_MODEL          XMLType;
      V_STORAGE_MODEL_DOCUMENT DBMS_XMLDOM.DOMDOCUMENT;
      V_STORAGE_MODEL_ROOT     DBMS_XMLDOM.DOMELEMENT;
      V_ATTRIBUTE_COUNT        VARCHAR2(10);
    begin
      dbms_output.put_line('findStorageModel(' || G_DEPTH_COUNT || ') : Processing "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '".' );
      begin
        SELECT STORAGE_MODEL
          into V_STORAGE_MODEL
          from XDBPM.XDBPM_STORAGE_MODEL_CACHE
         where TYPE_NAME = P_TYPE_NAME
           and TYPE_OWNER = P_TYPE_OWNER
           and EXTENDED_DEFINITION = P_INCLUDE_SUBTYPES;
         -- dbms_output.put_line('Resolved Storage Model from cache.');
      exception
        when no_data_found then
          G_DEPTH_COUNT := G_DEPTH_COUNT + 1;
          V_STORAGE_MODEL := getStorageModel(P_TYPE_NAME,P_TYPE_OWNER, P_INCLUDE_SUBTYPES);
          G_DEPTH_COUNT := G_DEPTH_COUNT - 1; 
        when others then
          raise;
      end;
      V_STORAGE_MODEL_DOCUMENT := DBMS_XMLDOM.NEWDOMDOCUMENT(V_STORAGE_MODEL);
      V_STORAGE_MODEL_ROOT     := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_STORAGE_MODEL_DOCUMENT);
      V_ATTRIBUTE_COUNT          := DBMS_XMLDOM.GETATTRIBUTE(V_STORAGE_MODEL_ROOT,'columns');
      dbms_output.put_line('findStorageModel : Attribute Count for "' || P_TYPE_OWNER || '"."' || P_TYPE_NAME || '" = ' || V_ATTRIBUTE_COUNT || '.' );
      return V_STORAGE_MODEL;
    end;
    function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2, P_TYPE_NAME VARCHAR2, P_TYPE_OWNER VARCHAR2)
    -- Generate a map showing the number of columns required to persist an instance of the SQL type.
    return XMLType
    as
      V_STORAGE_MODEL       XMLTYPE;
      V_COUNT               NUMBER := 0;
      V_DOCUMENT            DBMS_XMLDOM.DOMDOCUMENT;
      V_ROOT                DBMS_XMLDOM.DOMELEMENT;
      V_ATTR                DBMS_XMLDOM.DOMATTR;
      V_MODEL               DBMS_XMLDOM.DOMELEMENT;
      V_TYPE_DEFINITION     DBMS_XMLDOM.DOMELEMENT;
    begin
      V_STORAGE_MODEL := makeElement(P_COMPLEX_TYPE_NAME);
      V_DOCUMENT  := DBMS_XMLDOM.NEWDOMDOCUMENT(V_STORAGE_MODEL);
      V_ROOT      := DBMS_XMLDOM.GETDOCUMENTELEMENT(V_DOCUMENT);
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLType');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_NAME);
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'SQLTypeOwner');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,P_TYPE_OWNER);
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
      V_TYPE_DEFINITION   := DBMS_XMLDOM.GETDOCUMENTELEMENT(DBMS_XMLDOM.NEWDOMDOCUMENT(findStorageModel(P_TYPE_NAME, P_TYPE_OWNER, 'YES')));
      V_TYPE_DEFINITION   := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.IMPORTNODE(V_DOCUMENT,DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION),TRUE));
      V_TYPE_DEFINITION   := DBMS_XMLDOM.MAKEELEMENT(DBMS_XMLDOM.APPENDCHILD(DBMS_XMLDOM.MAKENODE(V_ROOT),DBMS_XMLDOM.MAKENODE(V_TYPE_DEFINITION)));
      V_ATTR      := DBMS_XMLDOM.CREATEATTRIBUTE(V_DOCUMENT,'columns');
                     DBMS_XMLDOM.SETVALUE(V_ATTR,DBMS_XMLDOM.GETATTRIBUTE(V_TYPE_DEFINITION,'columns'));
      V_ATTR      := DBMS_XMLDOM.SETATTRIBUTENODE(V_ROOT,V_ATTR);
      return  V_STORAGE_MODEL;
    end;
    function analyzeStorageModel(P_COMPLEX_TYPE_NAME VARCHAR2)
    return XMLTYPE
    -- Generate a map showing the number of columns required to persist an instance of the complex type.
    as
      pragma autonomous_transaction;
      V_SQLTYPE           VARCHAR2(128);
      V_SQLSCHEMA         VARCHAR2(32);
      V_RESULT            XMLType;
    begin
    G_DEPTH_COUNT := 0;
    select ct.XMLDATA.SQLTYPE, ct.XMLDATA.SQLSCHEMA
        into V_SQLTYPE, V_SQLSCHEMA
        from XDB.XDB$COMPLEX_TYPE ct, XDB.XDB$SCHEMA s
       where ct.XMLDATA.NAME = P_COMPLEX_TYPE_NAME
         and ref(s) = ct.XMLDATA.PARENT_SCHEMA
         and s.XMLDATA.SCHEMA_OWNER = USER;
      delete from XDBPM.XDBPM_STORAGE_MODEL_CACHE;
      -- delete from XDBPM.XDBPM_STORAGE_MODEL;
      V_RESULT := analyzeStorageModel(P_COMPLEX_TYPE_NAME,V_SQLTYPE,V_SQLSCHEMA);
      COMMIT;
      return V_RESULT;
    exception
      when no_data_found then
        -- dbms_output.put_line('Unable to find SQLType mapping for complexType : "' || USER || '"."' || P_COMPLEX_TYPE_NAME || '".' );
        return null;
      when others then
        raise;
    end;
    function analyzeSQLType(ATTR_NAME VARCHAR2, TARGET_TYPE_NAME VARCHAR2, TARGET_TYPE_OWNER VARCHAR2)
    return XMLType
    as
       ROOT_NODE_NAME   VARCHAR2(128);
       ATTR_DETAIL      XMLTYPE;
       XPATH_EXPRESSION VARCHAR2(129);
       CURSOR FIND_CHILD_ATTRS is
         select ATTR_NAME, ATTR_TYPE_OWNER, ATTR_TYPE_NAME, INHERITED
           from ALL_TYPE_ATTRS
          where OWNER = TARGET_TYPE_OWNER
            and TYPE_NAME = TARGET_TYPE_NAME
          order by ATTR_NO;       
       CHILD_ATTR  XMLTYPE;
       ATTR_COUNT NUMBER := 0;
       TEMP number;
       COLLECTION_TYPE_NAME  varchar2(256);
       COLLECTION_TYPE_OWNER varchar2(256);
    begin
      -- -- dbms_output.put_line('Processing Attribute ' || ATTR_NAME || ' of ' || TARGET_TYPE_OWNER || '.' || TARGET_TYPE_NAME );
      ATTR_DETAIL := makeElement(ATTR_NAME);
      XPATH_EXPRESSION := '/' || ATTR_DETAIL.GETROOTELEMENT();
      for ATTR in FIND_CHILD_ATTRS loop
        begin
          select ELEM_TYPE_NAME, ELEM_TYPE_OWNER
            into COLLECTION_TYPE_NAME, COLLECTION_TYPE_OWNER
            from ALL_COLL_TYPES
           where TYPE_NAME = ATTR.ATTR_TYPE_NAME
             and OWNER = ATTR.ATTR_TYPE_OWNER;
          CHILD_ATTR := analyzeSQLType(ATTR.ATTR_NAME, COLLECTION_TYPE_NAME, COLLECTION_TYPE_OWNER );
          ATTR_COUNT := ATTR_COUNT + CHILD_ATTR.extract('/' || CHILD_ATTR.GETROOTELEMENT()  || '/@sqlAttrs').getNumberVal();
          select appendChildXML(ATTR_DETAIL,XPATH_EXPRESSION,CHILD_ATTR)
            into ATTR_DETAIL
            from DUAL;
        exception
          when no_data_found then
            begin
              select 1
                into TEMP
                from ALL_TYPES
               where TYPE_NAME = ATTR.ATTR_TYPE_NAME
                and OWNER = ATTR.ATTR_TYPE_OWNER;
              CHILD_ATTR := analyzeSQLType(ATTR.ATTR_NAME, ATTR.ATTR_TYPE_NAME, ATTR.ATTR_TYPE_OWNER );
              ATTR_COUNT := ATTR_COUNT + CHILD_ATTR.extract('/' || CHILD_ATTR.GETROOTELEMENT() || '/@sqlAttrs').getNumberVal();
              select appendChildXML(ATTR_DETAIL,XPATH_EXPRESSION,CHILD_ATTR)
                into ATTR_DETAIL
                from DUAL;
            exception
             when no_data_found then
               ATTR_COUNT := ATTR_COUNT + 1;
            end;
        end;
      end loop;
      select insertChildXML(ATTR_DETAIL,XPATH_EXPRESSION,'@sqlAttrs',ATTR_COUNT)
        into ATTR_DETAIL
        from dual;
      return ATTR_DETAIL;
    end;
    function analyzeComplexType(COMPLEX_TYPE VARCHAR2)
    return XMLType
    as
      RESULT           xmltype;
      SQLTYPE          varchar2(128);
      SQLTYPE_OWNER    varchar2(32);
    begin
      select SQLTYPE, SQLTYPE_OWNER
        into SQLTYPE, SQLTYPE_OWNER
        from USER_XML_SCHEMAS,
             xmlTable
                xmlnamespaces
                  'http://www.w3.org/2001/XMLSchema' as "xsd",
                  'http://xmlns.oracle.com/xdb' as "xdb"
                '/xsd:schema/xsd:complexType'
                passing Schema
                columns
                COMPLEX_TYPE_NAME varchar2(4000) path '@name',
                SQLTYPE           varchar2(128)  path '@xdb:SQLType',
                SQLTYPE_OWNER     varchar2(32)   path '@xdb:SQLSchema'
       where COMPLEX_TYPE_NAME = COMPLEX_TYPE;
      result := analyzeSQLType(COMPLEX_TYPE,SQLTYPE,SQLTYPE_OWNER);
      select insertChildXML(RESULT,'/' || COMPLEX_TYPE,'@SQLType',SQLTYPE)
        into result
        from dual;
      return result;
    end;
    function showSQLTypes(schemaFolder varchar2) return XMLType
    is
      xmlSchema XMLTYPE;
    begin
      select xmlElement                                 
               "TypeList",                              
               xmlAgg                                   
                  xmlElement                             
                    "Schema",                            
                    xmlElement
                      "ResourceName",
                      extractValue(res,'/Resource/DisplayName')
                    xmlElement                         
                      "complexTypes",                  
                        select xmlAgg                               
                                 xmlElement              
                                   "complexType",        
                                   xmlElement           
                                     "name",             
                                     extractValue(value(XML),'/xsd:complexType/@name',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)                          
                                   xmlElement            
                                     "SQLType",          
                                     extractValue(value(XML),'/xsd:complexType/@xdb:SQLType',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)                            
                          from table                   
                                 xmlsequence           
                                   extract             
                                     xdburitype(p.path).getXML(),
                                     '/xsd:schema/xsd:complexType',
                                     XDB_NAMESPACES.XDBSCHEMA_PREFIXES
                               ) xml
                          -- order by extractValue(value(XML),'/xsd:complexType/@name',XDB_NAMESPACES.XDBSCHEMA_PREFIXES)
              ).extract('/*')                            
         into xmlSchema
         from path_view p                                
        where under_path(res,schemaFolder) = 1      
        order by extractValue(res,'/Resource/DisplayName');
      return xmlSchema;
    end;
    procedure renameCollectionTable (XMLTABLE varchar2, XPATH varchar2, COLLECTION_TABLE_PREFIX varchar2)
    as
       SYSTEM_GENERATED_NAME varchar2(256);
       COLLECTION_TABLE_NAME varchar2(256);
       CLUSTERED_INDEX_NAME  varchar2(256);
       PARENT_INDEX_NAME     varchar2(256);
       RENAME_STATEMENT varchar2(4000);
    begin
       COLLECTION_TABLE_NAME := COLLECTION_TABLE_PREFIX || '_TABLE';
       CLUSTERED_INDEX_NAME := COLLECTION_TABLE_PREFIX || '_DATA';
       PARENT_INDEX_NAME := COLLECTION_TABLE_PREFIX || '_LIST';
       select TABLE_NAME
         into SYSTEM_GENERATED_NAME
         from ALL_NESTED_TABLES
        where PARENT_TABLE_NAME = XMLTABLE
          and PARENT_TABLE_COLUMN = XPATH
          and OWNER = USER;
       RENAME_STATEMENT := 'alter table ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' ||COLLECTION_TABLE_NAME || '"';
       -- -- dbms_output.put_line(RENAME_STATEMENT);
       execute immediate RENAME_STATEMENT;
       begin
         select INDEX_NAME
           into SYSTEM_GENERATED_NAME
           from ALL_INDEXES
          where TABLE_NAME = COLLECTION_TABLE_NAME
            and INDEX_TYPE = 'IOT - TOP'
            and OWNER = USER;
         RENAME_STATEMENT := 'alter index ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' || CLUSTERED_INDEX_NAME || '"';
         -- -- dbms_output.put_line(RENAME_STATEMENT);
         execute immediate RENAME_STATEMENT;
       exception
         when NO_DATA_FOUND then
           null;
       end;
       begin
         select INDEX_NAME
           into SYSTEM_GENERATED_NAME
           from ALL_IND_columns
          where COLUMN_NAME = XPATH
            and TABLE_NAME =  XMLTABLE
            and TABLE_OWNER = USER;
         RENAME_STATEMENT := 'alter index ' || USER || '."' || SYSTEM_GENERATED_NAME || '" rename to "' || PARENT_INDEX_NAME || '"';
         -- -- dbms_output.put_line(RENAME_STATEMENT);
         execute immediate RENAME_STATEMENT;
       exception
         when NO_DATA_FOUND then
           null;
       end;
    end;
    function processNestedTable(currentLevel in out number, currentNode in out XMLType, query SYS_REFCURSOR)
    return XMLType
    is
      thisLevel  number;
      thisNode   xmlType;
      result xmlType;
    begin
      thisLevel := currentLevel;
      thisNode := currentNode;
      fetch query into currentLevel, currentNode;
      if (query%NOTFOUND) then
        currentLevel := -1;
      end if;
      while (currentLevel >= thisLevel) loop
        -- Next Node is a decendant of sibling of this Node.
        if (currentLevel > thisLevel) then
          -- Next Node is a decendant of this Node.
          result := processNestedTable(currentLevel, currentNode, query);
          select xmlElement
                    "Collection",
                    extract(thisNode,'/Collection/*'),
                    xmlElement
                      "NestedCollections",
                      result
             into thisNode
             from dual;
        else
          -- Next node is a sibling of this Node.
          result := processNestedTable(currentLevel, currentNode, query);
          select xmlconcat(thisNode,result) into thisNode from dual;
        end if;
      end loop;
      -- Next Node is a sibling of some ancestor of this node.
      return thisNode;
    end;
    function printNestedTables(XML_TABLE varchar2)
    return XMLType
    is
       query SYS_REFCURSOR;
       result XMLType;
       rootLevel number := 0;
       rootNode xmlType;
    begin
       open query for
            select level, xmlElement
                            "Collection",
                            xmlElement
                              "CollectionId",
                              PARENT_TABLE_COLUMN
                          ) as XML
              from USER_NESTED_TABLES
           connect by PRIOR TABLE_NAME = PARENT_TABLE_NAME
                   start with PARENT_TABLE_NAME = XML_TABLE;
        fetch query into rootLevel, rootNode;
        result := processNestedTable(rootLevel, rootNode, query);
        select xmlElement
                  "NestedTableStructure",
                  result
          into result
          from dual;
        return result;
    end;
    function generateSchemaFromTable(P_TABLE_NAME varchar2, P_OWNER varchar2 default USER)
    return XMLTYPE
    as
      xmlSchema XMLTYPE;
    begin
      select xmlElement
               "xsd:schema",
               xmlAttributes
                 'http://www.w3.org/2001/XMLSchema' as "xmlns:xsd",
                 'http://xmlns.oracle.com/xdb' as "xmlns:xdb"
               xmlElement
                 "xsd:element",
                 xmlAttributes
                   'ROWSET' as "name",
                   'rowset' as "type"
               xmlElement
                 "xsd:complexType",
                 xmlAttributes
                   'rowset' as "name"
                 xmlElement
                   "xsd:sequence",
                   xmlElement
                      "xsd:element",
                      xmlAttributes
                        'ROW' as "name",
                        table_name || '_T' as "type",
                        'unbounded' as "maxOccurs"
               xmlElement
                 "xsd:complexType",
                 xmlAttributes
                   table_name || '_T' as "name"
                 xmlElement
                   "xsd:sequence",
                     xmlAgg(ELEMENT order by INTERNAL_COLUMN_ID)
        into xmlSchema
        from (select TABLE_NAME, INTERNAL_COLUMN_ID,
                     case
                       when DATA_TYPE in ('VARCHAR2','CHAR') then
                         xmlElement
                           "xsd:element",
                           xmlattributes
                             column_name as "name",
                             decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
                             column_name as "xdb:SQLName",
                             DATA_TYPE as "xdb:SQLType"
                           xmlElement
                             "xsd:simpleType",
                             xmlElement
                               "xsd:restriction",
                               xmlAttributes
                                 'xsd:string' as "base"
                               xmlElement
                                 "xsd:maxLength",
                                 xmlAttributes
                                   DATA_LENGTH  as "value"
                       when DATA_TYPE = 'NUMBER' then
                         xmlElement
                           "xsd:element",
                           xmlattributes
                             column_name as "name",
                             decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
                             column_name as "xdb:SQLName",
                             DATA_TYPE as "xdb:SQLType"
                           xmlElement
                             "xsd:simpleType",
                             xmlElement
                               "xsd:restriction",
                               xmlAttributes
                                  decode(DATA_SCALE, 0, 'xsd:integer', 'xsd:double') as "base"
                               xmlElement
                                 "xsd:totalDigits",
                                 xmlAttributes
                                   DATA_PRECISION  as "value"
                       when DATA_TYPE = 'DATE' then
                         xmlElement
                           "xsd:element",
                           xmlattributes
                             column_name as "name",
                             decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
                             'xsd:date' as "type",
                             column_name as "xdb:SQLName",
                             DATA_TYPE as "xdb:SQLType"
                       when DATA_TYPE like 'TIMESTAMP%WITH TIME ZONE' then
                         xmlElement
                           "xsd:element",
                           xmlattributes
                             column_name as "name",
                             decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
                             'xsd:dateTime' as "type",
                             column_name as "xdb:SQLName",
                             DATA_TYPE as "xdb:SQLType"
                       else
                         xmlElement
                           "xsd:element",
                           xmlattributes
                             column_name as "name",
                             decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
                             'xsd:anySimpleType' as "type",
                             column_name as "xdb:SQLName",
                             DATA_TYPE as "xdb:SQLType"
                     end ELEMENT
                from all_tab_cols c
               where c.TABLE_NAME = P_TABLE_NAME
                 and c.OWNER = P_OWNER
        group by TABLE_NAME;
      return xmlSchema;
    end;
    function appendElementList(V_ELEMENT_LIST IN OUT XDB.XDB$XMLTYPE_REF_LIST_T, V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
    function expandModel(P_MODEL XDB.XDB$MODEL_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
    function expandChoiceList(P_CHOICE_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
    function expandSequenceList(P_SEQUENCE_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
    function expandGroupList(P_GROUP_LIST XDB.XDB$XMLTYPE_REF_LIST_T) return XDB.XDB$XMLTYPE_REF_LIST_T;
    function appendElementList(V_ELEMENT_LIST IN OUT XDB.XDB$XMLTYPE_REF_LIST_T, V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
    begin
      SELECT CAST
               SET
                 CAST(V_ELEMENT_LIST as XDBPM.XMLTYPE_REF_TABLE_T)
                 MULTISET UNION
                 CAST(V_CHILD_ELEMENT_LIST as XDBPM.XMLTYPE_REF_TABLE_T)
               as XDB.XDB$XMLTYPE_REF_LIST_T
        into V_ELEMENT_LIST
        from DUAL;
        return V_ELEMENT_LIST;     
    end;
    function expandModel(P_MODEL XDB.XDB$MODEL_T)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
      V_ELEMENT_LIST       XDB.XDB$XMLTYPE_REF_LIST_T;
      V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
    begin
      V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
      if P_MODEL.ELEMENTS is not null then
        V_ELEMENT_LIST := P_MODEL.ELEMENTS;
      end if;
      if (P_MODEL.CHOICE_KIDS is not NULL) then
        V_CHILD_ELEMENT_LIST := expandChoiceList(P_MODEL.CHOICE_KIDS);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end if;
      if (P_MODEL.SEQUENCE_KIDS is not NULL) then
        V_CHILD_ELEMENT_LIST := expandSequenceList(P_MODEL.SEQUENCE_KIDS);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end if;
      -- Process ANYS
      if (P_MODEL.GROUPS is not NULL) then
        V_CHILD_ELEMENT_LIST := expandGroupList(P_MODEL.GROUPS);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end if;
      return V_ELEMENT_LIST;
    end;
    function expandChoiceList(P_CHOICE_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
      V_ELEMENT_LIST       XDB.XDB$XMLTYPE_REF_LIST_T;
      V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
      cursor getChoices is
      select c.XMLDATA MODEL
        from XDB.XDB$CHOICE_MODEL c, TABLE(P_CHOICE_LIST) cl
       where ref(c) = value(cl);
    begin
      V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
      for c in getChoices loop
        V_CHILD_ELEMENT_LIST := expandModel(c.MODEL);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end loop;
      return V_ELEMENT_LIST;
    end;
    function expandSequenceList(P_SEQUENCE_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
      V_ELEMENT_LIST       XDB.XDB$XMLTYPE_REF_LIST_T;
      V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;
      cursor getSequences is
      select s.XMLDATA MODEL
        from XDB.XDB$SEQUENCE_MODEL s, TABLE(P_SEQUENCE_LIST) sl
       where ref(s) = value(sl);
    begin
      V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
      for s in getSequences loop
        V_CHILD_ELEMENT_LIST := expandModel(s.MODEL);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end loop;
      return V_ELEMENT_LIST;
    end;
    function expandGroupList(P_GROUP_LIST XDB.XDB$XMLTYPE_REF_LIST_T)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
      V_ELEMENT_LIST       XDB.XDB$XMLTYPE_REF_LIST_T;
      V_CHILD_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T;  V_MODEL  XDB.XDB$MODEL_T;
      cursor getGroups is
      SELECT CASE
               -- Return The MODEL Definition for the CHOICE, ALL or SEQUENCE
               WHEN gd.XMLDATA.ALL_KID is not NULL
                 THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
               WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
                 THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
               WHEN gd.XMLDATA.CHOICE_KID is not NULL
                 THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
              END MODEL
         FROM XDB.XDB$GROUP_DEF gd, XDB.XDB$GROUP_REF gr, TABLE(P_GROUP_LIST) gl
        WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
          and ref(gr) = value(gl);
    begin
      V_ELEMENT_LIST := XDB.XDB$XMLTYPE_REF_LIST_T();
      for g in getGroups loop
        V_CHILD_ELEMENT_LIST := expandModel(g.MODEL);
        V_ELEMENT_LIST := appendElementList(V_ELEMENT_LIST,V_CHILD_ELEMENT_LIST);
      end loop;
      return V_ELEMENT_LIST;
    end;
    function getComplexTypeElementList(P_COMPLEX_TYPE_REF REF XMLTYPE)
    return XDB.XDB$XMLTYPE_REF_LIST_T
    as
      V_MODEL        XDB.XDB$MODEL_T;
      V_BASE_TYPE    REF XMLTYPE;
      V_ELEMENT_LIST XDB.XDB$XMLTYPE_REF_LIST_T := XDB.XDB$XMLTYPE_REF_LIST_T();
    begin
      SELECT ct.XMLDATA.BASE_TYPE,
             CASE
               -- Return The MODEL Definition for the CHOICE, ALL or SEQUENCE
               WHEN ct.XMLDATA.ALL_KID is not NULL
                 THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.ALL_KID)
               WHEN ct.XMLDATA.SEQUENCE_KID is not NULL
                 THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.SEQUENCE_KID)
               WHEN ct.XMLDATA.CHOICE_KID is not NULL
                 THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.CHOICE_KID)
               WHEN ct.XMLDATA.GROUP_KID is not NULL
                 -- COMPLEXTYPE is based on a GROUP.
                 THEN (
                         -- RETURN The CHOICE, ALL or SEQUENCE for GROUP
                         SELECT CASE
                                  WHEN gd.XMLDATA.ALL_KID is not NULL
                                    THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
                                  WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
                                    THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
                                  WHEN gd.XMLDATA.CHOICE_KID is not NULL
                                    THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
                                  END
                             FROM XDB.XDB$GROUP_DEF gd, xdb.xdb$GROUP_REF gr
                            WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
                              and ref(gr) = ct.XMLDATA.GROUP_KID
    --           WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.ALL_KID is not NULL
    --             THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.ALL_KID)
    --           WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.SEQUENCE_KID is not NULL
    --            THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.SEQUENCE_KID)
    --           WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.CHOICE_KID is not NULL
    --             THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.CHOICE_KID)
    --           WHEN ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.GROUP_KID is not NULL
    --             -- COMPLEXTYPE is based on a GROUP.
    --             THEN (
    --                     -- RETURN The CHOICE, ALL or SEQUENCE for GROUP
    --                     SELECT CASE
    --                              WHEN gd.XMLDATA.ALL_KID is not NULL
    --                                THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
    --                              WHEN gd.XMLDATA.SEQUENCE_KID is not NULL
    --                                THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = gd.XMLDATA.SEQUENCE_KID)
    --                              WHEN gd.XMLDATA.CHOICE_KID is not NULL
    --                                THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = gd.XMLDATA.CHOICE_KID)
    --                              END
    --                         FROM XDB.XDB$GROUP_DEF gd, xdb.xdb$GROUP_REF gr
    --                       WHERE ref(gd) = gr.XMLDATA.GROUPREF_REF
    --                          and ref(gr) = ct.XMLDATA.COMPLEXCONTENT.RESTRICTION.GROUP_KID
               WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.ALL_KID is not NULL
                 THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.ALL_KID)
               WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.SEQUENCE_KID is not NULL
                 THEN ( SELECT s.XMLDATA  from XDB.XDB$SEQUENCE_MODEL s where ref(s) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.SEQUENCE_KID)
               WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.CHOICE_KID is not NULL
                 THEN ( SELECT c.XMLDATA  from XDB.XDB$CHOICE_MODEL c where ref(c) = ct.XMLDATA.COMPLEXCONTENT.EXTENSION.CHOICE_KID)
               WHEN ct.XMLDATA.COMPLEXCONTENT.EXTENSION.GROUP_KID is not NULL
                 -- COMPLEXTYPE is based on a GROUP.
                 THEN (
                         -- RETURN The CHOICE, ALL or SEQUENCE for GROUP
                         SELECT CASE
                                  WHEN gd.XMLDATA.ALL_KID is not NULL
                                    THEN ( SELECT a.XMLDATA  from XDB.XDB$ALL_MODEL a where ref(a) = gd.XMLDATA.ALL_KID)
                    

  • How to keep view column in a table

    Hi,
    I have two table and one view(I have same data in any other schema so I don't want to keep same data in both schema) I want to make primary key in first table based on one column from 2nd table and one column from view, but it's not looking possible if it's possible so how, if it is not there is any other solution.
    Thanks and Regards, Khawar.

    Hello all,
    Thanks for reply following are view and table desc.
    SQL> desc emp_dept_vw
    Name Null? Type
    EMP_ID NOT NULL VARCHAR2(10)
    F_NAME NOT NULL VARCHAR2(50)
    M_NAME VARCHAR2(15)
    L_NAME VARCHAR2(15)
    DESIGNATION VARCHAR2(40)
    JOIN_DATE DATE
    REGION_ID VARCHAR2(15)
    DEPT_ID VARCHAR2(30)
    FAMILY_NAME VARCHAR2(20)
    SEX CHAR(1)
    LOCATION VARCHAR2(20)
    DEPT_NAME VARCHAR2(30)
    SECTION VARCHAR2(40)
    SQL> desc pc_user
    Name Null? Type
    PC_SERIAL NOT NULL VARCHAR2(20)
    PRINTER_SERIAL VARCHAR2(20)
    SQL> desc pc
    Name Null? Type
    PC_SERIAL NOT NULL VARCHAR2(20)
    BRAND NOT NULL VARCHAR2(50)
    HDD_MODEL_NO CHAR(18)
    MEM_CODE VARCHAR2(20)
    NIC_CODE VARCHAR2(20)
    PROCESSOR_ID VARCHAR2(20)
    MONITOR_ID VARCHAR2(20)
    MOTHER_BOARD VARCHAR2(30)
    SUPP_ID VARCHAR2(20)
    FDD VARCHAR2(20)
    PRICE NOT NULL NUMBER
    WARRANTY NOT NULL VARCHAR2(20)
    DELIVERY_DATE NOT NULL DATE
    REMARKS NOT NULL VARCHAR2(200)
    I want to use EMP_ID from EMP_DEPT_VW view as a part of composite key in PC_USER table.
    Many Thanks .
    Khawar

  • How to find out the NULL columns in the table?

    Hi,
    Please provide the query to find the null columns in the table. Here, all rows in the table have same column as null. It won't change.
    Table
    c1 c2 c3 c4
    X C 10
    T D 20
    I wanna find out as C2 is the nullable column.
    Thanks in advance !!
    Regards,
    Vissu....

    Below code might be solution for finding NULL valued in columns in a table and if it is solution .kindly give me points for the same.
    declare
    cursor col_cur is
    select column_name
    from user_tab_cols -- all_tables can also be used in case the table is present in own schema
    where table_name = 'TABLE_NAME'; --provide the TABLE_NAME  
    stmt varchar2(1000):= '';
    v_count number;
    count_null number;
    begin
    execute immediate 'select count(*) from TABLE_NAME' into v_count; --provide the TABLE_NAME  
    for rec in col_cur loop
    execute immediate 'select count(*) from TABLE_NAME' where --provide the TABLE_NAME  
    '||rec.column_name||' IS NULL' into count_null;
    if count_null = v_count then
    stmt :=stmt|| rec.column_name ||chr(13);
    end if;
    end loop;
    dbms_output.put_line(stmt);
    end ;

  • Check 2 tables(Table A and Table B) and figure out new columns present in Table A and add these new columns to Table B

    How to check 2 tables(Table A and Table B) and figure out new columns present in Table A and add these new columns to Table b.
    DDL-
    Create table A
    ( A INT,
    B INT,C VARCHAR(2)
    Create table B
    A INT,
    B INT
    Any advice on the best approach or method to achieve this.
    I understand that I need to check the schema of the columns and then do a match between 2 tables and find new columns and then alter my target table
    Mudassar

    Can you try this..
    CREATE TABLE A ( A INT, B INT, C VARCHAR(2) )
    CREATE TABLE B ( A INT, B INT )
    Declare @ColumnVar nvarchar(128),@DatatypeVar nvarchar(128)
    SELECT @ColumnVar=x.COLUMN_NAME, @DatatypeVar=x.DATA_TYPE
    FROM INFORMATION_SCHEMA.COLUMNS AS x
    WHERE TABLE_NAME = 'A'
    AND NOT EXISTS ( SELECT *
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'B'
    AND COLUMN_NAME = x.COLUMN_NAME )
    Declare @SQL VarChar(1000)
    SELECT @SQL = 'ALTER TABLE B ADD ' + @ColumnVar + ' '+ @DatatypeVar
    Exec (@SQL)
    select * from B
    Please Mark This As Answer if it helps to solve the issue
    http://stackoverflow.com/questions/2614101/alter-table-my-table-add-column-int

  • Indexing multiple columns in multiple tables

    I have a multiple tables in which I want to search. I need to do text search that supports fuzzy logic for which I've currently set up a context index using the user_datastore. I also need to search columns such as numbers/dates/timestamps which from what I understand is not supported with the context search. I'm looking at setting up a second index of type ctxcat for this purpose - but I will need to index multiple columns in multiple tables. Is this possible?
    Can someone advise on the best way to create indexes and search when a table schema such as the following exists. I've tried to keep it simple by just giving a few example columns and tables.
    Order Table
    - Has columns related to the order details - order name (varchar2), description (varchar2), date order placed (timestamp), date order completed (date), order amount (number), customer Id
    Customer Table
    - Has columns related to the customer information - customer name, address, city, state, telephone etc (all varchar2 fields)
    Items Table
    - Has details about the items being ordered - item name (varchar2), item description (varchar2), cost (number) etc
    Order-Item Table
    - Table that maps an order to the items in that order - orderId, itemId, quantity
    Comments Table
    - Logs any comments with the customer - comment description (varchar2), call type (varchar2), comment date (timestamp)
    Currently with the Context index, I have it set up so I can search all text columns in all tables for a search term. This works fine.
    I now need to be able to do more advanced searches, where I can search for a specific text in all orders as well as orders created after a certain date or orders above a certain amount or orders with a item quantity purchase of more that 10. The text has to be searched across the all text columns in all tables. How can I achieve this with Oracle Text?

    There was a similar discussion with various ideas that may help you here:
    How can I make CONTAINS query work for a date range

  • Count the No.of Columns in a Table

    Hi,Is it possible to write a Select statement
    that returns back the number of columns in a table?
    Or is there any other way on knowing the number of
    columns in a table?

    Hi
    Subtle point:
    USER_TAB_COLUMNS returns information relating only to tables owned by the current user.
    ALL_TAB_COLUMNS includes all the tables which the current user can select from, whether owned by the current user or not.
    DBA_TAB_COLUMNS, if the user has access to it, gives information about all tables in all schemas, regardless of whether the current user can select from them or not.
    ...so USER_TAB_COLUMNS may or may not be the best view to use.
    regards
    Andrew
    UK

  • How can I find number of columns in a table using a query

    Hi
    I want to find the number of columns in a table using a query.
    Any help in this regard is much appreciated.
    Cheers

    Hi,
    This is the output i get when i executed ur query
    OWNER     OBJECT_NAME     OBJECT_TYPE
    SMLDBO     T2311_SURVEY_QUESTIONS     TABLE
    select OWNER,OBJECT_NAME,OBJECT_TYPE
    from all_objects
    where OBJECT_NAME = 'T2311_SURVEY_QUESTIONS';
    works Fine.
    But if i use the below query it returns : 0
    SELECT count(*) FROM user_tab_columns
    WHERE table_name =upper( 'T2311_SURVEY_QUESTIONS');
    What could be problem.
    The table exists + name of the table is correct + it resides in my schema itself.
    Any guess !!!

  • String Search Query in any columns in any table in a database

    Hi All,
    I am trying to search a word which starts with 'FRA' in any columns and any tables.
    I am unable tofind what is generating a join datasets in the webservice from teh database as it is not apparent within teh 100 tables.
    I ahve looked into
    Re: How to search in all rows and all columns?
    Re: SQL Search Query - HELP!
    but none of these queries is working out for me as I am a user with no tables on its own but rather a user quering other tables.I think its a tweak on which dat adisctionary I can view
    select distinct substr (table_name, 1, 14) "Table",
    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
    from all_cons_columns,
    table
    (xmlsequence
    (dbms_xmlgen.getxmltype ('select ' || column_name
    || ' from ' || table_name
    || ' where upper('
    || column_name
    || ') like upper(''%' || 'fra'
    || '%'')'
    ).extract ('ROWSET/ROW/*')
    ) t
    order by "Table";
    running teh above query got me thsi error:
    ORA-19202: Error occurred in XML processing
    ORA-00942: table or view does not exist
    ORA-06512: at "SYS.DBMS_XMLGEN", line 288
    ORA-06512: at line 1
    19202. 00000 - "Error occurred in XML processing%s"
    *Cause:    An error occurred when processing the XML function
    *Action:   Check the given error message and fix the appropriate problem
    Any help is much appreciated
    Edited by: CrackerJack on Sep 3, 2012 5:55 PM
    Edited by: CrackerJack on Sep 3, 2012 5:55 PM

    Hi,
    CrackerJack wrote:
    Hi All,
    I am trying to search a word which starts with 'FRA' in any columns and any tables.
    I am unable tofind what is generating a join datasets in the webservice from teh database as it is not apparent within teh 100 tables.
    I ahve looked into
    Re: How to search in all rows and all columns?
    Re: SQL Search Query - HELP!
    but none of these queries is working out for me as I am a user with no tables on its own but rather a user quering other tables.I think its a tweak on which dat adisctionary I can view In all_<b>cons</b>_columns, "cons" stands for "constraints". That view only includes columns that have a constraint on them. 
    Use all_<b>tab</b>_columns if you're interested in all columns in all tables.
    select distinct substr (table_name, 1, 14) "Table",
    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
    from all_cons_columns,
    table
    (xmlsequence
    (dbms_xmlgen.getxmltype ('select ' || column_name
    || ' from ' || table_name
    || ' where upper('
    || column_name
    || ') like upper(''%' || 'fra'
    || '%'')'
    ).extract ('ROWSET/ROW/*')
    ) t
    order by "Table";You may have noticed that this site noramlly compresses whitespace.
    Whenever you post formatted text (such as query results) on this site, type these 6 characters:
    \(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing.
    When referencing a table in a differenct schema, you must qualify the table name with the owner (unless there happens to be a synonym).  For example, if you are connected as some user other than scott, and you want to use the emp table that is in the scott schema; then you can't just say "SELECT ... FROM emp;", because that would look for the emp table in yur own schema.  You have to say "SELECT ... FROM <b>scott.</b>emp;" instead.  If the table is in your own schema, then the scema name is optional.  The OWNER column in all_tab_columns gives the schema name.
    running teh above query got me thsi error:
    ORA-19202: Error occurred in XML processing
    ORA-00942: table or view does not exist
    ORA-06512: at "SYS.DBMS_XMLGEN", line 288
    ORA-06512: at line 1
    19202. 00000 - "Error occurred in XML processing%s"
    *Cause:    An error occurred when processing the XML function
    *Action:   Check the given error message and fix the appropriate problemSorry, I don't know what causes that error.
    If I use the data dictionary view cols (as in {message:id=3325696} which you cited), it runs correctly.
    If use what I though was the equivalent data dictionary view, user_tab_columns, or if I use all_tab_columns or other data dictionary views, then I get those errors.  I'm using Oracle 10.2.0.1.0.
    Edited by: Frank Kulash on Sep 3, 2012 10:45 PM
    John Spencer noticed the same problem 5 years ago.  See {message:id=1969268}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for