home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1997 November
/
PCWorld_1997-11_cd.bin
/
software
/
programy
/
komix
/
DATA.Z
/
sqlrules
< prev
next >
Wrap
Text File
|
1996-11-04
|
35KB
|
466 lines
#---------------------------------------------------------------------------
#
# Copyright (c) 1992-1996 by Cayenne Software, Inc.
#
# This software is furnished under a license and may be used only in
# accordance with the terms of such license and with the inclusion of
# the above copyright notice. This software or any other copies thereof
# may not be provided or otherwise made available to any other person.
# No title to and ownership of the software is hereby transferred.
#
# The information in this software is subject to change without notice
# and should not be construed as a commitment by Cayenne Software, Inc.
#
#---------------------------------------------------------------------------
#
# File : @(#)sqlrules /main/hindenburg/1 (1.10)
# Original date : 7-1992
# Description : Configuration file containing rules for
# insert-, delete- and update policies.
# For more information see the extended
# description below.
#
#---------------------------------------------------------------------------
#
# @(#)sqlrules /main/hindenburg/1 4 Nov 1996 Copyright 1992-1996 Cayenne Software, Inc.
#
#---------------------------------------------------------------------------
#
# Default Referential Integrity
# possible values 'on' and 'off'
#
on
#
#---------------------------------------------------------------------------
#
# Column discription :
# relation type : Type of the relation
# operation : Operation on table
# table : Role of the table
# master type : Type of the master table
# detail type : Type of the detail table
# source type : Is the detail table derived from a entity(table)
# detail or a relation
# policy : Specified policy of a link (i.e. connector)
# allowed : default = default rule
# yes = this rule is also allowed
# no = this rule would make no sense
# NOTE: per 4(3) policies is only one "default"
# allowed
# rule : Rule to be excuted for the specified operation
# you can add or change the rules
# (NOTE: if you do, adjust the Tcl templates).
# If the field contains the value "not_applicable",
# the rule would make no sense at all for the
# specified operation.
#
# Column values :
# relation type : optional, total, supersubtype, associative
# operation : insert, update, delete
# table : master, detail (i.e. the current table)
# master type : optional, total, supertype, strong
# detail type : optional, total, subtype, associative,
# source type : table, relation
# policy : none, restrict, nullify, cascade
# allowed : default, yes, no
# rule : rej_not_exist,
# rej_exist,
# rej_last,
# rej_last_in_master,
# ins_in_master,
# del_in_detail,
# del_in_master,
# nullify_detail,
# upd_in_detail,
# none,
# not_applicable
#
#-------------------------------------------------------------------------------
# NOTE : Do not change the column values except the columns "allowed"
# and "rule".
#===============================================================================
#
# Optional relation
#
#-------------------------------------------------------------------------------
# rela |opera |table |master |detail |source |policy |allowed |rule
# tion |tion |type |type |type |type | | |
# type | | | | |detail | | |
#-------------------------------------------------------------------------------
optional |insert |master |optional |optional |table |none |default |none
optional |insert |master |optional |optional |table |restrict |no |rej_not_exist
optional |insert |master |optional |optional |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
optional |insert |master |optional |optional |relation |none |default |none
optional |insert |master |optional |optional |relation |restrict |no |rej_not_exist
optional |insert |master |optional |optional |relation |cascade |no |not_applicable
#-------------------------------------------------------------------------------
optional |insert |detail |optional |optional |table |none |no |not_applicable
optional |insert |detail |optional |optional |table |restrict |default |rej_not_exist
optional |insert |detail |optional |optional |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
optional |insert |detail |optional |optional |relation |none |no |none
optional |insert |detail |optional |optional |relation |restrict |default |rej_not_exist
optional |insert |detail |optional |optional |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
optional |update |master |optional |optional |table |none |no |none
optional |update |master |optional |optional |table |restrict |default |rej_exist
optional |update |master |optional |optional |table |nullify |yes |nullify_detail
optional |update |master |optional |optional |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
optional |update |master |optional |optional |relation |none |no |none
optional |update |master |optional |optional |relation |restrict |default |rej_exist
optional |update |master |optional |optional |relation |nullify |no |not_applicable
optional |update |master |optional |optional |relation |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
optional |update |detail |optional |optional |table |none |no |not_applicable
optional |update |detail |optional |optional |table |restrict |default |rej_not_exist
optional |update |detail |optional |optional |table |nullify |no |not_applicable
optional |update |detail |optional |optional |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
optional |update |detail |optional |optional |relation |none |no |none
optional |update |detail |optional |optional |relation |restrict |default |rej_not_exist
optional |update |detail |optional |optional |relation |nullify |no |not_applicable
optional |update |detail |optional |optional |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
optional |delete |master |optional |optional |table |none |no |none
optional |delete |master |optional |optional |table |restrict |no |rej_exist
optional |delete |master |optional |optional |table |nullify |default |nullify_detail
optional |delete |master |optional |optional |table |cascade |yes |del_in_detail
#-------------------------------------------------------------------------------
optional |delete |master |optional |optional |relation |none |no |none
optional |delete |master |optional |optional |relation |restrict |no |rej_exist
optional |delete |master |optional |optional |relation |nullify |no |not_applicable
optional |delete |master |optional |optional |relation |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
optional |delete |detail |optional |optional |table |none |default |none
optional |delete |detail |optional |optional |table |restrict |no |rej_exist
optional |delete |detail |optional |optional |table |nullify |no |not_applicable
optional |delete |detail |optional |optional |table |cascade |no |del_in_master
#-------------------------------------------------------------------------------
optional |delete |detail |optional |optional |relation |none |default |none
optional |delete |detail |optional |optional |relation |restrict |no |rej_exist
optional |delete |detail |optional |optional |relation |nullify |no |not_applicable
optional |delete |detail |optional |optional |relation |cascade |no |del_in_master
#
#===============================================================================
#
# Single sided total relation
#
#-------------------------------------------------------------------------------
# rela |opera |table |master |detail |source |policy |allowed |rule
# tion |tion | |type |type |type | | |
# type | | | | |detail | | |
#-------------------------------------------------------------------------------
total |insert |master |total |optional |table |none |no |none
total |insert |master |total |optional |table |restrict |default |rej_not_exist
total |insert |master |total |optional |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
total |insert |master |optional |total |table |none |default |none
total |insert |master |optional |total |table |restrict |no |rej_not_exist
total |insert |master |optional |total |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
total |insert |master |optional |total |relation |none |default |none
total |insert |master |optional |total |relation |restrict |no |rej_not_exist
total |insert |master |optional |total |relation |cascade |no |not_applicable
#-------------------------------------------------------------------------------
total |insert |detail |optional |total |table |none |no |not_applicable
total |insert |detail |optional |total |table |restrict |default |rej_not_exist
total |insert |detail |optional |total |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |insert |detail |total |optional |table |none |default |none
total |insert |detail |total |optional |table |restrict |yes |rej_not_exist
total |insert |detail |total |optional |table |cascade |no |ins_in_master
#-------------------------------------------------------------------------------
total |insert |detail |optional |total |relation |none |no |none
total |insert |detail |optional |total |relation |restrict |default |rej_not_exist
total |insert |detail |optional |total |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |update |master |total |optional |table |none |no |none
total |update |master |total |optional |table |restrict |default |rej_exist
total |update |master |total |optional |table |nullify |no |not_applicable
total |update |master |total |optional |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
total |update |master |optional |total |table |none |no |none
total |update |master |optional |total |table |restrict |default |rej_exist
total |update |master |optional |total |table |nullify |no |not_applicable
total |update |master |optional |total |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
total |update |master |optional |total |relation |none |no |none
total |update |master |optional |total |relation |restrict |yes |rej_exist
total |update |master |optional |total |relation |nullify |no |not_applicable
total |update |master |optional |total |relation |cascade |default |upd_in_detail
#-------------------------------------------------------------------------------
total |update |detail |optional |total |table |none |no |not_applicable
total |update |detail |optional |total |table |restrict |default |rej_not_exist
total |update |detail |optional |total |table |nullify |no |not_applicable
total |update |detail |optional |total |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |update |detail |total |optional |table |none |default |none
total |update |detail |total |optional |table |restrict |no |rej_not_exist
total |update |detail |total |optional |table |nullify |no |not_applicable
total |update |detail |total |optional |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |update |detail |optional |total |relation |none |no |none
total |update |detail |optional |total |relation |restrict |default |rej_not_exist
total |update |detail |optional |total |relation |nullify |no |not_applicable
total |update |detail |optional |total |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |delete |master |total |optional |table |none |no |none
total |delete |master |total |optional |table |restrict |no |rej_exist
total |delete |master |total |optional |table |nullify |default |nullify_detail
total |delete |master |total |optional |table |cascade |no |del_in_detail
#-------------------------------------------------------------------------------
total |delete |master |optional |total |table |none |no |none
total |delete |master |optional |total |table |restrict |yes |rej_exist
total |delete |master |optional |total |table |nullify |no |not_applicable
total |delete |master |optional |total |table |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
total |delete |master |optional |total |relation |none |no |none
total |delete |master |optional |total |relation |restrict |no |rej_exist
total |delete |master |optional |total |relation |nullify |no |not_applicable
total |delete |master |optional |total |relation |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
total |delete |detail |total |optional |table |none |no |none
total |delete |detail |total |optional |table |restrict |default |rej_last
total |delete |detail |total |optional |table |nullify |no |not_applicable
total |delete |detail |total |optional |table |cascade |yes |del_in_master
#-------------------------------------------------------------------------------
total |delete |detail |optional |total |table |none |default |none
total |delete |detail |optional |total |table |restrict |no |rej_exist
total |delete |detail |optional |total |table |nullify |no |not_applicable
total |delete |detail |optional |total |table |cascade |no |del_in_master
#-------------------------------------------------------------------------------
total |delete |detail |optional |total |relation |none |default |none
total |delete |detail |optional |total |relation |restrict |no |rej_exist
total |delete |detail |optional |total |relation |nullify |no |not_applicable
total |delete |detail |optional |total |relation |cascade |no |del_in_master
#
#===============================================================================
#
# Multi sided total relation
#
#-------------------------------------------------------------------------------
# rela |opera |table |master |detail |source |policy |allowed |rule
# tion |tion | |type |type |type | | |
# type | | | | |detail | | |
#-------------------------------------------------------------------------------
total |insert |master |total |total |table |none |no |none
total |insert |master |total |total |table |restrict |default |rej_not_exist
total |insert |master |total |total |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
total |insert |master |total |total |relation |none |no |none
total |insert |master |total |total |relation |restrict |default |rej_not_exist
total |insert |master |total |total |relation |cascade |no |not_applicable
#-------------------------------------------------------------------------------
total |insert |detail |total |total |table |none |no |none
total |insert |detail |total |total |table |restrict |default |rej_not_exist
total |insert |detail |total |total |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |insert |detail |total |total |relation |none |no |none
total |insert |detail |total |total |relation |restrict |yes |rej_not_exist
total |insert |detail |total |total |relation |cascade |default |ins_in_master
#-------------------------------------------------------------------------------
total |update |master |total |total |table |none |no |none
total |update |master |total |total |table |restrict |default |rej_exist
total |update |master |total |total |table |nullify |no |not_applicable
total |update |master |total |total |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
total |update |master |total |total |relation |none |no |none
total |update |master |total |total |relation |restrict |default |rej_exist
total |update |master |total |total |relation |nullify |no |not_applicable
total |update |master |total |total |relation |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
total |update |detail |total |total |table |none |no |none
total |update |detail |total |total |table |restrict |default |rej_not_exist
total |update |detail |total |total |table |nullify |no |not_applicable
total |update |detail |total |total |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
total |update |detail |total |total |relation |none |no |none
total |update |detail |total |total |relation |restrict |yes |rej_not_exist
total |update |detail |total |total |relation |nullify |no |not_applicable
total |update |detail |total |total |relation |cascade |default |ins_in_master
#-------------------------------------------------------------------------------
total |delete |master |total |total |table |none |no |none
total |delete |master |total |total |table |restrict |default |rej_exist
total |delete |master |total |total |table |nullify |no |not_applicable
total |delete |master |total |total |table |cascade |yes |del_in_detail
#-------------------------------------------------------------------------------
total |delete |master |total |total |relation |none |no |none
total |delete |master |total |total |relation |restrict |default |rej_exist
total |delete |master |total |total |relation |nullify |no |not_applicable
total |delete |master |total |total |relation |cascade |yes |del_in_detail
#-------------------------------------------------------------------------------
total |delete |detail |total |total |table |none |no |none
total |delete |detail |total |total |table |restrict |yes |rej_last_in_master
total |delete |detail |total |total |table |nullify |no |not_applicable
total |delete |detail |total |total |table |cascade |default |del_in_master
#-------------------------------------------------------------------------------
total |delete |detail |total |total |relation |none |no |none
total |delete |detail |total |total |relation |restrict |yes |rej_last
total |delete |detail |total |total |relation |nullify |no |not_applicable
total |delete |detail |total |total |relation |cascade |default |del_in_master
#
#===============================================================================
#
# Super- Subtype relation
#
#-------------------------------------------------------------------------------
# relation |opera |table |master |detail |source |policy |allowed |rule
# type |tion | |type |type |type | | |
# | | | | |detail | |
#-------------------------------------------------------------------------------
supersubtype |insert |master |supertype|subtype |table |none |default |none
supersubtype |insert |master |supertype|subtype |table |restrict |no |rej_not_exist
supersubtype |insert |master |supertype|subtype |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
supersubtype |insert |detail |supertype|subtype |table |none |no |none
supersubtype |insert |detail |supertype|subtype |table |restrict |default |rej_not_exist
supersubtype |insert |detail |supertype|subtype |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
supersubtype |update |master |supertype|subtype |table |none |no |none
supersubtype |update |master |supertype|subtype |table |restrict |default |rej_exist
supersubtype |update |master |supertype|subtype |table |nullify |no |not_applicable
supersubtype |update |master |supertype|subtype |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
supersubtype |update |detail |supertype|subtype |table |none |no |none
supersubtype |update |detail |supertype|subtype |table |restrict |default |rej_not_exist
supersubtype |update |detail |supertype|subtype |table |nullify |no |not_applicable
supersubtype |update |detail |supertype|subtype |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
#
# The RI for a delete of an object is handled by the Client i.e. the C++
# generator generates the code for deleting object. If an object consists of
# more than one table it will also work.
#
supersubtype |delete |master |supertype|subtype |table |none |default |none
supersubtype |delete |master |supertype|subtype |table |restrict |no |rej_exist
supersubtype |delete |master |supertype|subtype |table |nullify |no |not_applicable
supersubtype |delete |master |supertype|subtype |table |cascade |yes |del_in_detail
#-------------------------------------------------------------------------------
supersubtype |delete |detail |supertype|subtype |table |none |default |none
supersubtype |delete |detail |supertype|subtype |table |restrict |no |rej_exist
supersubtype |delete |detail |supertype|subtype |table |nullify |no |not_applicable
supersubtype |delete |detail |supertype|subtype |table |cascade |yes |del_in_master
#
#===============================================================================
#
# Associative Object
#
#-------------------------------------------------------------------------------
# relation |opera |table |master |detail |source |policy |allowed |rule
# type |tion | |type |type |type | | |
# | | | | |detail | | |
#-------------------------------------------------------------------------------
associative |insert |master |optional |associative |table |none |default |none
associative |insert |master |optional |associative |table |restrict |no |rej_not_exist
associative |insert |master |optional |associative |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
associative |insert |master |optional |associative |relation |none |default |none
associative |insert |master |optional |associative |relation |restrict |no |rej_not_exist
associative |insert |master |optional |associative |relation |cascade |no |not_applicable
#-------------------------------------------------------------------------------
associative |insert |detail |optional |associative |table |none |no |none
associative |insert |detail |optional |associative |table |restrict |default |rej_not_exist
associative |insert |detail |optional |associative |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |insert |detail |optional |associative |relation |none |no |none
associative |insert |detail |optional |associative |relation |restrict |default |rej_not_exist
associative |insert |detail |optional |associative |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |update |master |optional |associative |table |none |no |none
associative |update |master |optional |associative |table |restrict |default |rej_exist
associative |update |master |optional |associative |table |nullify |no |not_applicable
associative |update |master |optional |associative |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
associative |update |master |optional |associative |relation |none |no |none
associative |update |master |optional |associative |relation |restrict |default |rej_exist
associative |update |master |optional |associative |relation |nullify |no |not_applicable
associative |update |master |optional |associative |relation |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
associative |update |detail |optional |associative |table |none |no |none
associative |update |detail |optional |associative |table |restrict |default |rej_not_exist
associative |update |detail |optional |associative |table |nullify |no |not_applicable
associative |update |detail |optional |associative |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |update |detail |optional |associative |relation |none |no |none
associative |update |detail |optional |associative |relation |restrict |default |rej_not_exist
associative |update |detail |optional |associative |relation |nullify |no |not_applicable
associative |update |detail |optional |associative |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |delete |master |optional |associative |table |none |no |none
associative |delete |master |optional |associative |table |restrict |no |rej_exist
associative |delete |master |optional |associative |table |nullify |no |not_applicable
associative |delete |master |optional |associative |table |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
associative |delete |master |optional |associative |relation |none |no |none
associative |delete |master |optional |associative |relation |restrict |no |rej_exist
associative |delete |master |optional |associative |relation |nullify |no |not_applicable
associative |delete |master |optional |associative |relation |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
associative |delete |detail |optional |associative |table |none |default |none
associative |delete |detail |optional |associative |table |restrict |no |rej_exist
associative |delete |detail |optional |associative |table |nullify |no |not_applicable
associative |delete |detail |optional |associative |table |cascade |no |del_in_master
#-------------------------------------------------------------------------------
associative |delete |detail |optional |associative |relation |none |default |none
associative |delete |detail |optional |associative |relation |restrict |no |rej_exist
associative |delete |detail |optional |associative |relation |nullify |no |not_applicable
associative |delete |detail |optional |associative |relation |cascade |no |del_in_master
#-------------------------------------------------------------------------------
associative |insert |master |total |associative |table |none |no |none
associative |insert |master |total |associative |table |restrict |default |rej_not_exist
associative |insert |master |total |associative |table |cascade |no |not_applicable
#-------------------------------------------------------------------------------
associative |insert |master |total |associative |relation |none |no |none
associative |insert |master |total |associative |relation |restrict |default |rej_not_exist
associative |insert |master |total |associative |relation |cascade |no |not_applicable
#-------------------------------------------------------------------------------
associative |insert |detail |total |associative |table |none |no |none
associative |insert |detail |total |associative |table |restrict |yes |rej_not_exist
associative |insert |detail |total |associative |table |cascade |default |ins_in_master
#-------------------------------------------------------------------------------
associative |insert |detail |total |associative |relation |none |no |none
associative |insert |detail |total |associative |relation |restrict |yes |rej_not_exist
associative |insert |detail |total |associative |relation |cascade |default |ins_in_master
#-------------------------------------------------------------------------------
associative |update |master |total |associative |table |none |no |none
associative |update |master |total |associative |table |restrict |default |rej_exist
associative |update |master |total |associative |table |nullify |no |not_applicable
associative |update |master |total |associative |table |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
associative |update |master |total |associative |relation |none |no |none
associative |update |master |total |associative |relation |restrict |default |rej_exist
associative |update |master |total |associative |relation |nullify |no |not_applicable
associative |update |master |total |associative |relation |cascade |yes |upd_in_detail
#-------------------------------------------------------------------------------
associative |update |detail |total |associative |table |none |no |none
associative |update |detail |total |associative |table |restrict |default |rej_not_exist
associative |update |detail |total |associative |table |nullify |no |not_applicable
associative |update |detail |total |associative |table |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |update |detail |total |associative |relation |none |no |none
associative |update |detail |total |associative |relation |restrict |default |rej_not_exist
associative |update |detail |total |associative |relation |nullify |no |not_applicable
associative |update |detail |total |associative |relation |cascade |yes |ins_in_master
#-------------------------------------------------------------------------------
associative |delete |master |total |associative |table |none |no |none
associative |delete |master |total |associative |table |restrict |yes |rej_exist
associative |delete |master |total |associative |table |nullify |no |not_applicable
associative |delete |master |total |associative |table |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
associative |delete |master |total |associative |relation |none |no |none
associative |delete |master |total |associative |relation |restrict |yes |rej_exist
associative |delete |master |total |associative |relation |nullify |no |not_applicable
associative |delete |master |total |associative |relation |cascade |default |del_in_detail
#-------------------------------------------------------------------------------
associative |delete |detail |total |associative |table |none |no |none
associative |delete |detail |total |associative |table |restrict |yes |rej_exist
associative |delete |detail |total |associative |table |nullify |no |not_applicable
associative |delete |detail |total |associative |table |cascade |default |del_in_master
#-------------------------------------------------------------------------------
associative |delete |detail |total |associative |relation |none |no |none
associative |delete |detail |total |associative |relation |restrict |yes |rej_exist
associative |delete |detail |total |associative |relation |nullify |no |not_applicable
associative |delete |detail |total |associative |relation |cascade |default |del_in_master