Uploaded image for project: 'JS - JobScheduler'
  1. JS - JobScheduler
  2. JS-860

lob fields in the create table sqls for DB2 are too small e.g. for big order logs

    XMLWordPrintable

Details

    • Fix
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Fixed
    • None
    • 1.3.12.2137
    • None
    • None

    Description

      All CLOB and BLOB fields didn't had a quantity (e.g. "LOG" BLOB()). Now these fields are changed like below (e.g. "LOG" BLOB(32M)). If you have trouble with these fields please make corresponding ALTER TABLES.

      ./db/db2/scheduler.sql#SCHEDULER_HISTORY
      CREATE TABLE SCHEDULER_HISTORY
      (
        "ID"                  NUMERIC(10)    NOT NULL,          /* S: Unique task id */                                                                                                                     
        "SPOOLER_ID"          VARCHAR(100)           ,          /* S: ID of the Job Scheduler (required if multiple Schedulers are using the database) */                                                   
        "CLUSTER_MEMBER_ID"   VARCHAR(100)           ,          /* S: ID of the Scheduler cluster member (only used in cluster mode) */                                                                     
        "JOB_NAME"            VARCHAR(255)           ,          /* S: Name of the job */                                                                                                                    
        "START_TIME"          TIMESTAMP      NOT NULL,          /* S: Timestamp of the job start */                                                                                                         
        "END_TIME"            TIMESTAMP              ,          /* S: Timestamp of the job end */                                                                                                           
        "CAUSE"               VARCHAR(50)            ,          /* S: cause of the start: e.g. none,period_once,period_single,period_repeat,job_repeat,queue,queue_at,directory,signal,delay_after_error */ 
        "STEPS"               NUMERIC(10)   DEFAULT 0,          /* S: Number of steps --> calls to spooler_process() */                                                                                     
        "EXIT_CODE"           NUMERIC(10)   DEFAULT 0,
                                                                                                                                                           
        "ERROR"               NUMERIC(1)    DEFAULT 0,          /* S: Flag: 0=ok, 1=error */                                                                                                                
        "ERROR_CODE"          VARCHAR(50)            ,          /* S: Exception-code of the job error */                                                                                                    
        "ERROR_TEXT"          VARCHAR(250)           ,          /* S: Exception message of the job */                                                                                                       
        "PARAMETERS"          CLOB(32M)              ,          /* S: job parameters as XML <parameters><param name="x" value="y"/>...</parameters> */                                                      
        "LOG"                 BLOB(32M)              ,          /* S: compressed content of the log */                                                                                                      
        "ITEM_START"          VARCHAR(250)           ,          /* S: arbitrary value, set using spooler_task.history() */                                                                                  
        "ITEM_STOP"           VARCHAR(250)           ,          /* S: arbitrary value, set using  spooler_task.history() */                                                                                 
        "PID"                 NUMERIC(10)            ,          /* S: process id */                                                                                                                         
        PRIMARY KEY ("ID")
      )
      
      ./db/db2/scheduler.sql#SCHEDULER_ORDERS
      CREATE TABLE SCHEDULER_ORDERS
      (
        "SPOOLER_ID"          VARCHAR(100)   NOT NULL,          /* S: ID of the Job Scheduler (required if multiple Schedulers are using the database)  */  
        "JOB_CHAIN"           VARCHAR(255)   NOT NULL,          /* S: name of the job chain of the order */                                                 
        "ID"                  VARCHAR(255)   NOT NULL,          /* S: unique (within the job chain) id of the order */                                      
        "PRIORITY"            NUMERIC(3)     NOT NULL,          /* S: priority of the order */                                                              
        "STATE"               VARCHAR(100),                     /* S: state of the order inside the job chain */                                            
        "STATE_TEXT"          VARCHAR(100),                     /* S: state text of the order */                                                            
        "TITLE"               VARCHAR(200),                     /* S: title of the order */                                                                 
        "CREATED_TIME"        TIMESTAMP,                        /* S: Timestamp of the creation of the order */                                             
        "MOD_TIME"            TIMESTAMP,                        /* S: Timestamp of the last change of the order */                                          
        "ORDERING"            NUMERIC(15),                      /* S: sequnce of the order */                                                               
        "PAYLOAD"             CLOB(32M),                        /* S: order payload */                                                                      
        "RUN_TIME"            CLOB(32M),                        /* S: order run time (for persistent orders) */                                             
        "INITIAL_STATE"       VARCHAR(100),                     /* S: state of the order upon creation */                                                   
        "ORDER_XML"           CLOB(32M),                        /* S: xml definition of the order */                                                        
        "DISTRIBUTED_NEXT_TIME"       TIMESTAMP,
        "OCCUPYING_CLUSTER_MEMBER_ID" VARCHAR(100),
        PRIMARY KEY ("SPOOLER_ID", "JOB_CHAIN", "ID")
      )
      
      ./db/db2/scheduler.sql#SCHEDULER_ORDER_HISTORY
      CREATE TABLE SCHEDULER_ORDER_HISTORY
      (
        "HISTORY_ID"          NUMERIC(9)     NOT NULL,          /* S: consecutive number of the history entry */                                             
        "JOB_CHAIN"           VARCHAR(255)   NOT NULL,          /* S: name of the job chain of the order */                                                  
        "ORDER_ID"            VARCHAR(255)   NOT NULL,          /* S: unique (within the job chain) id of the order */                                       
        "SPOOLER_ID"          VARCHAR(100),                     /* S: ID of the Job Scheduler (required if multiple Schedulers are using the database) */    
        "TITLE"               VARCHAR(200),                     /* S: title of the order */                                                                  
        "STATE"               VARCHAR(100),                     /* S: state of the order inside the job chain */                                             
        "STATE_TEXT"          VARCHAR(100),                     /* S: state text of the order */                                                             
        "START_TIME"          TIMESTAMP      NOT NULL,          /* S: Timestamp of the start of the order */                                                 
        "END_TIME"            TIMESTAMP              ,          /* S: Timestamp of the end of the order */                                                   
        "LOG"                 BLOB(32M),                        /* S: compressed content of the order log */                                                 
        PRIMARY KEY ("HISTORY_ID")
      )
      
      ./db/db2/scheduler.sql#SCHEDULER_TASKS
      CREATE TABLE SCHEDULER_TASKS
      (
        "TASK_ID"             NUMERIC(9)     NOT NULL,          /* S: Unique task id */                                                                      
        "SPOOLER_ID"          VARCHAR(100)   NOT NULL,          /* S: ID of the Job Scheduler (required if multiple Schedulers are using the database) */    
        "CLUSTER_MEMBER_ID"   VARCHAR(100)           ,          /* S: ID of the Scheduler cluster member (only used in cluster mode) */                      
        "JOB_NAME"            VARCHAR(255)   NOT NULL,          /* S: Name of the job */                                                                     
        "ENQUEUE_TIME"        TIMESTAMP,                        /* S: timestamp when the job was enqueued */                                                 
        "START_AT_TIME"       TIMESTAMP,                        /* S: timestamp of the scheduled start */                                                    
        "PARAMETERS"          CLOB(32M),                        /* S: job parameters as XML <parameters><param name="x" value="y"/>...</parameters> */       
        "TASK_XML"            CLOB(32M),                        /* S: xml definition */                                                                      
        PRIMARY KEY ( "TASK_ID" )
      )
      
      ./db/db2/scheduler_events.sql#SCHEDULER_EVENTS
      CREATE TABLE SCHEDULER_EVENTS (
        "ID"                    INTEGER         NOT NULL GENERATED BY DEFAULT AS IDENTITY, /* unique event entry identifier */
        "SPOOLER_ID"            VARCHAR(100)    NOT NULL,              /* Job Scheduler instance that handles events */
        "REMOTE_SCHEDULER_HOST" VARCHAR(100)            ,              /* host of remote Job Scheduler that throws events */
        "REMOTE_SCHEDULER_PORT" NUMERIC(6)              ,              /* port of remote Job Scheduler that throws events */
        "JOB_CHAIN"             VARCHAR(250)            ,              /* job chain that throws event */
        "ORDER_ID"              VARCHAR(250)            ,              /* order identification */
        "JOB_NAME"              VARCHAR(100)            ,              /* job that throws event */
        "EVENT_CLASS"           VARCHAR(100)    NOT NULL,              /* event class name */
        "EVENT_ID"              VARCHAR(100)    DEFAULT '''' NOT NULL,   /* event identification */
        "EXIT_CODE"             VARCHAR(100)    DEFAULT '''' ,           /* exit code */
        "PARAMETERS"            CLOB(32M)               ,              /* event parameters in XML format <params><param name="x" value="y"/>...</params> */
        "CREATED"               TIMESTAMP       NOT NULL,              /* timestamp for creation date */
        "EXPIRES"               TIMESTAMP               ,              /* timestamp for expiration date */
        PRIMARY KEY ( "ID" )
      )
      

      Attachments

        Activity

          People

            oh Oliver Haufe
            oh Oliver Haufe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: