Drizzled Public API Documentation

rem0cmp.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (C) 1994, 2009, Innobase Oy. 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 as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15 St, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 *****************************************************************************/
18 
19 /*******************************************************************/
26 #pragma once
27 #ifndef rem0cmp_h
28 #define rem0cmp_h
29 
30 #include "univ.i"
31 #include "data0data.h"
32 #include "data0type.h"
33 #include "dict0dict.h"
34 #include "rem0rec.h"
35 
36 /*************************************************************/
39 UNIV_INTERN
40 ibool
42 /*===============*/
43  const dict_col_t* col1,
44  const dict_col_t* col2,
45  ibool check_charsets);
47 /*************************************************************/
51 UNIV_INLINE
52 int
54 /*==========*/
55  ulint mtype,
56  ulint prtype,
57  const byte* data1,
59  ulint len1,
60  const byte* data2,
62  ulint len2);
63 /*************************************************************/
67 UNIV_INTERN
68 int
70 /*===============*/
71  ulint mtype,
72  ulint prtype,
73  const byte* data1,
75  ulint len1,
76  const byte* data2,
78  ulint len2);
79 /*************************************************************/
84 UNIV_INLINE
85 int
87 /*==============*/
88  const dfield_t* dfield1,
89  const dfield_t* dfield2);
90 /*************************************************************/
101 UNIV_INTERN
102 int
104 /*======================*/
105  const dtuple_t* dtuple,
106  const rec_t* rec,
110  const ulint* offsets,
111  ulint* matched_fields,
114  ulint* matched_bytes);
118 /**************************************************************/
122 UNIV_INTERN
123 int
125 /*===========*/
126  const dtuple_t* dtuple,
127  const rec_t* rec,
128  const ulint* offsets);
129 /**************************************************************/
133 UNIV_INTERN
134 ibool
136 /*========================*/
137  const dtuple_t* dtuple,
138  const rec_t* rec,
139  const ulint* offsets);
140 /*************************************************************/
144 UNIV_INTERN
145 int
147 /*===============*/
148  const rec_t* rec1,
149  const rec_t* rec2,
150  const ulint* offsets1,
151  const ulint* offsets2,
152  const dict_index_t* index,
153  ibool* null_eq);
155 /*************************************************************/
160 UNIV_INTERN
161 int
163 /*===================*/
164  const rec_t* rec1,
165  const rec_t* rec2,
166  const ulint* offsets1,
167  const ulint* offsets2,
168  dict_index_t* index,
169  ibool nulls_unequal,
170  /* in: TRUE if this is for index statistics
171  cardinality estimation, and innodb_stats_method
172  is "nulls_unequal" or "nulls_ignored" */
173  ulint* matched_fields,
177  ulint* matched_bytes);
181 /*************************************************************/
186 UNIV_INLINE
187 int
189 /*========*/
190  const rec_t* rec1,
191  const rec_t* rec2,
192  const ulint* offsets1,
193  const ulint* offsets2,
194  dict_index_t* index);
197 #ifndef UNIV_NONINL
198 #include "rem0cmp.ic"
199 #endif
200 
201 #endif
UNIV_INTERN int cmp_rec_rec_simple(const rec_t *rec1, const rec_t *rec2, const ulint *offsets1, const ulint *offsets2, const dict_index_t *index, ibool *null_eq)
Definition: rem0cmp.cc:702
UNIV_INLINE int cmp_rec_rec(const rec_t *rec1, const rec_t *rec2, const ulint *offsets1, const ulint *offsets2, dict_index_t *index)
UNIV_INTERN int cmp_dtuple_rec(const dtuple_t *dtuple, const rec_t *rec, const ulint *offsets)
Definition: rem0cmp.cc:642
UNIV_INTERN int cmp_data_data_slow(ulint mtype, ulint prtype, const byte *data1, ulint len1, const byte *data2, ulint len2)
Definition: rem0cmp.cc:292
UNIV_INTERN int cmp_rec_rec_with_match(const rec_t *rec1, const rec_t *rec2, const ulint *offsets1, const ulint *offsets2, dict_index_t *index, ibool nulls_unequal, ulint *matched_fields, ulint *matched_bytes)
Definition: rem0cmp.cc:857
UNIV_INTERN int cmp_dtuple_rec_with_match(const dtuple_t *dtuple, const rec_t *rec, const ulint *offsets, ulint *matched_fields, ulint *matched_bytes)
Definition: rem0cmp.cc:411
UNIV_INLINE int cmp_data_data(ulint mtype, ulint prtype, const byte *data1, ulint len1, const byte *data2, ulint len2)
UNIV_INLINE int cmp_dfield_dfield(const dfield_t *dfield1, const dfield_t *dfield2)
UNIV_INTERN ibool cmp_cols_are_equal(const dict_col_t *col1, const dict_col_t *col2, ibool check_charsets)
Definition: rem0cmp.cc:112
UNIV_INTERN ibool cmp_dtuple_is_prefix_of_rec(const dtuple_t *dtuple, const rec_t *rec, const ulint *offsets)
Definition: rem0cmp.cc:662