home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / sqlerror.tcl < prev    next >
Text File  |  1996-06-05  |  6KB  |  223 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1992-1996 by Cadre Technologies, Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment by Cadre Technologies, Inc.
  13. #
  14. #---------------------------------------------------------------------------
  15. #
  16. #    File        : @(#)sqlerror.tcl    2.1 (2.1)
  17. #    Original date    : 18-8-1992
  18. #    Description    : Tcl script containing error messages for
  19. #                         the SQL 
  20. #
  21. #---------------------------------------------------------------------------
  22. #
  23. # @(#)sqlerror.tcl    2.1 (2.1)\t19 Apr 1996 Copyright 1992-1996 Cadre Technologies, Inc
  24. #
  25. #---------------------------------------------------------------------------
  26.  
  27.  
  28. #
  29. #
  30. proc gen_iierror_null { current_section tab_name } {
  31.  
  32.     $current_section pushIndent
  33.     expand_text $current_section {
  34.         IF iierrornumber <> 0 THEN
  35.             msg = 'Nullify in detail table "~$tab_name" failed';
  36.             RAISE ERROR 99001 :msg;
  37.             RETURN 0;
  38.         ENDIF;
  39.     }
  40.     $current_section popIndent
  41. }
  42.  
  43. #
  44. #
  45. proc gen_iierror_null_current { current_section tab_name } {
  46.  
  47.     $current_section pushIndent
  48.     expand_text $current_section {
  49.         IF iierrornumber <> 0 THEN
  50.             msg = 'Nullify in table "~$tab_name" failed';
  51.             RAISE ERROR 99001 :msg;
  52.             RETURN 0;
  53.     ELSE
  54.         msg = 'Nullified foreign keys';
  55.         ENDIF;
  56.     }
  57.     $current_section popIndent
  58. }
  59.  
  60. #
  61. #
  62. proc gen_iierror_cas_ins { current_section tab_name } {
  63.  
  64.     $current_section pushIndent
  65.     expand_text $current_section {
  66.         IF iierrornumber > 0 THEN
  67.             msg = 'Cascade insert into table "~$tab_name" failed';
  68.             RAISE ERROR 99002 :msg;
  69.             RETURN 0;
  70.         ENDIF;
  71.     }
  72.     $current_section popIndent
  73. }
  74.  
  75.  
  76. #
  77. #
  78. proc gen_iierror_cas_del { current_section tab_name } {
  79.  
  80.     $current_section pushIndent
  81.     expand_text $current_section {
  82.        IF iierrornumber > 0 THEN
  83.            msg = 'Cascade delete from table "~$tab_name" failed';
  84.            RAISE ERROR 99003 :msg;
  85.            RETURN 0;
  86.        ENDIF;
  87.     }
  88.     $current_section popIndent
  89. }
  90.  
  91.  
  92. #
  93. #
  94. proc gen_iierror_cas_upd { current_section tab_name } {
  95.  
  96.     $current_section pushIndent
  97.     expand_text $current_section {
  98.         IF iierrornumber > 0 THEN
  99.             msg = 'Cascade update of "~$tab_name" failed';
  100.             RAISE ERROR 99004 :msg;
  101.             RETURN 0;
  102.         ENDIF;
  103.     }
  104.     $current_section popIndent
  105. }
  106.  
  107.  
  108. #
  109. #
  110. proc gen_error_del_rej { current_section cur_name other_name } {
  111.  
  112.     $current_section pushIndent
  113.     expand_text $current_section {
  114.         IF counter > 0 THEN
  115.             msg = 'Delete from table "~$cur_name" rejected: ' +
  116.             'tuple referred from table "~$other_name"';
  117.             RAISE ERROR 99006 :msg;
  118.             RETURN 0;
  119.         ENDIF;
  120.     }
  121.     $current_section popIndent
  122. }
  123.  
  124.  
  125. #
  126. #
  127. proc gen_error_del_rej_last { current_section tab_name } {
  128.  
  129.     $current_section pushIndent
  130.     expand_text $current_section {
  131.         IF counter = 1 THEN
  132.             msg = 'Delete from table "~$tab_name" would violate' +
  133.                   ' referential integrity, delete rejected';
  134.             RAISE ERROR 99007 :msg;
  135.             RETURN 0;
  136.         ENDIF;
  137.     }
  138.     $current_section popIndent
  139. }
  140.  
  141.  
  142. #
  143. #
  144. proc gen_error_upd_rej_sub { current_section tab_name sub_type_name } {
  145.  
  146.     $current_section pushIndent
  147.     expand_text $current_section {
  148.         IF counter > 0 THEN
  149.             msg = 'Tuple already exist in subtype table "~$sub_type_name"' +
  150.                   ', update of table "~$tab_name" rejected';
  151.             RAISE ERROR 99008 :msg;
  152.             RETURN 0;
  153.         ENDIF;
  154.     }
  155.     $current_section popIndent
  156. }
  157.  
  158.  
  159. #
  160. #
  161. proc gen_error_upd_rej_not_exist { current_section tab_name mas_name } {
  162.  
  163.     $current_section pushIndent
  164.     expand_text $current_section {
  165.         IF counter = 0 THEN
  166.             msg = 'Update of table "~$tab_name" rejected: foreign key does' +
  167.                   ' not exist in master table "~$mas_name"';
  168.             RAISE ERROR 99009 :msg;
  169.             RETURN 0;
  170.         ENDIF;
  171.     }
  172.     $current_section popIndent
  173. }
  174.  
  175.  
  176. #
  177. #
  178. proc gen_error_upd_rej_exist { current_section tab_name } {
  179.  
  180.     $current_section pushIndent
  181.     expand_text $current_section {
  182.         IF counter > 0 THEN
  183.             msg = 'Updated column(s) exist in detail table' +
  184.                   ' "~$tab_name": update rejected';
  185.             RAISE ERROR 99010 :msg;
  186.             RETURN 0;
  187.         ENDIF;
  188.     }
  189.     $current_section popIndent
  190. }
  191.  
  192.  
  193. #
  194. #
  195. proc gen_error_ins_rej_not_exist_in_detail { current_section tab_name } {
  196.  
  197.     $current_section pushIndent
  198.     expand_text $current_section {
  199.         IF counter = 0 THEN
  200.             msg = 'Insert into table "~$tab_name" rejected';
  201.             RAISE ERROR 99012 :msg;
  202.             RETURN 0;
  203.         ENDIF;
  204.     }
  205.     $current_section popIndent
  206. }
  207.  
  208. #
  209. #
  210. proc gen_error_ins_rej_not_exist_in_master { current_section tab_name master_name} {
  211.  
  212.     $current_section pushIndent
  213.     expand_text $current_section {
  214.         IF counter = 0 THEN
  215.             msg = 'Insert into table "~$tab_name" rejected: '
  216.           + 'foreign key does not exist in master table "~$master_name"';
  217.             RAISE ERROR 99011 :msg;
  218.             RETURN 0;
  219.         ENDIF;
  220.     } tab_name $tab_name master_name $master_name
  221.     $current_section popIndent
  222. }
  223.