home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / programming / oracle7 7.2 / DB / UTIL72 / CATDEFRT.SQL < prev    next >
Encoding:
Text File  |  1995-05-09  |  5.4 KB  |  115 lines

  1. rem 
  2. rem $Header: catdefrt.sql 7020200.1 95/02/15 18:32:53 cli Generic<base> $ 
  3. rem 
  4. Rem  Copyright (c) 1992 by Oracle Corporation 
  5. Rem    NAME
  6. Rem      catdefrt.sql - CATalog DEFeRred rpc Tables
  7. Rem    DESCRIPTION
  8. Rem      create deferred rpc tables
  9. Rem    RETURNS
  10. Rem 
  11. Rem    NOTES
  12. Rem      This is called from catdefer.sql
  13. Rem    MODIFIED   (MM/DD/YY)
  14. Rem     hasun      01/23/95 -  merge changes from branch 1.1.710.5
  15. Rem     dsdaniel   12/21/94 -  merge changes from branch 1.1.710.2&3&4
  16. Rem     hasun      01/11/95 -  Add fix to resolve duplicate SCNs
  17. Rem     dsdaniel   12/08/94 -  add def _destinaton constraint
  18. Rem     dsdaniel   12/08/94 -  name defcall primary
  19. Rem     dsdaniel   11/25/94 -  eliminate deftrandest, ect
  20. Rem     dsdaniel   11/25/94 -  Branch_for_patch
  21. Rem     dsdaniel   11/22/94 -  Creation
  22.  
  23. --  create the call table.  One row for each deferred call.
  24. CREATE TABLE system.def$_call  (
  25.   deferred_tran_db VARCHAR2(128),   -- origin db
  26.   deferred_tran_id  VARCHAR2(22),   -- transaction id
  27.   buffer_number NUMBER,            -- parameters buffer number 
  28.   callno            NUMBER,         -- UID of call, orders calls in transaction 
  29.    CONSTRAINT def$_calls_primary
  30.       PRIMARY KEY(deferred_tran_db, deferred_tran_id, callno, buffer_number),
  31.   schemaname    VARCHAR2(30),      -- schema name NOT NULL
  32.   packagename   VARCHAR2(30),      -- package name  NOT NULL
  33.   procname      VARCHAR2(30),      -- procedue name NOT NULL
  34.   argcount      NUMBER,            -- # of args  NOT NULL
  35.   parm_buffer   LONG RAW,          -- parameters buffer    
  36.   -- THE FOLLOWING COLUMNS ARE NONLY NON-NULL FOR THE FIRST (lowest callno,
  37.   -- buffno = 1 
  38.   destination_list CHAR(1),       -- R = RepSchema, D = def$_calldest
  39.   origin_user_id   NUMBER,        -- userid deferring tran
  40.   origin_user      VARCHAR2(30),  -- user deferring tran (used at remote)
  41.   delivery_order   NUMBER,        -- order to deliver to destinations
  42.   origin_tran_id   VARCHAR2(22),  -- original tid (if copied)
  43.   origin_tran_db   VARCHAR2(128), -- origial  node
  44.   start_time       DATE,          -- time original tid started
  45.   destination_count INTEGER,      -- set on first push
  46.   commit_comment VARCHAR2(50))    -- commit comment
  47. /
  48.  
  49. --  create the table where the exceptions get logged. One row for each
  50. --  transactionXorigin_node when the execution of the transaction at 
  51. --  this  node encountered  an error.
  52. CREATE TABLE system.def$_error(
  53.   deferred_tran_db VARCHAR2(128),  -- node origination/copying txn
  54.   deferred_tran_id VARCHAR2(22),   -- transaction id
  55.   callno           NUMBER,           -- UID of call
  56. -- forign key constrain on call not used.  Users can create error transacitons
  57. -- with null or invalid callno - it is for documenation only
  58. --  dummy_buffer_number NUMBER DEFAULT 1,
  59. --    CONSTRAINT def$_error_call
  60. --      FOREIGN KEY(callno, dummy_buffer_number, deferred_tran_db)
  61. --      REFERENCES system.def$_call(callno, buffer_number, deferred_tran_db),
  62.    destination     VARCHAR2(128),  -- dblink transaciton destined to
  63.      CONSTRAINT def$_error_primary
  64.         PRIMARY KEY(deferred_tran_db, deferred_tran_id, destination),
  65.    error_time      DATE,           -- time at which 
  66.                                    -- conflit occured
  67.    error_number    NUMBER,         -- error 
  68.                                    -- number reported
  69.    error_msg       VARCHAR2(200))  -- error message
  70. /
  71.  
  72.  
  73. CREATE TABLE system.def$_destination(
  74.   dblink         VARCHAR2(128)  -- queue name
  75.     CONSTRAINT def$_destination_primary PRIMARY KEY,
  76.   last_delivered NUMBER         -- scn (from deliver_order column of def$_call)
  77.                          DEFAULT 0 NOT NULL,
  78.   last_tran_id   VARCHAR2(22),  -- transaction id last delivered
  79.   last_tran_db   VARCHAR2(128), -- node  origination/copying last delivered txn
  80.   disabled       CHAR(1),       -- T = propogtion to dest disabled F = enabled 
  81.   job            NUMBER,        -- number of job which does the push
  82.   last_txn_count NUMBER,        -- number of transacitons executed lat push
  83.   last_error     NUMBER,        -- sqlcode from last push
  84.   last_msg       VARCHAR2(255)) -- error message from last push
  85. /
  86.  
  87.  
  88. --  create the  table that identifies a call to be executed    
  89. --  at a remote node. One row for each callsXnode when the 
  90. --  destination_list is D
  91. CREATE TABLE system.def$_calldest(
  92.   deferred_tran_db VARCHAR2(128), -- deferred transaction db
  93.   deferred_tran_id VARCHAR2(22),  -- deferred transaction id
  94.   callno           NUMBER,        -- call id 
  95.   dummy_buffer_number NUMBER DEFAULT 1, -- for forign key reference
  96.     CONSTRAINT def$_calldest_call
  97.       FOREIGN KEY(deferred_tran_db,
  98.                            deferred_tran_id, callno, dummy_buffer_number)
  99.       REFERENCES system.def$_call(deferred_tran_db,
  100.                                   deferred_tran_id, callno, buffer_number),
  101.   dblink           VARCHAR2(128), -- dblink to destination
  102.     CONSTRAINT def$_calldest_primary 
  103.       PRIMARY KEY(deferred_tran_db, deferred_tran_id, 
  104.                   callno, dummy_buffer_number, dblink),
  105.    CONSTRAINT def$_call_destination  -- Destination table must have a row
  106.       FOREIGN KEY(dblink)  
  107.       REFERENCES system.def$_destination(dblink))
  108. /                    
  109.  
  110. CREATE TABLE system.def$_defaultdest (
  111.   dblink VARCHAR2(128)  -- dblink 
  112.     CONSTRAINT def$_defalutdest_primary
  113.     PRIMARY KEY)
  114. /
  115.