1 /*****************************************************************************
2 
3 Copyright (c) 2012, 2019, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License, version 2.0, as published by the
7 Free Software Foundation.
8 
9 This program is also distributed with certain software (including but not
10 limited to OpenSSL) that is licensed under separate terms, as designated in a
11 particular file or component or in included license documentation. The authors
12 of MySQL hereby grant you an additional permission to link the program and
13 your derivative works with the separately licensed software that they have
14 included with MySQL.
15 
16 This program is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18 FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0,
19 for more details.
20 
21 You should have received a copy of the GNU General Public License along with
22 this program; if not, write to the Free Software Foundation, Inc.,
23 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
24 
25 *****************************************************************************/
26 
27 /** @file include/row0import.h
28  Header file for import tablespace functions.
29 
30  Created 2012-02-08 by Sunny Bains
31  *******************************************************/
32 
33 #ifndef row0import_h
34 #define row0import_h
35 
36 #include "dict0types.h"
37 #include "univ.i"
38 
39 // Forward declarations
40 struct trx_t;
41 struct dict_table_t;
42 struct row_prebuilt_t;
43 
44 /** Imports a tablespace. The space id in the .ibd file must match the space id
45 of the table in the data dictionary.
46 @param[in]	table		table
47 @param[in]	table_def	dd table
48 @param[in]	prebuilt	prebuilt struct in MySQL
49 @return error code or DB_SUCCESS */
50 dberr_t row_import_for_mysql(dict_table_t *table, dd::Table *table_def,
51                              row_prebuilt_t *prebuilt)
52     MY_ATTRIBUTE((warn_unused_result));
53 
54 /** Update the DICT_TF2_DISCARDED flag in SYS_TABLES.
55  @return DB_SUCCESS or error code. */
56 dberr_t row_import_update_discarded_flag(
57     trx_t *trx,          /*!< in/out: transaction that
58                          covers the update */
59     table_id_t table_id, /*!< in: Table for which we want
60                          to set the root table->flags2 */
61     bool discarded,      /*!< in: set MIX_LEN column bit
62                          to discarded, if true */
63     bool dict_locked)    /*!< in: Set to true if the
64                          caller already owns the
65                          dict_sys_t:: mutex. */
66     MY_ATTRIBUTE((warn_unused_result));
67 
68 #endif /* row0import_h */
69