COMPILATION LISTING OF SEGMENT rcm_delete_record_by_id Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/04/85 0958.1 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 8 /* DESCRIPTION 9* 10* Deletes the records specified by the given identifiers. The cursor is 11* positioned to the record following the last record deleted. 12* 13* This routine always gets the record collection's opening information. 14* A later performance gain can be achieved by adding single_info and 15* array_info entry points that take pointers to opening information. 16**/ 17 18 /* HISTORY: 19*Written by Matthew Pierret 04/23/82. 20*Modified: 21*08/20/82 by Matthew Pierret: Made enter-able only by the entry points single 22* and array. Added use of rm_get_opening_info, which is in reality 23* simply the field_table. 24*03/16/83 by Matthew Pierret: Changed to use the record_collection_opening_info 25* structure returned from rm_get_opening_info. 26* Changed to translate some collection_manager_ errors to 27* dm_error_$record_not_found. 28*03/24/83 by Lindsey Spratt: Removed references to the field_table and the 29* record_collection_opening_info structures. 30*07/28/83 by Matthew Pierret: Changed name from rm_delete_record_by_id to 31* rcm_delete_record_by_id, and all rm_ prefixes to rcm_. 32*04/12/84 by Lee Baldwin: Renamed the parameters to coincide with all the other 33* rcm_XX routines. Changed the declaration of 34* number_of_records_processed to fixed bin (35). (was (17)). 35*06/06/84 by Matthew Pierret: Re-named cm_$free_element to cm_$delete. 36**/ 37 /* format: style2,ind3 */ 38 39 /* format: style2,ind3 */ 40 41 rcm_delete_record_by_id: 42 proc (); 43 44 call 45 sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, "^/^a$^a is not a valid entrypoint", 46 myname, myname); 47 48 49 /* START OF DECLARATIONS */ 50 /* Parameter */ 51 52 dcl p_record_cursor_ptr ptr; 53 dcl p_element_id_list_ptr ptr; 54 dcl p_record_id bit (36) aligned; 55 dcl p_number_of_records_processed 56 fixed bin (35); 57 dcl p_code fixed bin (35); 58 59 /* Automatic */ 60 61 dcl delete_single_record bit (1) aligned init ("0"b); 62 dcl record_id bit (36) aligned; 63 dcl record_idx fixed bin; 64 65 /* Based */ 66 /* Builtin */ 67 68 dcl (null, hbound) builtin; 69 70 /* Controlled */ 71 /* Constant */ 72 73 dcl BITS_PER_CHAR init (9) fixed bin internal static options (constant); 74 dcl myname init ("rcm_delete_record_by_id") char (32) varying internal static 75 options (constant); 76 77 /* Entry */ 78 79 dcl rcm_get_opening_info entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35)); 80 dcl sub_err_ entry () options (variable); 81 82 /* External */ 83 84 dcl ( 85 dm_error_$programming_error, 86 dm_error_$record_not_found, 87 dm_error_$wrong_cursor_type, 88 error_table_$unimplemented_version 89 ) ext fixed bin (35); 90 91 /* END OF DECLARATIONS */ 92 93 single: 94 entry (p_record_id, p_record_cursor_ptr, p_code); 95 96 delete_single_record = "1"b; 97 record_id = p_record_id; 98 99 goto JOIN; 100 101 102 array: 103 entry (p_element_id_list_ptr, p_record_cursor_ptr, p_number_of_records_processed, p_code); 104 105 element_id_list_ptr = p_element_id_list_ptr; 106 107 call CHECK_VERSION ((element_id_list.version), (ELEMENT_ID_LIST_VERSION_1), "element_id_list"); 108 109 record_id = element_id_list.id (1); 110 delete_single_record = "0"b; 111 112 goto JOIN; 113 114 115 JOIN: 116 p_code = 0; 117 118 record_cursor_ptr = p_record_cursor_ptr; 119 120 call CHECK_VERSION ((record_cursor.version), (RECORD_CURSOR_VERSION_2), "record_cursor"); 121 122 if record_cursor.type ^= RECORD_CURSOR_TYPE 123 then call 124 sub_err_ (dm_error_$wrong_cursor_type, myname, ACTION_CANT_RESTART, null, 0, 125 "^/Expected record cursor, type ^d; received type ^d.", RECORD_CURSOR_TYPE, record_cursor.type); 126 127 128 record_cursor.flags.position_is_valid = "0"b; 129 130 call 131 collection_manager_$delete (record_cursor.file_opening_id, record_cursor.collection_id, record_id, "0"b, p_code); 132 if p_code ^= 0 133 then call ERROR_RETURN (p_code); 134 135 136 if ^delete_single_record 137 then 138 DELETE_REST_OF_RECORDS: 139 do; 140 p_number_of_records_processed = 1; 141 142 do record_idx = 2 to hbound (element_id_list.id, 1); 143 144 record_id = element_id_list.id (record_idx); 145 146 call 147 collection_manager_$delete (record_cursor.file_opening_id, record_cursor.collection_id, record_id, 148 ("0"b), p_code); 149 if p_code ^= 0 150 then call ERROR_RETURN (p_code); 151 152 p_number_of_records_processed = p_number_of_records_processed + 1; 153 154 end; 155 end DELETE_REST_OF_RECORDS; 156 157 record_cursor.record_id = record_id; 158 record_cursor.flags.position_is_valid = "1"b; 159 160 MAIN_RETURN: 161 return; 162 163 164 CHECK_VERSION: 165 proc (p_received_version, p_expected_version, p_structure_name); 166 167 dcl p_received_version fixed bin (35); 168 dcl p_expected_version fixed bin (35); 169 dcl p_structure_name char (*); 170 171 if p_received_version ^= p_expected_version 172 then call 173 sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 174 "^/Expected version ^d of the ^a structure. 175 Received version ^d, instead.", p_expected_version, p_structure_name, p_received_version); 176 177 end CHECK_VERSION; 178 179 ERROR_RETURN: 180 proc (p_code); 181 182 dcl p_code fixed bin (35); 183 dcl ( 184 dm_error_$ci_not_allocated, 185 dm_error_$ci_not_in_collection, 186 dm_error_$no_element 187 ) fixed bin ext; 188 189 if p_code = dm_error_$no_element 190 then p_code = dm_error_$record_not_found; 191 if p_code = dm_error_$ci_not_in_collection 192 then p_code = dm_error_$record_not_found; 193 if p_code = dm_error_$ci_not_allocated 194 then p_code = dm_error_$record_not_found; 195 196 goto MAIN_RETURN; 197 198 end ERROR_RETURN; 199 1 1 /* BEGIN INCLUDE FILE - dm_rcm_cursor.incl.pl1 */ 1 2 1 3 /* HISTORY: 1 4*Written by Matthew Pierret, 04/05/82. 1 5*Modified: 1 6*08/19/82 by Matthew Pierret: Version 2. Changed collection_id to 1 7* bit (36) aligned. 1 8*07/28/83 by Matthew Pierret: Changed name from dm_rm_cursor.incl.pl1 to 1 9* dm_rcm_cursor.incl.pl1. 1 10*04/13/84 by Lee Baldwin: Renamed pf_opening_id to file_opening_id to coincide 1 11* with the naming conventions used in the rcm_XX routines. 1 12**/ 1 13 1 14 /* format: style2,ind3 */ 1 15 dcl 1 record_cursor aligned based (record_cursor_ptr), 1 16 2 type fixed bin (17) unaligned, 1 17 2 version fixed bin (17) unaligned, 1 18 2 flags, 1 19 3 position_is_valid 1 20 bit (1) unal, 1 21 3 pad bit (35) unal, 1 22 2 area_ptr ptr, 1 23 2 file_opening_id bit (36) aligned, 1 24 2 collection_id bit (36) aligned, 1 25 2 record_id bit (36) aligned, 1 26 2 record_check_value bit (36) aligned; 1 27 1 28 dcl record_cursor_ptr ptr; 1 29 dcl RECORD_CURSOR_VERSION_2 1 30 init (2) fixed bin int static options (constant); 1 31 dcl RECORD_CURSOR_TYPE init (1) fixed bin int static options (constant); 1 32 dcl BEGINNING_OF_COLLECTION_RECORD_ID 1 33 init ("0"b) bit (36) aligned int static options (constant); 1 34 1 35 /* END INCLUDE FILE - dm_rcm_cursor.incl.pl1 */ 200 201 2 1 /* BEGIN INCLUDE FILE - dm_element_id_list.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* The element_id_list structure contains an array of element 2 5* identifiers. These identifiers are used as tuple, record or 2 6* element identifiers. This structure is used across the relation_manager_, 2 7* record_manager_ and index_manager_ interfaces. At some time the 2 8* version should be changed to be char(8)aligned, when such a conversion 2 9* can be coordinated with the other structures used at these interfaces. 2 10**/ 2 11 2 12 /* HISTORY: 2 13*Written by Matthew Pierret, 06/06/82. 2 14*Modified: 2 15*12/16/82 by Roger Lackey: Changed number_of_elements to fixed bin (35). 2 16* Did not change version. 2 17*02/11/85 by Matthew Pierret: Added DESCRIPTION, Written by. 2 18**/ 2 19 2 20 /* format: style2,ind3 */ 2 21 dcl 1 element_id_list aligned based (element_id_list_ptr), 2 22 2 version fixed bin (35), 2 23 2 number_of_elements fixed bin (35), 2 24 2 id (eil_number_of_elements refer (element_id_list.number_of_elements)) bit (36) aligned; 2 25 2 26 dcl element_id_list_ptr ptr; 2 27 dcl eil_number_of_elements fixed bin (35); 2 28 dcl ELEMENT_ID_LIST_VERSION_1 2 29 init (1) fixed bin (35); 2 30 2 31 2 32 /* END INCLUDE FILE - dm_element_id_list.incl.pl1 */ 202 203 3 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 3 2 /* format: style3 */ 3 3 3 4 /* These constants are to be used for the flags argument of sub_err_ */ 3 5 /* They are just "string (condition_info_header.action_flags)" */ 3 6 3 7 declare ( 3 8 ACTION_CAN_RESTART init (""b), 3 9 ACTION_CANT_RESTART init ("1"b), 3 10 ACTION_DEFAULT_RESTART 3 11 init ("01"b), 3 12 ACTION_QUIET_RESTART 3 13 init ("001"b), 3 14 ACTION_SUPPORT_SIGNAL 3 15 init ("0001"b) 3 16 ) bit (36) aligned internal static options (constant); 3 17 3 18 /* End include file */ 204 205 4 1 /* BEGIN INCLUDE FILE dm_collmgr_entry_dcls.incl.pl1 */ 4 2 4 3 /* DESCRIPTION: 4 4* This include file contains declarations of all collection_manager_ 4 5* entrypoints. 4 6**/ 4 7 4 8 /* HISTORY: 4 9*Written by Matthew Pierret 4 10*Modified: 4 11*04/14/82 by Lindsey Spratt: Changed the control_interval_id parameter of the 4 12* allocate_control_interval operation to be unaligned, as well as 4 13* unsigned. 4 14*06/17/82 by Matthew Pierret: Added the put_element_portion opertion and 4 15* removed the beginning_location parameter from the put_element 4 16* operation. Added the create_page_file_operation. 4 17*08/09/82 by Matthew Pierret: Changed "fixed bin (17)"s to "bit (36) aligned"s 4 18* wherever collection_id was required. 4 19* Also changed the control_interval_id parameter of the 4 20* allocate_control_interval operation back to be aligned. So there. 4 21*10/20/82 by Matthew Pierret: Changed $create_page_file to $create_file, 4 22* added the argument file_create_info_ptr to $create_file. 4 23*12/13/82 by Lindsey Spratt: Corrected $free_control_interval to 4 24* include the zero_on_free bit. 4 25*12/17/82 by Matthew Pierret: Added cm_$get_id. 4 26*01/07/83 by Matthew Pierret: Added cm_$put_element_buffered, 4 27* cm_$allocate_element_buffered, cm_$free_element_buffered. 4 28*04/27/83 by Matthew Pierret: Added cm_$put_unprotected_element, 4 29* cm_$put_unprotected_header. 4 30*11/07/83 by Matthew Pierret: Added $get_element_portion_buffered, 4 31* $simple_get_buffered_element. 4 32*02/08/84 by Matthew Pierret: Changed $get_id to have only one bit(1)aligned 4 33* parameter for specifying absolute/relative nature of search. 4 34*03/16/84 by Matthew Pierret: Added cm_$get_control_interval_ptr, 4 35* $get_element_ptr, $get_element_portion_ptr, $simple_get_element_ptr 4 36*04/03/84 by Matthew Pierret: Added cm_$compact_control_interval. 4 37*06/06/84 by Matthew Pierret: Re-named free_element* to delete and 4 38* delete_from_ci_buffer. 4 39* Re-named *_buffered_ci to =_ci_buffer. 4 40* get entries. 4 41* modify entries. 4 42* Changed calling sequence of modify entries to have a ptr/length 4 43* instead of length/ptr parameter pair. 4 44*03/11/85 by R. Michael Tague: Added $postcommit_increments. 4 45**/ 4 46 4 47 /* This include file contains declarations of collection_manager_ entrypoints */ 4 48 4 49 /* format: style2,ind3 */ 4 50 dcl collection_manager_$allocate_control_interval 4 51 entry (bit (36) aligned, bit (36) aligned, fixed bin (24) unsigned, fixed bin (35)); 4 52 dcl collection_manager_$compact_control_interval 4 53 entry (bit (36) aligned, fixed bin (24) uns, fixed bin (35)); 4 54 dcl collection_manager_$create_collection 4 55 entry (bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35)); 4 56 dcl collection_manager_$create_file 4 57 entry (char (*), char (*), ptr, bit (36) aligned, fixed bin (35)); 4 58 dcl collection_manager_$destroy_collection 4 59 entry (bit (36) aligned, bit (36) aligned, fixed bin (35)); 4 60 dcl collection_manager_$free_control_interval 4 61 entry (bit (36) aligned, bit (36) aligned, fixed bin (24) unsigned, bit (1) aligned, 4 62 fixed bin (35)); 4 63 4 64 dcl collection_manager_$delete 4 65 entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, bit (1) aligned, 4 66 fixed bin (35)); 4 67 dcl collection_manager_$delete_from_ci_buffer 4 68 entry (ptr, bit (36) aligned, bit (36) aligned, bit (36) aligned, bit (1) aligned, 4 69 fixed bin (35)); 4 70 4 71 dcl collection_manager_$get 4 72 entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr, 4 73 fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); 4 74 dcl collection_manager_$get_control_interval_ptr 4 75 entry (bit (36) aligned, bit (36) aligned, fixed bin (24) unsigned, ptr, 4 76 fixed bin (35)); 4 77 dcl collection_manager_$get_from_ci_buffer 4 78 entry (ptr, bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), 4 79 ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); 4 80 dcl collection_manager_$get_by_ci_ptr 4 81 entry (ptr, bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, ptr, 4 82 fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), ptr, fixed bin (35)); 4 83 dcl collection_manager_$get_header 4 84 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (17), ptr, bit (1) aligned, 4 85 ptr, fixed bin (35), fixed bin (35)); 4 86 dcl collection_manager_$get_id 4 87 entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), 4 88 bit (1) aligned, bit (36) aligned, fixed bin (35)); 4 89 dcl collection_manager_$get_portion 4 90 entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, ptr, 4 91 fixed bin (35), ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr, 4 92 fixed bin (35), fixed bin (35)); 4 93 dcl collection_manager_$get_portion_from_ci_buffer 4 94 entry (ptr, bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), 4 95 ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr, fixed bin (35), 4 96 fixed bin (35)); 4 97 dcl collection_manager_$get_portion_by_ci_ptr 4 98 entry (ptr, bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), 4 99 ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr, fixed bin (35), 4 100 fixed bin (35)); 4 101 dcl collection_manager_$modify 4 102 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, 4 103 fixed bin (35), fixed bin (35)); 4 104 dcl collection_manager_$modify_unprotected 4 105 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, 4 106 fixed bin (35), fixed bin (35)); 4 107 dcl collection_manager_$modify_in_ci_buffer 4 108 entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, 4 109 fixed bin (35), fixed bin (35)); 4 110 dcl collection_manager_$modify_portion 4 111 entry (bit (36) aligned, bit (36) aligned, fixed bin (35), fixed bin (35), ptr, 4 112 fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); 4 113 dcl collection_manager_$postcommit_increments 4 114 entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35)); 4 115 dcl collection_manager_$put 4 116 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, 4 117 fixed bin (35), fixed bin (35)); 4 118 dcl collection_manager_$put_in_ci_buffer 4 119 entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, 4 120 fixed bin (35), fixed bin (35)); 4 121 dcl collection_manager_$put_header 4 122 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), fixed bin (35)); 4 123 dcl collection_manager_$put_unprotected_header 4 124 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), fixed bin (35)); 4 125 4 126 dcl collection_manager_$replace_ci_buffer 4 127 entry (bit (36) aligned, bit (36) aligned, fixed bin (24) uns, ptr, fixed bin (35), 4 128 fixed bin (35)); 4 129 dcl collection_manager_$setup_ci_buffer 4 130 entry (bit (36) aligned, bit (36) aligned, fixed bin (24) uns, ptr, fixed bin (35), 4 131 fixed bin (35)); 4 132 dcl collection_manager_$simple_get_by_ci_ptr 4 133 entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), fixed bin (35), 4 134 fixed bin (35)); 4 135 dcl collection_manager_$simple_get_from_ci_buffer 4 136 entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), fixed bin (35), 4 137 fixed bin (35)); 4 138 4 139 /* END INCLUDE FILE dm_collmgr_entry_dcls.incl.pl1 */ 206 207 208 end rcm_delete_record_by_id; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/04/85 0913.6 rcm_delete_record_by_id.pl1 >spec>on>7192.pbf-04/04/85>rcm_delete_record_by_id.pl1 200 1 01/07/85 0859.4 dm_rcm_cursor.incl.pl1 >ldd>include>dm_rcm_cursor.incl.pl1 202 2 03/06/85 1031.5 dm_element_id_list.incl.pl1 >ldd>include>dm_element_id_list.incl.pl1 204 3 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 206 4 04/04/85 0819.0 dm_collmgr_entry_dcls.incl.pl1 >spec>on>7192.pbf-04/04/85>dm_collmgr_entry_dcls.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ACTION_CANT_RESTART 000020 constant bit(36) initial dcl 3-7 set ref 44* 122* 171* ELEMENT_ID_LIST_VERSION_1 000110 automatic fixed bin(35,0) initial dcl 2-28 set ref 107 2-28* RECORD_CURSOR_TYPE 000026 constant fixed bin(17,0) initial dcl 1-31 set ref 122 122* RECORD_CURSOR_VERSION_2 constant fixed bin(17,0) initial dcl 1-29 ref 120 collection_id 5 based bit(36) level 2 dcl 1-15 set ref 130* 146* collection_manager_$delete 000022 constant entry external dcl 4-64 ref 130 146 delete_single_record 000100 automatic bit(1) initial dcl 61 set ref 61* 96* 110* 136 dm_error_$ci_not_allocated 000024 external static fixed bin(17,0) dcl 183 ref 193 dm_error_$ci_not_in_collection 000026 external static fixed bin(17,0) dcl 183 ref 191 dm_error_$no_element 000030 external static fixed bin(17,0) dcl 183 ref 189 dm_error_$programming_error 000012 external static fixed bin(35,0) dcl 84 set ref 44* dm_error_$record_not_found 000014 external static fixed bin(35,0) dcl 84 ref 189 191 193 dm_error_$wrong_cursor_type 000016 external static fixed bin(35,0) dcl 84 set ref 122* element_id_list based structure level 1 dcl 2-21 element_id_list_ptr 000106 automatic pointer dcl 2-26 set ref 105* 107 109 142 144 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 84 set ref 171* file_opening_id 4 based bit(36) level 2 dcl 1-15 set ref 130* 146* flags 1 based structure level 2 dcl 1-15 hbound builtin function dcl 68 ref 142 id 2 based bit(36) array level 2 dcl 2-21 ref 109 142 144 myname 000000 constant varying char(32) initial dcl 74 set ref 44* 44* 44* 122* 171* null builtin function dcl 68 ref 44 44 122 122 171 171 number_of_elements 1 based fixed bin(35,0) level 2 dcl 2-21 ref 142 p_code parameter fixed bin(35,0) dcl 182 in procedure "ERROR_RETURN" set ref 179 189 189* 191 191* 193 193* p_code parameter fixed bin(35,0) dcl 57 in procedure "rcm_delete_record_by_id" set ref 93 102 115* 130* 132 132* 146* 149 149* p_element_id_list_ptr parameter pointer dcl 53 ref 102 105 p_expected_version parameter fixed bin(35,0) dcl 168 set ref 164 171 171* p_number_of_records_processed parameter fixed bin(35,0) dcl 55 set ref 102 140* 152* 152 p_received_version parameter fixed bin(35,0) dcl 167 set ref 164 171 171* p_record_cursor_ptr parameter pointer dcl 52 ref 93 102 118 p_record_id parameter bit(36) dcl 54 ref 93 97 p_structure_name parameter char unaligned dcl 169 set ref 164 171* position_is_valid 1 based bit(1) level 3 packed unaligned dcl 1-15 set ref 128* 158* record_cursor based structure level 1 dcl 1-15 record_cursor_ptr 000104 automatic pointer dcl 1-28 set ref 118* 120 122 122 128 130 130 146 146 157 158 record_id 000101 automatic bit(36) dcl 62 in procedure "rcm_delete_record_by_id" set ref 97* 109* 130* 144* 146* 157 record_id 6 based bit(36) level 2 in structure "record_cursor" dcl 1-15 in procedure "rcm_delete_record_by_id" set ref 157* record_idx 000102 automatic fixed bin(17,0) dcl 63 set ref 142* 144* sub_err_ 000010 constant entry external dcl 80 ref 44 122 171 type based fixed bin(17,0) level 2 packed unaligned dcl 1-15 set ref 122 122* version 0(18) based fixed bin(17,0) level 2 in structure "record_cursor" packed unaligned dcl 1-15 in procedure "rcm_delete_record_by_id" ref 120 version based fixed bin(35,0) level 2 in structure "element_id_list" dcl 2-21 in procedure "rcm_delete_record_by_id" ref 107 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 3-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 3-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 3-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 3-7 BEGINNING_OF_COLLECTION_RECORD_ID internal static bit(36) initial dcl 1-32 BITS_PER_CHAR internal static fixed bin(17,0) initial dcl 73 collection_manager_$allocate_control_interval 000000 constant entry external dcl 4-50 collection_manager_$compact_control_interval 000000 constant entry external dcl 4-52 collection_manager_$create_collection 000000 constant entry external dcl 4-54 collection_manager_$create_file 000000 constant entry external dcl 4-56 collection_manager_$delete_from_ci_buffer 000000 constant entry external dcl 4-67 collection_manager_$destroy_collection 000000 constant entry external dcl 4-58 collection_manager_$free_control_interval 000000 constant entry external dcl 4-60 collection_manager_$get 000000 constant entry external dcl 4-71 collection_manager_$get_by_ci_ptr 000000 constant entry external dcl 4-80 collection_manager_$get_control_interval_ptr 000000 constant entry external dcl 4-74 collection_manager_$get_from_ci_buffer 000000 constant entry external dcl 4-77 collection_manager_$get_header 000000 constant entry external dcl 4-83 collection_manager_$get_id 000000 constant entry external dcl 4-86 collection_manager_$get_portion 000000 constant entry external dcl 4-89 collection_manager_$get_portion_by_ci_ptr 000000 constant entry external dcl 4-97 collection_manager_$get_portion_from_ci_buffer 000000 constant entry external dcl 4-93 collection_manager_$modify 000000 constant entry external dcl 4-101 collection_manager_$modify_in_ci_buffer 000000 constant entry external dcl 4-107 collection_manager_$modify_portion 000000 constant entry external dcl 4-110 collection_manager_$modify_unprotected 000000 constant entry external dcl 4-104 collection_manager_$postcommit_increments 000000 constant entry external dcl 4-113 collection_manager_$put 000000 constant entry external dcl 4-115 collection_manager_$put_header 000000 constant entry external dcl 4-121 collection_manager_$put_in_ci_buffer 000000 constant entry external dcl 4-118 collection_manager_$put_unprotected_header 000000 constant entry external dcl 4-123 collection_manager_$replace_ci_buffer 000000 constant entry external dcl 4-126 collection_manager_$setup_ci_buffer 000000 constant entry external dcl 4-129 collection_manager_$simple_get_by_ci_ptr 000000 constant entry external dcl 4-132 collection_manager_$simple_get_from_ci_buffer 000000 constant entry external dcl 4-135 eil_number_of_elements automatic fixed bin(35,0) dcl 2-27 rcm_get_opening_info 000000 constant entry external dcl 79 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 000511 constant entry internal dcl 164 ref 107 120 DELETE_REST_OF_RECORDS 000424 constant label dcl 136 ERROR_RETURN 000605 constant entry internal dcl 179 ref 132 149 JOIN 000265 constant label dcl 115 set ref 99 112 MAIN_RETURN 000510 constant label dcl 160 set ref 196 array 000230 constant entry external dcl 102 rcm_delete_record_by_id 000121 constant entry external dcl 41 single 000204 constant entry external dcl 93 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1046 1100 666 1056 Length 1370 666 32 253 160 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rcm_delete_record_by_id 232 external procedure is an external procedure. CHECK_VERSION internal procedure shares stack frame of external procedure rcm_delete_record_by_id. ERROR_RETURN internal procedure shares stack frame of external procedure rcm_delete_record_by_id. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rcm_delete_record_by_id 000100 delete_single_record rcm_delete_record_by_id 000101 record_id rcm_delete_record_by_id 000102 record_idx rcm_delete_record_by_id 000104 record_cursor_ptr rcm_delete_record_by_id 000106 element_id_list_ptr rcm_delete_record_by_id 000110 ELEMENT_ID_LIST_VERSION_1 rcm_delete_record_by_id THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. collection_manager_$delete sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$ci_not_allocated dm_error_$ci_not_in_collection dm_error_$no_element dm_error_$programming_error dm_error_$record_not_found dm_error_$wrong_cursor_type error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 61 000113 2 28 000114 41 000120 44 000127 93 000177 96 000215 97 000217 99 000222 102 000223 105 000241 107 000245 109 000260 110 000263 112 000264 115 000265 118 000266 120 000272 122 000307 128 000366 130 000371 132 000412 136 000422 140 000424 142 000427 144 000437 146 000442 149 000464 152 000474 154 000501 157 000503 158 000506 160 000510 164 000511 171 000522 177 000604 179 000605 189 000607 191 000615 193 000622 196 000627 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved