CUBRID Engine  latest
recovery.c
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 /*
20  * recovery.c -
21  */
22 
23 #ident "$Id$"
24 
25 #include "config.h"
26 
27 #include <stdio.h>
28 
29 #include "recovery.h"
30 #include "log_manager.h"
31 #include "replication.h"
32 #include "btree.h"
33 #include "btree_load.h"
34 #include "system_catalog.h"
35 #include "disk_manager.h"
36 #include "extendible_hash.h"
37 #include "file_manager.h"
38 #include "overflow_file.h"
39 #include "boot_sr.h"
40 #include "locator_sr.h"
41 
42 /*
43  *
44  * THE ARRAY OF SERVER RECOVERY FUNCTIONS
45  *
46  * Note: When adding new entries, be sure to add the an entry to print it as
47  * a string in rv_rcvindex_string().
48  */
49 struct rvfun RV_fun[] = {
50  {RVDK_NEWVOL,
51  "RVDK_NEWVOL",
52  NULL,
54  NULL,
56  {RVDK_FORMAT,
57  "RVDK_FORMAT",
61  disk_rv_dump_hdr},
62  {RVDK_INITMAP,
63  "RVDK_INITMAP",
64  NULL,
66  NULL,
69  "RVDK_CHANGE_CREATION",
73  disk_rv_dump_set_creation_time},
75  "RVDK_RESET_BOOT_HFID",
79  disk_rv_dump_set_boot_hfid},
81  "RVDK_LINK_PERM_VOLEXT",
85  disk_rv_dump_link},
87  "RVDK_EXPAND_VOLUME",
88  NULL,
90  NULL,
93  "RVDK_RESERVE_SECTORS",
96  NULL,
97  NULL},
99  "RVDK_UNRESERVE_SECTORS",
102  NULL,
103  NULL},
105  "RVDK_VOLHEAD_EXPAND",
108  NULL,
109  NULL},
110 
111  {RVFL_DESTROY,
112  "RVFL_DESTROY",
115  NULL,
116  NULL},
117  {RVFL_EXPAND,
118  "RVFL_EXPAND",
121  NULL,
122  NULL},
123  {RVFL_ALLOC,
124  "RVFL_ALLOC",
126  NULL,
128  NULL},
129  {RVFL_DEALLOC,
130  "RVFL_DEALLOC",
131  NULL,
132  file_rv_dealloc_on_postpone, /* For postpone */
133  NULL,
136  "RVFL_FHEAD_ALLOC",
139  NULL,
140  NULL},
142  "RVFL_FHEAD_DEALLOC",
145  NULL,
146  NULL},
148  "RVFL_FHEAD_SET_LAST_USER_PAGE_FTAB",
151  NULL,
152  NULL},
154  "RVFL_FHEAD_MARK_DELETE",
157  NULL,
158  NULL},
160  "RVFL_FHEAD_STICKY_PAGE",
163  NULL,
164  NULL},
166  "RVFL_USER_PAGE_MARK_DELETE",
170  NULL},
172  "RVFL_USER_PAGE_MARK_DELETE_COMPENSATE",
174  NULL,
175  NULL,
176  NULL},
178  "RVFL_FILEDESC_UPD",
182  log_rv_dump_char},
184  "RVFL_PARTSECT_ALLOC",
187  NULL,
188  NULL},
190  "RVFL_PARTSECT_DEALLOC",
193  NULL,
194  NULL},
196  "RVFL_EXTDATA_SET_NEXT",
200  file_rv_dump_extdata_set_next},
202  "RVFL_EXTDATA_ADD",
208  "RVFL_EXTDATA_REMOVE",
214  "RVFL_EXTDATA_MERGE",
217  NULL,
218  NULL},
220  "RVFL_EXTDATA_UPDATE_ITEM",
223  NULL,
224  NULL},
225  {RVFL_TRACKER_HEAP_MARK_DELETED, /* used for compensate and run postpone */
226  "RVFL_TRACKER_HEAP_MARK_DELETED",
229  NULL,
230  NULL},
232  "RVFL_TRACKER_HEAP_REUSE",
235  NULL,
236  NULL},
238  "RVFL_TRACKER_UNREGISTER",
240  NULL,
241  NULL,
242  NULL},
244  "RVFL_FHEAD_CONVERT_FTAB_TO_USER",
247  NULL,
248  NULL},
249 
251  "RVHF_CREATE_HEADER",
252  NULL,
254  NULL,
256  {RVHF_NEWPAGE,
257  "RVHF_NEWPAGE",
260  NULL,
262  {RVHF_STATS,
263  "RVHF_STATS",
267  heap_rv_dump_statistics},
268  {RVHF_CHAIN,
269  "RVHF_CHAIN",
273  heap_rv_dump_chain},
274  {RVHF_INSERT,
275  "RVHF_INSERT",
279  log_rv_dump_hexa},
280  {RVHF_DELETE,
281  "RVHF_DELETE",
285  log_rv_dump_hexa},
286  {RVHF_UPDATE,
287  "RVHF_UPDATE",
291  log_rv_dump_hexa},
293  "RVHF_REUSE_PAGE",
294  NULL,
296  NULL,
299  "RVHF_REUSE_PAGE_REUSE_OID",
300  NULL,
302  NULL,
303  heap_rv_dump_reuse_page},
305  "RVHF_MARK_REUSABLE_SLOT",
306  NULL,
308  NULL,
309  log_rv_dump_hexa},
311  "RVHF_MVCC_INSERT",
315  log_rv_dump_hexa},
317  "RVHF_MVCC_DELETE_REC_HOME",
320  NULL,
321  NULL},
323  "RVHF_MVCC_DELETE_OVERFLOW",
326  NULL,
327  NULL},
329  "RVHF_MVCC_DELETE_REC_NEWHOME",
332  NULL,
333  NULL},
335  "RVHF_MVCC_DELETE_MODIFY_HOME",
338  NULL,
339  NULL},
341  "RVHF_MVCC_NO_MODIFY_HOME",
342  heap_rv_nop,
344  NULL,
345  NULL},
347  "RVHF_UPDATE_NOTIFY_VACUUM",
351  log_rv_dump_hexa},
353  "RVHF_INSERT_NEWHOME",
357  log_rv_dump_hexa},
359  "RVHF_MVCC_REDISTRIBUTE",
363  log_rv_dump_hexa},
365  "RVHF_MVCC_UPDATE_OVERFLOW",
367  NULL,
368  NULL,
369  NULL},
371  "RVHF_MARK_DELETED",
372  NULL,
374  NULL,
375  NULL},
376 
377  {RVOVF_NEWPAGE_INSERT, /* required for HA */
378  "RVOVF_NEWPAGE_INSERT",
379  NULL,
381  NULL,
382  log_rv_dump_hexa},
384  "RVOVF_NEWPAGE_LINK",
388  overflow_rv_link_dump},
390  "RVOVF_PAGE_UPDATE",
394  overflow_rv_page_dump},
396  "RVOVF_CHANGE_LINK",
400  overflow_rv_link_dump},
401 
402  {RVEH_REPLACE,
403  "RVEH_REPLACE",
406  NULL,
407  NULL},
408  {RVEH_INSERT,
409  "RVEH_INSERT",
412  NULL,
413  NULL},
414  {RVEH_DELETE,
415  "RVEH_DELETE",
418  NULL,
419  NULL},
421  "RVEH_INIT_BUCKET",
424  NULL,
425  NULL},
427  "RVEH_CONNECT_BUCKET",
430  NULL,
431  NULL},
433  "RVEH_INC_COUNTER",
436  NULL,
437  NULL},
438  {RVEH_INIT_DIR,
439  "RVEH_INIT_DIR",
440  NULL,
442  NULL,
443  NULL},
445  "RVEH_INIT_NEW_DIR_PAGE",
448  NULL,
449  NULL},
450 
452  "RVBT_NDHEADER_UPD",
456  btree_rv_nodehdr_dump},
458  "RVBT_NDHEADER_INS",
462  btree_rv_nodehdr_dump},
464  "RVBT_NDRECORD_UPD",
468  btree_rv_noderec_dump},
470  "RVBT_NDRECORD_INS",
474  btree_rv_noderec_dump},
476  "RVBT_NDRECORD_DEL",
482  "RVBT_DEL_PGRECORDS",
485  NULL,
486  NULL},
488  "RVBT_GET_NEWPAGE",
491  NULL,
492  NULL},
493  {RVBT_COPYPAGE,
494  "RVBT_COPYPAGE",
497  NULL,
498  NULL},
500  "RVBT_ROOTHEADER_UPD",
504  btree_rv_nodehdr_dump},
506  "RVBT_UPDATE_OVFID",
510  btree_rv_ovfid_dump},
512  "RVBT_INS_PGRECORDS",
515  NULL,
516  NULL},
518  "RVBT_MVCC_DELETE_OBJECT",
522  log_rv_dump_hexa},
524  "RVBT_MVCC_INCREMENTS_UPD",
526  NULL,
527  NULL, NULL},
529  "RVBT_MVCC_NOTIFY_VACUUM",
530  btree_rv_nop,
531  btree_rv_nop,
533  NULL},
535  "RVBT_LOG_GLOBAL_UNIQUE_STATS_COMMIT",
538  NULL,
539  NULL},
541  "RVBT_DELETE_OBJECT_PHYSICAL",
545  log_rv_dump_hexa},
547  "RVBT_NON_MVCC_INSERT_OBJECT",
551  log_rv_dump_hexa},
553  "RVBT_MVCC_INSERT_OBJECT",
557  log_rv_dump_hexa},
559  "RVBT_MVCC_INSERT_OBJECT_UNQ",
563  log_rv_dump_hexa},
565  "RVBT_RECORD_MODIFY_UNDOREDO",
569  log_rv_dump_hexa},
571  "RVBT_RECORD_MODIFY_NO_UNDO",
572  NULL,
574  NULL,
575  log_rv_dump_hexa},
577  "RVBT_RECORD_MODIFY_COMPENSATE",
579  NULL,
581  NULL},
583  "RVBT_REMOVE_UNIQUE_STATS",
586  NULL,
587  NULL},
589  "RVBT_DELETE_OBJECT_POSTPONE",
590  NULL,
592  NULL,
595  "RVBT_MARK_DELETED",
599  log_rv_dump_hexa},
601  "RVBT_MARK_DEALLOC_PAGE",
603  NULL,
604  NULL,
605  NULL},
606 
607  {RVCT_NEWPAGE,
608  "RVCT_NEWPAGE",
611  NULL,
612  NULL},
613  {RVCT_INSERT,
614  "RVCT_INSERT",
617  NULL,
618  NULL},
619  {RVCT_DELETE,
620  "RVCT_DELETE",
623  NULL,
624  NULL},
625  {RVCT_UPDATE,
626  "RVCT_UPDATE",
629  NULL,
630  NULL},
632  "RVCT_NEW_OVFPAGE_LOGICAL_UNDO",
634  NULL,
635  NULL,
636  NULL},
637 
639  "RVLOG_OUTSIDE_LOGICAL_REDO_NOOP",
640  NULL,
642  NULL,
643  NULL},
644 
646  "RVREPL_DATA_INSERT",
647  NULL,
648  NULL,
649  NULL,
650  repl_data_insert_log_dump},
652  "RVREPL_DATA_UPDATE",
653  NULL,
654  NULL,
655  NULL,
656  repl_data_insert_log_dump},
658  "RVREPL_DATA_DELETE",
659  NULL,
660  NULL,
661  NULL,
662  repl_data_insert_log_dump},
664  "RVREPL_STATEMENT",
665  NULL,
666  NULL,
667  NULL,
668  repl_schema_log_dump},
670  "RVREPL_DATA_UPDATE_START",
671  NULL,
672  NULL,
673  NULL,
674  repl_data_insert_log_dump},
676  "RVREPL_DATA_UPDATE_END",
677  NULL,
678  NULL,
679  NULL,
680  repl_data_insert_log_dump},
681 
683  "RVVAC_COMPLETE",
684  NULL,
686  NULL, NULL},
688  "RVVAC_START_JOB",
689  NULL,
691  NULL,
692  NULL},
694  "RVVAC_DATA_APPEND_BLOCKS",
695  NULL,
697  NULL,
700  "RVVAC_DATA_INIT_NEW_PAGE",
701  NULL,
703  NULL,
704  NULL},
706  "RVVAC_DATA_SET_LINK",
710  vacuum_rv_undoredo_data_set_link_dump},
712  "RVVAC_DATA_FINISHED_BLOCKS",
713  NULL,
715  NULL,
718  "RVVAC_NOTIFY_DROPPED_FILE",
721  NULL,
722  NULL},
724  "RVVAC_DROPPED_FILE_CLEANUP",
725  NULL,
727  NULL,
728  NULL},
730  "RVVAC_DROPPED_FILE_NEXT_PAGE",
733  NULL,
734  NULL},
736  "RVVAC_DROPPED_FILE_ADD",
739  NULL,
740  NULL},
742  "RVVAC_DROPPED_FILE_REPLACE",
745  NULL,
746  NULL},
748  "RVVAC_HEAP_RECORD_VACUUM",
751  NULL,
752  log_rv_dump_hexa},
754  "RVVAC_HEAP_PAGE_VACUUM",
755  NULL,
757  NULL,
758  log_rv_dump_hexa},
760  "RVVAC_REMOVE_OVF_INSID",
761  NULL,
763  NULL,
764  NULL},
765 
767  "RVES_NOTIFY_VACUUM",
770  NULL, NULL},
771 
773  "RVLOC_CLASSNAME_DUMMY",
774  NULL,
776  NULL,
777  NULL},
778 
780  "RVPGBUF_FLUSH_PAGE",
784  pgbuf_rv_flush_page_dump},
786  "RVPGBUF_NEW_PAGE",
789  NULL,
790  NULL},
792  "RVPGBUF_DEALLOC",
795  NULL,
796  NULL},
798  "RVPGBUF_COMPENSATE_DEALLOC",
800  NULL,
801  NULL,
802  NULL},
804  "RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT",
808  log_rv_dump_hexa},
810  "RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE",
814  log_rv_dump_hexa},
816  "RVHF_APPEND_PAGES_TO_HEAP",
817  NULL,
819  NULL,
822  "RVPGBUF_SET_TDE_ALGORITHM",
825  NULL,
826  NULL},
828  "RVFL_FHEAD_SET_TDE_ALGORITHM",
831  NULL,
832  NULL},
833 };
834 
835 /*
836  * rv_rcvindex_string - RETURN STRING ASSOCIATED WITH GIVEN LOG_RCVINDEX
837  *
838  * return:
839  *
840  * rcvindex(in): Numeric recovery index
841  *
842  * NOTE: Return a string corresponding to the associated recovery
843  * index identifier.
844  */
845 const char *
847 {
848  return RV_fun[rcvindex].recv_string;
849 }
850 
851 #if !defined (NDEBUG)
852 /*
853  * rv_check_rvfuns - CHECK ORDERING OF RECOVERY FUNCTIONS
854  *
855  * return:
856  *
857  * NOTE:Check the ordering of recovery functions.
858  * This is a debugging function.
859  */
860 void
862 {
863  unsigned int i, num_indices;
864 
865  num_indices = DIM (RV_fun);
866 
867  for (i = 0; i < num_indices; i++)
868  if (RV_fun[i].recv_index != i)
869  {
871  "log_check_rvfuns: *** SYSTEM ERROR *** Bad compilation... Recovery function %d is out of"
872  " sequence in index %d of recovery function array\n", RV_fun[i].recv_index, i);
874  assert (false);
875  break;
876  }
877 
878 }
879 #endif /* !NDEBUG */
void btree_rv_roothdr_dump(FILE *fp, int length, void *data)
Definition: btree.c:17011
int overflow_rv_newpage_link_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int ehash_rv_init_bucket_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int vacuum_rv_redo_data_finished(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:4896
int overflow_rv_link(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int heap_rv_mark_deleted_on_postpone(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:5877
int file_rv_partsect_clear(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int overflow_rv_newpage_insert_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int ehash_rv_init_dir_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int file_rv_fhead_sticky_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int pgbuf_rv_new_page_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_extdata_add(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_nodehdr_redo_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17142
const char * rv_rcvindex_string(LOG_RCVINDEX rcvindex)
Definition: recovery.c:846
int heap_rv_redo_reuse_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16283
int vacuum_rv_set_next_page_dropped_files(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6732
int pgbuf_rv_dealloc_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_fhead_dealloc(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_pagerec_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17347
void vacuum_rv_redo_append_data_dump(FILE *fp, int length, void *data)
Definition: vacuum.c:5346
LOG_RCVINDEX
Definition: recovery.h:36
int file_rv_extdata_merge(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void log_rv_dump_hexa(FILE *fp, int length, void *data)
Definition: log_manager.c:8734
int ehash_rv_insert_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int btree_rv_keyval_undo_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17696
int file_rv_fhead_convert_user_to_ftab_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_ovfid_undoredo_update(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17039
void btree_rv_ovfid_dump(FILE *fp, int length, void *data)
Definition: btree.c:17079
int vacuum_rv_notify_dropped_file(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6289
int heap_rv_undo_update(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16199
void disk_rv_dump_hdr(FILE *fp, int length_ignore, void *data)
void heap_rv_dump_chain(FILE *fp, int ignore_length, void *data)
Definition: heap_file.c:15550
int catalog_rv_insert_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int vacuum_rv_es_nop(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:7774
int btree_rv_remove_marked_for_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: btree.c:17914
int btree_rv_roothdr_undo_update(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:16966
int file_rv_partsect_set(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_keyval_undo_online_index_tran_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:35150
int disk_rv_undoredo_link(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int vacuum_rv_redo_vacuum_heap_record(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:7437
void heap_rv_dump_statistics(FILE *fp, int ignore_length, void *data)
Definition: heap_file.c:15533
void file_rv_dump_vfid_and_vpid(FILE *fp, int length, void *data)
void overflow_rv_link_dump(FILE *fp, int length_ignore, void *data)
void disk_rv_dump_set_boot_hfid(FILE *fp, int length_ignore, void *data)
int catalog_rv_ovf_page_logical_insert_undo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int btree_rv_undo_global_unique_stats_commit(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:22356
int heap_rv_mark_deleted_on_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:5859
void rv_check_rvfuns(void)
Definition: recovery.c:861
int file_rv_user_page_unmark_delete_physical(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
#define er_log_debug(...)
int ehash_rv_connect_bucket_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int file_rv_dealloc_on_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_volhead_extend_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_reserve_sectors(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_undo_mark_dealloc_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: btree.c:32847
int file_rv_user_page_mark_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int ehash_rv_init_dir_new_page_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_extdata_set_next(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_unreserve_sectors(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_newpage_redo_init(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17442
int pgbuf_rv_dealloc_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_undo_format(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int vacuum_rv_redo_vacuum_heap_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:2682
int btree_rv_redo_record_modify(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: btree.c:28822
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int file_rv_fhead_alloc(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int vacuum_rv_replace_dropped_file(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6167
int btree_rv_keyval_undo_delete(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17864
int ehash_rv_increment(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int log_rv_copy_char(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: log_manager.c:8696
#define assert(x)
int heap_rv_redo_insert(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15569
int heap_rv_mvcc_redo_delete_home(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16029
int btree_rv_keyval_undo_insert_mvcc_delid(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17801
int ehash_rv_insert_undo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int heap_rv_mvcc_redo_redistribute(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:24048
int disk_rv_redo_format(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
#define ER_GENERIC_ERROR
Definition: error_code.h:49
int catalog_rv_update(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
void file_rv_dump_extdata_set_next(FILE *fp, int ignore_length, void *data)
void heap_rv_dump_reuse_page(FILE *fp, int ignore_length, void *ignore_data)
Definition: heap_file.c:16382
int locator_rv_redo_rename(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: locator_sr.c:12615
const char * recv_string
Definition: recovery.h:214
void pgbuf_rv_flush_page_dump(FILE *fp, int length, void *data)
int disk_rv_undoredo_set_boot_hfid(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int pgbuf_rv_set_tde_algorithm(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: page_buffer.c:4528
struct rvfun RV_fun[]
Definition: recovery.c:49
int pgbuf_rv_new_page_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_noderec_undo_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17271
int heap_rv_redo_update_and_update_chain(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:18918
void btree_rv_noderec_dump_slot_id(FILE *fp, int length, void *data)
Definition: btree.c:17334
int heap_rv_redo_newpage(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15453
int catalog_rv_delete_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int vacuum_rv_undo_vacuum_heap_record(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:7422
int catalog_rv_delete_undo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
void btree_rv_nodehdr_dump(FILE *fp, int length, void *data)
Definition: btree_load.c:3737
int vacuum_rv_redo_initialize_data_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:4432
int btree_rv_noderec_undoredo_update(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17197
#define NULL
Definition: freelistheap.h:34
int heap_rv_postpone_append_pages_to_heap(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: heap_file.c:25049
int log_rv_outside_noop_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: log_manager.c:8753
int pgbuf_rv_flush_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int catalog_rv_insert_undo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int btree_rv_update_tran_stats(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:16922
void vacuum_rv_redo_data_finished_dump(FILE *fp, int length, void *data)
Definition: vacuum.c:4965
int btree_rv_nop(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:18017
void disk_rv_dump_set_creation_time(FILE *fp, int length_ignore, void *data)
void disk_rv_dump_volume_expand(FILE *fp, int length_ignore, void *data)
int btree_rv_keyval_undo_insert_unique(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17750
int heap_rv_update_chain_after_mvcc_op(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:23881
int disk_rv_redo_volume_expand(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_pagerec_delete(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17410
int heap_rv_redo_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15807
int btree_rv_noderec_redo_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17234
int file_rv_tracker_reuse_heap(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void disk_rv_dump_link(FILE *fp, int length_ignore, void *data)
int btree_rv_redo_global_unique_stats_commit(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:22425
int heap_rv_redo_mark_reusable_slot(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16147
int disk_rv_redo_dboutside_newvol(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void file_rv_dump_extdata_remove(FILE *fp, int length, void *data)
int vacuum_rv_redo_start_job(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:5663
int heap_rv_redo_reuse_page_reuse_oid(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16335
void file_rv_dump_extdata_add(FILE *fp, int length, void *data)
int file_rv_perm_expand_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_keyval_undo_online_index_tran_delete(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:35100
LOG_RCVINDEX recv_index
Definition: recovery.h:213
int file_rv_destroy(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int catalog_rv_new_page_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
#define ARG_FILE_LINE
Definition: error_manager.h:44
int file_rv_user_page_unmark_delete_logical(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_undoredo_set_creation_time(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int heap_rv_mvcc_undo_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15881
int heap_rv_mvcc_redo_delete_overflow(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16069
int heap_rv_redo_update(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16236
int btree_rv_remove_unique_stats(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:29276
int btree_rv_undoredo_copy_page(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17996
int vacuum_rv_redo_remove_ovf_insid(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:2831
void btree_rv_noderec_dump(FILE *fp, int length, void *data)
Definition: btree.c:17296
int btree_rv_nodehdr_undo_insert(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17175
int btree_rv_nodehdr_undoredo_update(THREAD_ENTRY *thread_p, LOG_RCV *recv)
Definition: btree.c:17096
int ehash_rv_delete_undo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int file_rv_extdata_remove(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void disk_rv_dump_init_map(FILE *fp, int length_ignore, void *data)
void log_rv_dump_char(FILE *fp, int length, void *data)
Definition: log_manager.c:8719
int heap_rv_mvcc_undo_delete_overflow(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15934
int vacuum_rv_redo_cleanup_dropped_files(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6652
int i
Definition: dynamic_load.c:954
void heap_rv_dump_append_pages_to_heap(FILE *fp, int length, void *data)
Definition: heap_file.c:25270
int file_rv_set_tde_algorithm(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int disk_rv_volhead_extend_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int overflow_rv_page_update_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_fhead_convert_ftab_to_user_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int btree_rv_undo_record_modify(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: btree.c:28835
void vacuum_rv_undoredo_data_set_link_dump(FILE *fp, int length, void *data)
Definition: vacuum.c:5301
int file_rv_perm_expand_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_header_update_mark_deleted(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int pgbuf_rv_dealloc_undo_compensate(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int heap_rv_undoredo_pagehdr(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15495
int vacuum_rv_redo_vacuum_complete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:3144
int ehash_rv_delete_redo(THREAD_ENTRY *thread_p, LOG_RCV *recv_p)
int heap_rv_nop(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:23862
int disk_rv_redo_init_map(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_fhead_set_last_user_page_ftab(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int heap_rv_undo_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16164
int vacuum_rv_redo_append_data(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:5321
void btree_rv_keyval_dump(FILE *fp, int length, void *data)
Definition: btree.c:17947
int file_rv_tracker_unregister_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int heap_rv_mvcc_redo_insert(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15690
void overflow_rv_page_dump(FILE *fp, int length, void *data)
int heap_rv_undo_insert(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:15784
int vacuum_rv_undoredo_data_set_link(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:5271
int heap_rv_undo_ovf_update(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:24812
int vacuum_rv_redo_add_dropped_file(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6065
int heap_rv_mvcc_redo_delete_newhome(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: heap_file.c:16112
int vacuum_rv_undo_add_dropped_file(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
Definition: vacuum.c:6133
int file_rv_dealloc_on_postpone(THREAD_ENTRY *thread_p, LOG_RCV *rcv)