1
0
mirror of https://github.com/MariaDB/server.git synced 2025-04-18 21:44:20 +03:00

Fix typos in C comments inside sql/

This commit is contained in:
Vasilii Lakhin 2025-03-09 18:19:33 +02:00 committed by Sergey Vojtovich
parent 153778437d
commit 717c12de0e
193 changed files with 746 additions and 746 deletions

View File

@ -51,7 +51,7 @@ struct show_table_authors_st show_table_authors[]= {
"Query Cache (4.0), Subqueries (4.1), Views (5.0)" },
{ "Timour Katchaounov", "Sofia , Bulgaria", "Optimizer"},
{ "Kristian Nielsen", "Copenhagen, Denmark",
"Replication, Async client prototocol, General buildbot stuff" },
"Replication, Async client protocol, General buildbot stuff" },
{ "Alexander (Bar) Barkov", "Izhevsk, Russia",
"Unicode and character sets" },
{ "Alexey Botchkov (Holyfoot)", "Izhevsk, Russia",

View File

@ -876,7 +876,7 @@ static bool ddl_log_increment_phase_no_lock(uint entry_pos)
else
{
/*
Trying to deativate an execute entry or already deactive entry.
Trying to deactivate an execute entry or already deactive entry.
This should not happen
*/
DBUG_ASSERT(0);
@ -1017,7 +1017,7 @@ static void ddl_log_to_binary_log(THD *thd, String *query)
table name to the query
When we log, we always log all found tables and views at the same time. This
is done to simply the exceute code as otherwise we would have to keep
is done to simply execute the code as otherwise we would have to keep
information of what was logged.
*/
@ -1505,7 +1505,7 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
case DDL_RENAME_PHASE_STAT:
/*
Stat tables must be updated last so that we can handle a rename of
a stat table. For now we just rememeber that we have to update it
a stat table. For now we just remember that we have to update it
*/
update_flags(ddl_log_entry->entry_pos, DDL_LOG_FLAG_UPDATE_STAT);
ddl_log_entry->flags|= DDL_LOG_FLAG_UPDATE_STAT;
@ -2543,7 +2543,7 @@ bool ddl_log_write_entry(DDL_LOG_ENTRY *ddl_log_entry,
@brief Write or update execute entry in the ddl log.
@details An execute entry points to the first entry that should
be excuted during recovery. In some cases it's only written once,
be executed during recovery. In some cases it's only written once,
in other cases it's updated for each log entry to point to the new
header for the list.

View File

@ -23,7 +23,7 @@
functionality.
*/
/* debug_crash_here() functionallity.
/* debug_crash_here() functionality.
See mysql_test/suite/atomic/create_table.test for an example of how it
can be used
*/

View File

@ -73,7 +73,7 @@ public:
*/
virtual int next_row()= 0;
/* End prodicing rows */
/* End producing rows */
virtual int end_scan()=0;
/* Report errors */

View File

@ -18,7 +18,7 @@
@file
@brief
Read language depeneded messagefile
Read language depended messagefile
*/
#include "mariadb.h"

View File

@ -519,7 +519,7 @@ Event_queue_element::load_from_row(THD *thd, TABLE *table)
else
expression= 0;
/*
If neigher STARTS and ENDS is set, then both fields are empty.
If neither STARTS and ENDS is set, then both fields are empty.
Hence, if ET_FIELD_EXECUTE_AT is empty there is an error.
*/
execute_at_null= table->field[ET_FIELD_EXECUTE_AT]->is_null();

View File

@ -167,7 +167,7 @@ deinit_event_thread(THD *thd)
thd The THD of the thread. Has to be allocated by the caller.
NOTES
1. The host of the thead is my_localhost
1. The host of the thread is my_localhost
2. thd->net is initted with NULL - no communication.
*/

View File

@ -85,7 +85,7 @@ bool Field::marked_for_write_or_computed() const
Rules for merging different types of fields in UNION
NOTE: to avoid 256*256 table, gap in table types numeration is skipped
following #defines describe that gap and how to canculate number of fields
following #defines describe that gap and how to calculate number of fields
and index of field in this array.
*/
const int FIELDTYPE_TEAR_FROM= (MYSQL_TYPE_BIT + 1);
@ -8573,7 +8573,7 @@ void Field_varstring::hash_not_null(Hasher *hasher)
@param[in] from data to compress
@param[in] length from length
@param[in] max_length truncate `from' to this length
@param[out] out_length compessed data length
@param[out] out_length compressed data length
@param[in] cs from character set
@param[in] nchars copy no more than "nchars" characters
@ -9989,8 +9989,8 @@ Field_enum::can_optimize_range_or_keypart_ref(const Item_bool_func *cond,
3 - first (high) bit of 'c'
2 - second bit of 'c'
1 - third bit of 'c'
0 - forth bit of 'c'
2 7 - firth bit of 'c'
0 - fourth bit of 'c'
2 7 - fifth bit of 'c'
6 - null bit for 'd'
3 - 6 four bytes for 'a'
7 - 8 two bytes for 'b'

View File

@ -1045,7 +1045,7 @@ public:
/**
Mark unused memory in the field as defined. Mainly used to ensure
that if we write full field to disk (for example in
Count_distinct_field::add(), we don't write unitalized data to
Count_distinct_field::add(), we don't write uninitialized data to
disk which would confuse valgrind or MSAN.
*/
virtual void mark_unused_memory_as_defined() {}
@ -1786,7 +1786,7 @@ protected:
/*
Make a leaf tree when an INT value was stored into a field of INT type,
and some truncation happened. Tries to adjust the range search condition
when possible, e.g. "tinytint < 300" -> "tinyint <= 127".
when possible, e.g. "tinyint < 300" -> "tinyint <= 127".
Can also return SEL_ARG_IMPOSSIBLE(), and NULL (not sargable).
*/
SEL_ARG *stored_field_make_mm_leaf_bounded_int(RANGE_OPT_PARAM *param,

View File

@ -339,7 +339,7 @@ SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
if (costs.fastest_sort == PQ_SORT_ALL_FIELDS ||
costs.fastest_sort == PQ_SORT_ORDER_BY_FIELDS)
{
/* We are going to use priorty queue */
/* We are going to use priority queue */
thd->query_plan_flags|= QPLAN_FILESORT_PRIORITY_QUEUE;
status_var_increment(thd->status_var.filesort_pq_sorts_);
tracker->incr_pq_used();
@ -359,7 +359,7 @@ SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
param.res_length= param.ref_length;
/*
Add the ref (rowid which is stored last in the sort key) to the sort,
as we want to retrive rows in id order, if possible.
as we want to retrieve rows in id order, if possible.
*/
param.sort_length+= param.ref_length;
param.rec_length= param.sort_length;

View File

@ -414,7 +414,7 @@ public:
};
/* That class introduced mostly for the 'typecontrol' reason. */
/* only difference from the point classis the get_next() function. */
/* only difference from the point classes is the get_next() function. */
class event_point : public point
{
public:

View File

@ -3476,7 +3476,7 @@ bool ha_partition::re_create_par_file(const char *name)
0);
if (m_part_info->partitions.elements == 0)
{
/* We did not succed in creating default partitions */
/* We did not succeed in creating default partitions */
tmp= 1;
}
}
@ -4508,7 +4508,7 @@ int ha_partition::start_stmt(THD *thd, thr_lock_type lock_type)
@returns Number of locks returned in call to store_lock
@desc
Returns the maxinum possible number of store locks needed in call to
Returns the maximum possible number of store locks needed in call to
store lock.
*/
@ -5910,7 +5910,7 @@ int ha_partition::index_end()
index_read_map can be restarted without calling index_end on the previous
index scan and without calling index_init. In this case the index_read_map
is on the same index as the previous index_scan. This is particularly
used in conjuntion with multi read ranges.
used in conjunction with multi read ranges.
*/
int ha_partition::index_read_map(uchar *buf, const uchar *key,
@ -7436,7 +7436,7 @@ end_dont_reset_start_part:
SYNOPSIS
ha_partition::partition_scan_set_up()
buf Buffer to later return record in (this function
needs it to calculcate partitioning function
needs it to calculate partitioning function
values)
idx_read_flag TRUE <=> m_start_key has range start endpoint which
@ -8782,7 +8782,7 @@ int ha_partition::info(uint flag)
have been disabled.
The most important parameters set here is records per key on
all indexes. block_size and primar key ref_length.
all indexes. block_size and primary key ref_length.
For each index there is an array of rec_per_key.
As an example if we have an index with three attributes a,b and c
@ -9943,7 +9943,7 @@ IO_AND_CPU_COST ha_partition::scan_time()
/**
@brief
Caculate time to scan the given index (index only scan)
Calculate time to scan the given index (index only scan)
@param inx Index number to scan
@ -10701,7 +10701,7 @@ bool ha_partition::prepare_inplace_alter_table(TABLE *altered_table,
/*
Changing to similar partitioning, only update metadata.
Non allowed changes would be caought in prep_alter_part_table().
Non allowed changes would be caught in prep_alter_part_table().
*/
if (ha_alter_info->alter_info->partition_flags == ALTER_PARTITION_INFO)
{

View File

@ -382,7 +382,7 @@ int ha_sequence::discard_or_import_tablespace(my_bool discard)
}
/*
Squence engine error deal method
Sequence engine error deal method
*/
void ha_sequence::print_error(int error, myf errflag)

View File

@ -34,7 +34,7 @@ extern handlerton *sql_sequence_hton;
The sequence data (SEQUENCE class) is stored in TABLE_SHARE->sequence
TABLE RULES:
1. When table is created, one row is automaticlly inserted into
1. When table is created, one row is automatically inserted into
the table. The table will always have one and only one row.
2. Any inserts or updates to the table will be validated.
3. Inserts will overwrite the original row.

View File

@ -78,7 +78,7 @@ struct Listener
virtual void begin_accept()= 0;
/**
Completion callback,called whenever IO posted by begin_accept is finisjed
Completion callback,called whenever IO posted by begin_accept is finished
Listener needs to create a new THD then (or, call scheduler so it creates one)
@param success - whether IO completed successfull
@ -112,7 +112,7 @@ struct Listener
};
};
/* Winsock extension finctions. */
/* Winsock extension functions. */
static LPFN_ACCEPTEX my_AcceptEx;
static LPFN_GETACCEPTEXSOCKADDRS my_GetAcceptExSockaddrs;
@ -121,7 +121,7 @@ static LPFN_GETACCEPTEXSOCKADDRS my_GetAcceptExSockaddrs;
Can be threadpool-bound (i.e the completion is executed in threadpool thread),
or use events for waits.
Threadpool-bound listener should be used with theradpool scheduler, for better
Threadpool-bound listener should be used with threadpool scheduler, for better
performance.
*/
struct Socket_Listener: public Listener

View File

@ -123,7 +123,7 @@ ulong total_ha_2pc= 0;
/*
Number of non-mandatory 2pc handlertons whose initialization failed
to estimate total_ha_2pc value under supposition of the failures
have not occcured.
have not occured.
*/
ulong failed_ha_2pc= 0;
#endif
@ -613,7 +613,7 @@ int ha_finalize_handlerton(void *plugin_)
*/
if (hton->slot != HA_SLOT_UNDEF)
{
/* Make sure we are not unpluging another plugin */
/* Make sure we are not unplugging another plugin */
DBUG_ASSERT(hton2plugin[hton->slot] == plugin);
DBUG_ASSERT(hton->slot < MAX_HA);
hton2plugin[hton->slot]= NULL;
@ -2088,7 +2088,7 @@ err:
{
/*
We are not really doing a rollback here, but the code in trans_commit()
requres that m_transaction_psi is 0 when we return from this function.
requires that m_transaction_psi is 0 when we return from this function.
*/
MYSQL_ROLLBACK_TRANSACTION(thd->m_transaction_psi);
thd->m_transaction_psi= NULL;
@ -3418,7 +3418,7 @@ LEX_CSTRING *handler::engine_name()
/*
Calclate the number of index blocks we are going to access when
Calculate the number of index blocks we are going to access when
doing 'ranges' index dives reading a total of 'rows' rows.
*/
@ -5379,7 +5379,7 @@ bool non_existing_table_error(int error)
@retval
HA_ADMIN_NEEDS_DATA_CONVERSION
Table has structures requiring
ALTER TABLE FORCE, algortithm=COPY to
ALTER TABLE FORCE, algorithm=COPY to
recreate data.
@retval
HA_ADMIN_NOT_IMPLEMENTED
@ -5465,7 +5465,7 @@ int handler::ha_repair(THD* thd, HA_CHECK_OPT* check_opt)
ha_table_flags() & HA_CAN_REPAIR);
/*
Update frm version if no errors and there are no version incompatibiltes
Update frm version if there are no errors and no version incompatibilities
in the data (as these are not fixed by repair).
*/
if (result == HA_ADMIN_OK && !opt_readonly &&
@ -7904,7 +7904,7 @@ int handler::check_duplicate_long_entries(const uchar *new_rec)
/** @brief
check whether updated records breaks the
unique constraint on long columns.
In the case of update we just need to check the specic key
In the case of update we just need to check the specific key
reason for that is consider case
create table t1(a blob , b blob , x blob , y blob ,unique(a,b)
,unique(x,y))

View File

@ -861,7 +861,7 @@ typedef bool Log_func(THD*, TABLE*, Event_log *, binlog_cache_data *, bool,
#define ALTER_PARTITION_ALL (1ULL << 8)
// Set for REMOVE PARTITIONING
#define ALTER_PARTITION_REMOVE (1ULL << 9)
// Set for EXCHANGE PARITION
// Set for EXCHANGE PARTITION
#define ALTER_PARTITION_EXCHANGE (1ULL << 10)
// Set by Sql_cmd_alter_table_truncate_partition::execute()
#define ALTER_PARTITION_TRUNCATE (1ULL << 11)
@ -1026,7 +1026,7 @@ struct xid_recovery_member
*/
Binlog_offset binlog_coord;
XID *full_xid; // needed by wsrep or past it recovery
decltype(::server_id) server_id; // server id of orginal server
decltype(::server_id) server_id; // server id of original server
xid_recovery_member(my_xid xid_arg, uint prepare_arg, bool decided_arg,
XID *full_xid_arg, decltype(::server_id) server_id_arg)
@ -1438,7 +1438,7 @@ struct transaction_participant
consistent between 2pc participants. Such engine is no longer required to
durably flush to disk transactions in commit(), provided that the
transaction has been successfully prepare()d and commit_ordered(); thus
potentionally saving one fsync() call. (Engine must still durably flush
potentially saving one fsync() call. (Engine must still durably flush
to disk in commit() when no prepare()/commit_ordered() steps took place,
at least if durable commits are wanted; this happens eg. if binlog is
disabled).
@ -2644,7 +2644,7 @@ public:
*/
alter_table_operations handler_flags= 0;
/* Alter operations involving parititons are strored here */
/* Alter operations involving partitons are stored here */
ulong partition_flags;
/**
@ -3463,8 +3463,8 @@ private:
Handler_share **ha_share;
public:
double optimizer_where_cost; // Copy of THD->...optimzer_where_cost
double optimizer_scan_setup_cost; // Copy of THD->...optimzer_scan_...
double optimizer_where_cost; // Copy of THD->...optimizer_where_cost
double optimizer_scan_setup_cost; // Copy of THD->...optimizer_scan_...
handler(handlerton *ht_arg, TABLE_SHARE *share_arg)
:table_share(share_arg), table(0),
@ -3513,7 +3513,7 @@ public:
DBUG_ASSERT(m_lock_type == F_UNLCK);
DBUG_ASSERT(inited == NONE);
}
/* To check if table has been properely opened */
/* To check if table has been properly opened */
bool is_open()
{
return ref != 0;
@ -3605,7 +3605,7 @@ public:
}
inline int ha_end_keyread()
{
if (!keyread_enabled()) /* Enably lazy usage */
if (!keyread_enabled()) /* Enable lazy usage */
return 0;
keyread= MAX_KEY;
return extra(HA_EXTRA_NO_KEYREAD);
@ -4311,7 +4311,7 @@ public:
This is intended to be used for EXPLAIN, via the following scenario:
1. SQL layer calls handler->multi_range_read_info().
1.1. Storage engine figures out whether it will use some non-default
MRR strategy, sets appropritate bits in *mrr_mode, and returns
MRR strategy, sets appropriate bits in *mrr_mode, and returns
control to SQL layer
2. SQL layer remembers the returned mrr_mode
3. SQL layer compares various options and choses the final query plan. As
@ -4411,7 +4411,7 @@ public:
{ return extra(operation); }
/*
Table version id for the the table. This should change for each
sucessfull ALTER TABLE.
successful ALTER TABLE.
This is used by the handlerton->check_version() to ask the engine
if the table definition has been updated.
Storage engines that does not support inplace alter table does not
@ -4650,7 +4650,7 @@ public:
Count tables invisible from all tables list on which current one built
(like myisammrg and partitioned tables)
tables_type mask for the tables should be added herdde
tables_type mask for the tables should be added here
returns number of such tables
*/
@ -5490,8 +5490,8 @@ public:
@param record record to find (also will be fillded with
actual record fields)
@param unique_ref index or unique constraiun number (depends
on what used in the engine
@param unique_ref index or unique constraint number (depends
on what was used in the engine
@retval -1 Error
@retval 1 Not found

View File

@ -1480,8 +1480,8 @@ Item *Item::const_charset_converter(THD *thd, CHARSET_INFO *tocs,
Item *Item_param::safe_charset_converter(THD *thd, CHARSET_INFO *tocs)
{
/*
Return "this" if in prepare. result_type may change at execition time,
to it's possible that the converter will not be needed at all:
Return "this" if in prepare. result_type may change at execution time,
though it's possible that the converter will not be needed at all:
PREPARE stmt FROM 'SELECT * FROM t1 WHERE field = ?';
SET @arg= 1;
@ -2212,7 +2212,7 @@ Item::Type Item_name_const::type() const
{
/*
We are guarenteed that value_item->basic_const_item(), if not
We are guaranteed that value_item->basic_const_item(), if not
an error is thrown that WRONG ARGUMENTS are supplied to
NAME_CONST function.
If type is FUNC_ITEM, then we have a fudged item_func_neg()
@ -2370,7 +2370,7 @@ void Item::split_sum_func2(THD *thd, Ref_ptr_array ref_pointer_array,
/*
Skip the else part, window functions are very special functions:
they need to have their own fields in the temp. table, but they
need to be proceessed differently than regular aggregate functions
need to be processed differently than regular aggregate functions
Call split_sum_func here so that each argument gets its fields to
point to the temporary table.
@ -2828,7 +2828,7 @@ Item_func_or_sum
@details
This method first builds clones of the arguments. If it is successful with
buiding the clones then it constructs a copy of this Item_func_or_sum object
building the clones then it constructs a copy of this Item_func_or_sum object
and attaches to it the built clones of the arguments.
@return clone of the item
@ -3085,7 +3085,7 @@ Item_sp::execute_impl(THD *thd, Item **args, uint arg_count)
@brief Initialize the result field by creating a temporary dummy table
and assign it to a newly created field object. Meta data used to
create the field is fetched from the sp_head belonging to the stored
proceedure found in the stored procedure functon cache.
procedure found in the stored procedure functon cache.
@note This function should be called from fix_fields to init the result
field. It is some what related to Item_field.
@ -3793,7 +3793,7 @@ void Item_field::set_refers_to_temp_table()
{
/*
Derived temp. tables have non-zero derived_select_number.
We don't need to distingish between other kinds of temp.tables currently.
We don't need to distinguish between other kinds of temp.tables currently.
*/
refers_to_temp_table= (field->table->derived_select_number != 0)?
REFERS_TO_DERIVED_TMP : REFERS_TO_OTHER_TMP;
@ -5914,7 +5914,7 @@ bool is_outer_table(TABLE_LIST *table, SELECT_LEX *select)
@endcode
@retval
1 column succefully resolved and fix_fields() should continue.
1 column successfully resolved and fix_fields() should continue.
@retval
0 column fully fixed and fix_fields() should return FALSE
@retval
@ -6440,7 +6440,7 @@ bool Item_field::fix_fields(THD *thd, Item **reference)
/*
if it is not expression from merged VIEW we will set this field.
We can leave expression substituted from view for next PS/SP rexecution
We can leave expression substituted from view for next PS/SP reexecution
(i.e. do not register this substitution for reverting on cleanup()
(register_item_tree_changing())), because this subtree will be
fix_field'ed during setup_tables()->setup_underlying() (i.e. before

View File

@ -789,7 +789,7 @@ enum class item_with_t : item_flags_t
WINDOW_FUNC= (1<<1), // If item contains a window func
FIELD= (1<<2), // If any item except Item_sum contains a field.
SUM_FUNC= (1<<3), // If item contains a sum func
SUBQUERY= (1<<4), // If item containts a sub query
SUBQUERY= (1<<4), // If item contains a subquery
ROWNUM_FUNC= (1<<5), // If ROWNUM function was used
PARAM= (1<<6) // If user parameter was used
};
@ -2294,7 +2294,7 @@ public:
/*
TRUE if the expression depends only on the table indicated by tab_map
or can be converted to such an exression using equalities.
or can be converted to such an expression using equalities.
Not to be used for AND/OR formulas.
*/
virtual bool excl_dep_on_table(table_map tab_map) { return false; }
@ -3578,7 +3578,7 @@ public:
void get_tmp_field_src(Tmp_field_src *src, const Tmp_field_param *param);
/*
This implementation of used_tables() used by Item_avg_field and
Item_variance_field which work when only temporary table left, so theu
Item_variance_field which work when only temporary table left, so they
return table map of the temporary table.
*/
table_map used_tables() const override { return 1; }
@ -4646,7 +4646,7 @@ public:
{ return get_item_copy<Item_bool_static>(thd, this); }
};
/* The following variablese are stored in a read only segment */
/* The following variables are stored in a read only segment */
extern Item_bool_static *Item_false, *Item_true;
class Item_uint :public Item_int
@ -5804,7 +5804,7 @@ public:
item to the debug log. The second use of this method is as
a helper function of print() and error messages, where it is
applicable. To suit both goals it should return a meaningful,
distinguishable and sintactically correct string. This method
distinguishable and syntactically correct string. This method
should not be used for runtime type identification, use enum
{Sum}Functype and Item_func::functype()/Item_sum::sum_func()
instead.
@ -7196,9 +7196,9 @@ public:
/**
This class is used as bulk parameter INGNORE representation.
This class is used as bulk parameter IGNORE representation.
It just do nothing when assigned to a field
It just does nothing when assigned to a field
This is a non-standard MariaDB extension.
*/
@ -8205,7 +8205,7 @@ public:
The value meaning a not-initialized ESCAPE character must not be equal to
any valid value, so must be outside of these ranges:
- -128..+127, not to conflict with a valid 8bit charcter
- -128..+127, not to conflict with a valid 8bit character
- 0..0x10FFFF, not to conflict with a valid Unicode code point
The exact value does not matter.
*/

View File

@ -606,7 +606,7 @@ bool Arg_comparator::set_cmp_func_string(THD *thd)
/*
We must set cmp_collation here as we may be called from for an automatic
generated item, like in natural join.
Allow reinterpted superset as subset.
Allow reinterpreted superset as subset.
Use charset narrowing only for equalities, as that would allow
to construct ref access.
Non-equality comparisons with constants work without charset narrowing,
@ -2715,7 +2715,7 @@ Item_func_nullif::fix_length_and_dec(THD *thd)
If this is the first invocation of fix_length_and_dec(), create the
third argument as a copy of the first. This cannot be done before
fix_fields(), because fix_fields() might replace items,
for exampe NOT x --> x==0, or (SELECT 1) --> 1.
for example NOT x --> x==0, or (SELECT 1) --> 1.
See also class Item_func_nullif declaration.
*/
if (arg_count == 2)
@ -2731,7 +2731,7 @@ Item_func_nullif::fix_length_and_dec(THD *thd)
l_expr
args[2]= >------------------------/
Otherwise (during PREPARE or convensional execution),
Otherwise (during PREPARE or conventional execution),
args[0] and args[2] should still point to the same original l_expr.
*/
DBUG_ASSERT(args[0] == args[2] || thd->stmt_arena->is_stmt_execute());
@ -2814,7 +2814,7 @@ Item_func_nullif::fix_length_and_dec(THD *thd)
l_expr (Item_field for t1.a)
args[2] /
d. Conversion of only args[0] happened (by equal field proparation):
d. Conversion of only args[0] happened (by equal field propagation):
CREATE OR REPLACE TABLE t1 (
a CHAR(10),
@ -3403,7 +3403,7 @@ bool Item_func_case_simple::aggregate_switch_and_when_arguments(THD *thd,
If we'll do string comparison, we also need to aggregate
character set and collation for first/WHEN items and
install converters for some of them to cmp_collation when necessary.
This is done because cmp_item compatators cannot compare
This is done because cmp_item comparators cannot compare
strings in two different character sets.
Some examples when we install converters:
@ -4709,7 +4709,7 @@ void Item_func_in::fix_in_vector()
else
{
/*
We don't put NULL values in array, to avoid erronous matches in
We don't put NULL values in array, to avoid erroneous matches in
bisection.
*/
have_null= 1;
@ -4760,7 +4760,7 @@ bool Item_func_in::value_list_convert_const_to_int(THD *thd)
m_comparator.set_handler(&type_handler_slonglong);
}
}
return thd->is_fatal_error; // Catch errrors in convert_const_to_int
return thd->is_fatal_error; // Catch errors in convert_const_to_int
}
@ -5435,7 +5435,7 @@ Item *Item_cond::do_transform(THD *thd, Item_transformer transformer, uchar *arg
callback functions.
First the function applies the analyzer to the root node of
the Item_func object. Then if the analyzer succeeeds (returns TRUE)
the Item_func object. Then if the analyzer succeeds (returns TRUE)
the function recursively applies the compile method to member
item of the condition list.
If the call of the method for a member item returns a new item
@ -7897,7 +7897,7 @@ Item_equal::excl_dep_on_grouping_fields(st_select_lex *sel)
2. After this all equalities of the form x=a (where x designates the first
non-constant member for which checker returns true and a is some other
such member of the multiplle equality) are created. When constructing
such member of the multiple equality) are created. When constructing
an equality item both its parts are taken as clones of x and a.
Suppose in the examples above that for 'x', 'a', and 'b' the function

View File

@ -2070,7 +2070,7 @@ public:
4. m_cmp_item - the pointer to a cmp_item instance to handle comparison
for this pair. Only unique type handlers have m_cmp_item!=NULL.
Non-unique type handlers share the same cmp_item instance.
For all m_comparators[] elements the following assersion it true:
For all m_comparators[] elements the following assertion is true:
(m_handler_index==i) == (m_cmp_item!=NULL)
*/
class Predicant_to_list_comparator

View File

@ -5500,7 +5500,7 @@ Create_func_rand::create_native(THD *thd, const LEX_CSTRING *name,
between master and slave, because the order is undefined. Hence,
the statement is unsafe to log in statement format.
For normal INSERT's this is howevever safe
For normal INSERT's this is however safe
*/
if (thd->lex->sql_command != SQLCOM_INSERT)
thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);

View File

@ -84,7 +84,7 @@ static inline bool test_if_sum_overflows_ull(ulonglong arg1, ulonglong arg2)
/**
Allocate memory for arguments using tmp_args or thd->alloc().
@retval false - success
@retval true - error (arg_count is set to 0 for conveniece)
@retval true - error (arg_count is set to 0 for convenience)
*/
bool Item_args::alloc_arguments(THD *thd, uint count)
{
@ -7308,7 +7308,7 @@ Item_func_rownum::Item_func_rownum(THD *thd):
/*
Remember the select context.
Add the function to the list fix_after_optimize in the select context
so that we can easily initializef all rownum functions with the pointers
so that we can easily initialize all rownum functions with the pointers
to the row counters.
*/
select= thd->lex->current_select;

View File

@ -3565,7 +3565,7 @@ public:
/*
This item represents user variable used as out parameter (e.g in LOAD DATA),
and it is supposed to be used only for this purprose. So it is simplified
and it is supposed to be used only for this purpose. So it is simplified
a lot. Actually you should never obtain its value.
The only two reasons for this thing being an Item is possibility to store it

View File

@ -2770,7 +2770,7 @@ mem_error:
#ifndef DBUG_OFF
longlong Item_func_gis_debug::val_int()
{
/* For now this is just a stub. TODO: implement the internal GIS debuggign */
/* For now this is just a stub. TODO: implement the internal GIS debugging */
return 0;
}
#endif

View File

@ -140,7 +140,7 @@ public:
/*
Functions returning GEOMETRY measurements of a single GEOEMETRY argument
Functions returning GEOMETRY measurements of a single GEOMETRY argument
*/
class Item_geometry_func_args_geometry: public Item_geometry_func
{

View File

@ -1793,7 +1793,7 @@ null_return:
Item_func_conv_charset::is_json_type() which returned args[0]->is_json_type().
JSON functions with multiple string input with different character sets
wrap some arguments into Item_func_conv_charset. So the former
Item_func_conv_charset::is_json_type() took the JSON propery from args[0],
Item_func_conv_charset::is_json_type() took the JSON properly from args[0],
i.e. from the original argument before the conversion.
This is probably not always correct because an *explicit*
`CONVERT(arg USING charset)` is actually a general purpose string
@ -4761,7 +4761,7 @@ static int json_find_overlap_with_object(json_engine_t *js, json_engine_t *value
else return false.
2.c) If either of json document or value is array and other is object:
Iterate over the array, if an element of type object is found,
then compare it with the object (which is the other arguemnt).
then compare it with the object (which is the other argument).
If the entire object matches i.e all they key value pairs match,
then return true else return false.
@ -5191,7 +5191,7 @@ static bool get_current_value(json_engine_t *js, const uchar *&value_start,
If the outermost layer of JSON is an array,
the intersection of arrays is independent of order.
Create a hash containing all elements in the array,
itterate over another array and add the common elements
iterate over another array and add the common elements
to the result.
RETURN

View File

@ -80,7 +80,7 @@ static uint32 max_length_for_string(Item *item, bool *neg)
}
if (length > (ulonglong) INT_MAX32)
{
/* Limit string length to maxium string length in MariaDB (2G) */
/* Limit string length to maximum string length in MariaDB (2G) */
length= (ulonglong) INT_MAX32;
}
return (uint32) length;
@ -3701,7 +3701,7 @@ bool Item_func_pad::fix_length_and_dec(THD *thd)
/*
PAD(expr,length,' ')
removes argument's soft dependency on PAD_CHAR_TO_FULL_LENGTH if the result
is longer than the argument's maximim possible length.
is longer than the argument's maximum possible length.
*/
Sql_mode_dependency Item_func_rpad::value_depends_on_sql_mode() const
{
@ -4044,7 +4044,7 @@ String *Item_func_set_collation::val_str(String *str)
But for a non-NULL result SCS and TCS must be compatible:
1. Either SCS==TCS
2. Or SCS can be can be reinterpeted to TCS.
2. Or SCS can be reinterpreted to TCS.
This scenario is possible when args[0] is numeric and TCS->mbmaxlen==1.
If SCS and TCS are not compatible here, then something went wrong during
@ -4714,7 +4714,7 @@ longlong Item_func_uncompressed_length::val_int()
5 bytes long.
res->c_ptr() is not used because:
- we do not need \0 terminated string to get first 4 bytes
- c_ptr() tests simbol after string end (uninitialized memory) which
- c_ptr() tests symbol after string end (uninitialized memory) which
confuse valgrind
*/
return uint4korr(res->ptr()) & 0x3FFFFFFF;

View File

@ -2154,7 +2154,7 @@ Item_in_subselect::single_value_transformer(JOIN *join)
/**
Apply transformation max/min transwormation to ALL/ANY subquery if it is
Apply transformation max/min transformation to ALL/ANY subquery if it is
possible.
@param join Join object of the subquery (i.e. 'child' join).
@ -3150,13 +3150,13 @@ bool Item_exists_subselect::exists2in_processor(void *opt_arg)
DBUG_RETURN(FALSE);
/*
EXISTS-to-IN coversion and ORDER BY ... LIMIT clause:
EXISTS-to-IN conversion and ORDER BY ... LIMIT clause:
- "[ORDER BY ...] LIMIT n" clause with a non-zero n does not affect
the result of the EXISTS(...) predicate, and so we can discard
it during the conversion.
- "[ORDER BY ...] LIMIT m, n" can turn a non-empty resultset into empty
one, so it affects tthe EXISTS(...) result and cannot be discarded.
one, so it affects the EXISTS(...) result and cannot be discarded.
Disallow exists-to-in conversion if
(1). three is a LIMIT which is not a basic constant
@ -3270,7 +3270,7 @@ bool Item_exists_subselect::exists2in_processor(void *opt_arg)
}
}
/* make EXISTS->IN permanet (see Item_subselect::init()) */
/* make EXISTS->IN permanent (see Item_subselect::init()) */
set_exists_transformed();
first_select->limit_params.select_limit= NULL;
@ -3583,7 +3583,7 @@ bool Item_in_subselect::fix_fields(THD *thd_arg, Item **ref)
test for each Item happens later in
Item_in_subselect::row_value_in_to_exists_transformer.
The reason for this mess is that our JOIN::prepare phase works top-down
instead of bottom-up, so we first do name resoluton and semantic checks
instead of bottom-up, so we first do name resolution and semantic checks
for the outer selects, then for the inner.
*/
if (engine &&
@ -3713,7 +3713,7 @@ bool Item_in_subselect::init_left_expr_cache()
outer_join= unit->outer_select()->join;
/*
An IN predicate might be evaluated in a query for which all tables have
been optimzied away.
been optimized away.
*/
if (!outer_join || !outer_join->table_count || !outer_join->tables_list)
return TRUE;
@ -4029,7 +4029,7 @@ bool subselect_single_select_engine::no_rows()
/**
Makes storage for the output values for the subquery and calcuates
Makes storage for the output values for the subquery and calculates
their data and column types and their nullability.
*/
bool subselect_engine::set_row(List<Item> &item_list, Item_cache **row)
@ -5338,7 +5338,7 @@ bool subselect_hash_sj_engine::init(List<Item> *tmp_columns, uint subquery_id)
the extra key part created when s->uniques > 0.
NOTE: item have to be Item_in_subselect, because class constructor
accept Item_in_subselect as the parmeter.
accepts Item_in_subselect as the parameter.
*/
DBUG_ASSERT(tmp_table->s->keys == 1 &&
item->get_IN_subquery()->left_expr->cols() ==
@ -5438,7 +5438,7 @@ bool subselect_hash_sj_engine::make_semi_join_conds()
/**
Create a new uniquesubquery engine for the execution of an IN predicate.
Create a new unique subquery engine for the execution of an IN predicate.
@details
Create and initialize a new JOIN_TAB, and Table_ref objects to perform
@ -5754,8 +5754,8 @@ double get_post_group_estimate(JOIN* join, double join_op_rows)
Execute a subquery IN predicate via materialization.
@details
If needed materialize the subquery into a temporary table, then
copmpute the predicate via a lookup into this table.
If needed to materialize the subquery into a temporary table, then
compute the predicate via a lookup into this table.
@retval TRUE if error
@retval FALSE otherwise
@ -6292,7 +6292,7 @@ bool Ordered_key::lookup()
mid= lo + (hi - lo) / 2;
cmp_res= cmp_key_with_search_key(key_buff[mid]);
/*
In order to find the minimum match, check if the pevious element is
In order to find the minimum match, check if the previous element is
equal or smaller than the found one. If equal, we need to search further
to the left.
*/
@ -6855,7 +6855,7 @@ bool subselect_rowid_merge_engine::partial_match()
/* If there is a non-NULL key, it must be the first key in the keys array. */
DBUG_ASSERT(!non_null_key || (non_null_key && merge_keys[0] == non_null_key));
/* The prioryty queue for keys must be empty. */
/* The priority queue for keys must be empty. */
DBUG_ASSERT(pq.is_empty());
/* All data accesses during execution are via handler::ha_rnd_pos() */

View File

@ -231,7 +231,7 @@ public:
/*
Used by max/min subquery to initialize value presence registration
mechanism. Engine call this method before rexecution query.
mechanism. Engine call this method before reexecution query.
*/
virtual void reset_value_registration() {}
enum_parsing_place place() { return parsing_place; }
@ -1273,7 +1273,7 @@ protected:
/*
Mapping from row numbers to row ids. The element row_num_to_rowid[i]
contains a buffer with the rowid for the row numbered 'i'.
The memory for this member is not maintanined by this class because
The memory for this member is not maintained by this class because
all Ordered_key indexes of the same table share the same mapping.
*/
uchar *row_num_to_rowid;

View File

@ -180,7 +180,7 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref)
/*
Window functions can not be used as arguments to sum functions.
Aggregation happes before window function computation, so there
Aggregation happens before window function computation, so there
are no values to aggregate over.
*/
if (with_window_func())
@ -472,7 +472,7 @@ Item_sum::Item_sum(THD *thd, List<Item> &list): Item_func_or_sum(thd, list)
/**
Constructor used in processing select with temporary tebles.
Constructor used in processing select with temporary tables.
*/
Item_sum::Item_sum(THD *thd, Item_sum *item):
@ -1246,7 +1246,7 @@ bool Item_sum_min_max::fix_length_and_dec(THD *thd)
{
DBUG_ASSERT(args[0]->field_type() == args[0]->real_item()->field_type());
DBUG_ASSERT(args[0]->result_type() == args[0]->real_item()->result_type());
/* MIN/MAX can return NULL for empty set indepedent of the used column */
/* MIN/MAX can return NULL for empty set independent of the used column */
set_maybe_null();
null_value= true;
return args[0]->type_handler()->Item_sum_hybrid_fix_length_and_dec(this);
@ -4483,7 +4483,7 @@ String* Item_func_group_concat::val_str(String* str)
/*
@brief
Get the comparator function for DISTINT clause
Get the comparator function for DISTINCT clause
*/
qsort_cmp2 Item_func_group_concat::get_comparator_function_for_distinct()

View File

@ -304,7 +304,7 @@ class Window_spec;
The implementation takes into account the used strategy:
- Items resolved at optimization phase return 0 from Item_sum::used_tables().
- Items that depend on the number of join output records, but not columns of
any particular table (like COUNT(*)), returm 0 from Item_sum::used_tables(),
any particular table (like COUNT(*)), return 0 from Item_sum::used_tables(),
but still return false from Item_sum::const_item().
*/

View File

@ -2059,7 +2059,7 @@ static uint parse_special(char cfmt, const char *ptr, const char *end,
/*
* '&' with text is used for variable input, but '&' with other
* special charaters like '|'. '*' is used as separator
* special characters like '|'. '*' is used as separator
*/
if (cfmt == '&' && ptr + 1 < end)
{

View File

@ -1188,7 +1188,7 @@ public:
/*
Computation functions.
TODO: consoder merging these with class Group_bound_tracker.
TODO: consider merging these with class Group_bound_tracker.
*/
void setup_partition_border_check(THD *thd);

View File

@ -66,7 +66,7 @@ typedef struct my_xml_node_st
typedef struct my_xpath_lex_st
{
int term; /* token type, see MY_XPATH_LEX_XXXXX below */
const char *beg; /* beginnign of the token */
const char *beg; /* beginning of the token */
const char *end; /* end of the token */
} MY_XPATH_LEX;
@ -769,7 +769,7 @@ bool Item_nodeset_func_ancestorbyname::val_native(THD *thd, Native *nodeset)
{
/*
Go to the root and add all nodes on the way.
Don't add the root if context is the root itelf
Don't add the root if context is the root itself
*/
MY_XML_NODE *self= &nodebeg[flt->num];
if (need_self && validname(self))
@ -1043,7 +1043,7 @@ static Item *create_comparator(MY_XPATH *xpath,
/*
Compare a node set to a scalar value.
We just create a fake Item_string_xml_non_const() argument,
which will be filled to the partular value
which will be filled to the particular value
in a loop through all of the nodes in the node set.
*/
@ -2566,7 +2566,7 @@ static int my_xpath_parse_Number(MY_XPATH *xpath)
SYNOPSYS
The keywords AND, OR, MOD, DIV are valid identitiers
The keywords AND, OR, MOD, DIV are valid identifiers
when they are in identifier context:
SELECT

View File

@ -1847,7 +1847,7 @@ bool Json_schema_property_names::handle_keyword(THD *thd, json_engine_t *je,
}
/*
additiona_items, additional_properties, unevaluated_items,
additional_items, additional_properties, unevaluated_items,
unevaluated_properties are all going to be schemas
(basically of object type). So they all can be handled
just like any other schema.
@ -1879,7 +1879,7 @@ Json_schema_additional_and_unevaluated::handle_keyword(THD *thd,
}
/*
Validating properties as an alternate shcema happens only when we have
Validating properties as an alternate schema happens only when we have
logic keywords. Example we have allOf, and one key is not
validated against allOf but it is present in "properties" and validates
against it. Then the validation result should be true. So we would want that

View File

@ -699,7 +699,7 @@ int ha_json_table::info(uint)
@param thd thread handle
@param param a description used as input to create the table
@param jt json_table specificaion
@param jt json_table specification
@param table_alias alias
*/
@ -910,7 +910,7 @@ int Json_table_column::set(THD *thd, enum_type ctype, const LEX_CSTRING &path,
/*
This is done so the ::print function can just print the path string.
Can be removed if we redo that function to print the path using it's
anctual content. Not sure though if we should.
actual content. Not sure though if we should.
*/
m_path.s.c_str= (const uchar *) path.str;

View File

@ -194,7 +194,7 @@ public:
In the current MariaDB code, evaluation of JSON_TABLE is deterministic,
that is, for a given input string JSON_TABLE will always produce the same
set of rows in the same order. However one can think of JSON documents
that one can consider indentical which will produce different output.
that one can consider identical which will produce different output.
In order to be feature-proof and withstand changes like:
- sorting JSON object members by name (like MySQL does)
- changing the way duplicate object members are handled
@ -274,7 +274,7 @@ private:
/*
Pointer to the list tail where we add the next NESTED PATH.
It points to the cur_parnt->m_nested for the first nested
and prev_nested->m_next_nested for the coesequent ones.
and prev_nested->m_next_nested for the consequent ones.
*/
Json_table_nested_path **last_sibling_hook;
};

View File

@ -114,7 +114,7 @@ Lex_exact_collation::raise_if_not_equal(const Lex_exact_collation &cl) const
/*
Merge an exact collation and a contexual collation.
Merge an exact collation and a contextual collation.
@param cl - The contextual collation to merge to "this".
@param reverse_order - If the contextual collation is on the left side

View File

@ -444,7 +444,7 @@ public:
CREATE TABLE t2 (a CHAR(10) BINARY) CHARACTER SET latin2; -- (3a)
CREATE TABLE t2 (a CHAR(10) BINARY); -- (3b)
CREATE TABLE t2 (a CHAR(10) COLLATE DEFAULT)
CHARACER SET latin2 COLLATE latin2_bin; -- (3c)
CHARACTER SET latin2 COLLATE latin2_bin; -- (3c)
In case of an empty or a contextually typed collation,
it is a subject to later resolution, when the context

View File

@ -53,7 +53,7 @@ struct Compare_ident_ci
1. {ptr==NULL,length==0} is valid and means "NULL identifier".
2a. {ptr<>NULL,length==0} means "empty identifier".
2b. {ptr<>NULL,length>0} means "not empty identifier.
In case of 2a and 2b, ptr must be a '\0'-terninated string.
In case of 2a and 2b, ptr must be a '\0'-terminated string.
Comparison operands passed to streq() are not required to be 0-terminated.
@ -61,7 +61,7 @@ struct Compare_ident_ci
- inside methods of this class
- inside st_charset_info::streq() in include/m_ctype.h
The caller must make sure to maintain the object in the valid state,
as well as provide valid LEX_CSTRING instances for comparion.
as well as provide valid LEX_CSTRING instances for comparison.
For better code stability, the Lex_cstring base should eventually be
encapsulated, so the object debug validation is done at constructor
@ -468,7 +468,7 @@ public:
Lex_ident_db::check_name().
Note, the database name passed to the constructor can originally
come from the parser and can be of an atribtrary long length.
come from the parser and can be of an arbitrary long length.
Let's reserve additional buffer space for one extra character
(SYSTEM_CHARSET_MBMAXLEN bytes), so Lex_ident_db::check_name() can
still detect too long names even if the constructor cuts the data.

View File

@ -162,8 +162,8 @@ static SHOW_VAR binlog_status_vars_detail[]=
};
/**
This class implementes the feature to rename a binlog cache temporary file to
a binlog file. It is used to avoid holding LOCK_log long time when writting a
This class implements the feature to rename a binlog cache temporary file to
a binlog file. It is used to avoid holding LOCK_log long time when writing a
huge binlog cache to binlog file.
With this feature, temporary files of binlog caches will be created in
@ -2227,7 +2227,7 @@ inline bool is_prepared_xa(THD *thd)
/*
We flush the cache wrapped in a beging/rollback if:
We flush the cache wrapped in a beginning/rollback if:
. aborting a single or multi-statement transaction and;
. the OPTION_BINLOG_THIS_TRX is active or;
. the format is STMT and a non-trans table was updated or;
@ -3274,7 +3274,7 @@ void MYSQL_QUERY_LOG::reopen_file()
DESCRIPTION
Log given command to to normal (not rotable) log file
Log given command to normal (not rotable) log file
RETURN
FASE - OK
@ -4696,7 +4696,7 @@ bool MYSQL_BIN_LOG::reset_logs(THD *thd, bool create_new_log,
/*
Close the active log.
Close the active GTID index synchroneously. We don't want the close
Close the active GTID index synchronously. We don't want the close
running in the background while we delete the gtid index file. And we just
pushed a sentinel through the binlog background thread while holding
LOCK_log, so no other GTID index operations can be pending.
@ -5724,7 +5724,7 @@ error:
/* Remove directory (to keep things shorter and compatible */
log_file_name_arg+= dirname_length(log_file_name_arg);
/* purge_warning_given is reset after next sucessful purge */
/* purge_warning_given is reset after next successful purge */
purge_warning_given= 1;
if (interactive)
{
@ -5870,7 +5870,7 @@ bool MYSQL_BIN_LOG::is_active(const char *log_file_name_arg)
* #12 next_event
* #13 exec_relay_log_event
*
* I didn't investigate if this is ligit...(i.e if my comment is wrong)
* I didn't investigate if this is legit...(i.e if my comment is wrong)
*/
return !strcmp(log_file_name, log_file_name_arg);
}
@ -8071,7 +8071,7 @@ int MYSQL_BIN_LOG::rotate_and_purge(bool force_rotate,
if ((err_gtid= do_delete_gtid_domain(domain_drop_lex)))
{
// inffective attempt to delete merely skips rotate and purge
// ineffective attempt to delete merely skips rotate and purge
if (err_gtid < 0)
error= 1; // otherwise error is propagated the user
}
@ -8600,7 +8600,7 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry)
If waitee->commit_started is set, it means that the transaction we need
to wait for has already queued up for group commit. In this case it is
safe for us to queue up immediately as well, increasing the opprtunities
safe for us to queue up immediately as well, increasing the opportunities
for group commit. Because waitee has taken the LOCK_prepare_ordered
before setting the flag, so there is no risk that we can queue ahead of
it.
@ -11317,7 +11317,7 @@ TC_LOG_BINLOG::mark_xid_done(ulong binlog_id, bool write_checkpoint)
most recent binlog.
Note also that we need to first release LOCK_xid_list, then acquire
LOCK_log, then re-aquire LOCK_xid_list. If we were to take LOCK_log while
LOCK_log, then re-acquire LOCK_xid_list. If we were to take LOCK_log while
holding LOCK_xid_list, we might deadlock with other threads that take the
locks in the opposite order.
*/
@ -11842,7 +11842,7 @@ public:
Otherwise enumeration starts with zero for the first file, increments
by one for any next file except for the last file in the list, which
is also the initial binlog file for recovery,
that is enumberated with UINT_MAX.
that is enumerated with UINT_MAX.
*/
Binlog_file_id id_binlog;
enum_binlog_checksum_alg checksum_alg;
@ -11925,7 +11925,7 @@ public:
Is invoked when a standalone or non-2pc group is detected.
Both are unsafe to truncate in the semisync-slave recovery so
the maximum unsafe coordinate may be updated.
In the non-2pc group case though, *exeptionally*,
In the non-2pc group case though, *exceptionally*,
the no-engine group is considered safe, to be invalidated
to not contribute to binlog state.
*/
@ -12136,7 +12136,7 @@ bool Recovery_context::decide_or_assess(xid_recovery_member *member, int round,
if (!truncate_validated)
{
if (truncate_gtid.seq_no == 0 /* was reset or never set */ ||
(truncate_set_in_1st && round == 2 /* reevaluted at round turn */))
(truncate_set_in_1st && round == 2 /* reevaluated at round turn */))
{
if (set_truncate_coord(linfo, round, fdle->used_checksum_alg))
return true;

View File

@ -260,7 +260,7 @@ extern TC_LOG_DUMMY tc_log_dummy;
class Relay_log_info;
/*
Note that we destroy the lock mutex in the desctructor here.
Note that we destroy the lock mutex in the destructor here.
This means that object instances cannot be destroyed/go out of scope,
until we have reset thd->current_linfo to NULL;
*/
@ -838,7 +838,7 @@ public:
FD - Format-Description event,
R - Rotate event
R_f - the fake Rotate event
E - an arbirary event
E - an arbitrary event
The underscore indexes for any event
`_s' indicates the event is generated by Slave

View File

@ -350,7 +350,7 @@ int binlog_buf_compress(const uchar *src, uchar *dst, uint32 len, uint32 *comlen
@Note:
1) The caller should call my_free to release 'dst' if *is_malloc is
returned as true.
2) If *is_malloc is retuened as false, then 'dst' reuses the passed-in
2) If *is_malloc is returned as false, then 'dst' reuses the passed-in
'buf'.
return zero if successful, non-zero otherwise.
@ -1659,9 +1659,9 @@ Query_log_event::Query_log_event(const uchar *buf, uint event_len,
+--------+-----------+------+------+---------+----+-------+
To support the query cache we append the following buffer to the above
+-------+----------------------------------------+-------+
|db len | uninitiatlized space of size of db len | FLAGS |
+-------+----------------------------------------+-------+
+-------+---------------------------------------+-------+
|db len | uninitialized space of size of db len | FLAGS |
+-------+---------------------------------------+-------+
The area of buffer starting from Query field all the way to the end belongs
to the Query buffer and its structure is described in alloc_query() in
@ -2336,7 +2336,7 @@ Format_description_log_event::is_version_before_checksum(const master_version_sp
@return the version-safe checksum alg descriptor where zero
designates no checksum, 255 - the orginator is
checksum-unaware (effectively no checksum) and the actuall
checksum-unaware (effectively no checksum) and the actual
[1-254] range alg descriptor.
*/
enum_binlog_checksum_alg get_checksum_alg(const uchar *buf, ulong len)
@ -2499,7 +2499,7 @@ Gtid_log_event::Gtid_log_event(const uchar *buf, uint event_len,
{
flags_extra= *buf++;
/*
extra engines flags presence is identifed by non-zero byte value
extra engines flags presence is identified by non-zero byte value
at this point
*/
if (flags_extra & FL_EXTRA_MULTI_ENGINE_E1)
@ -2626,7 +2626,7 @@ Gtid_list_log_event::Gtid_list_log_event(const uchar *buf, uint event_len,
/*
Used to record gtid_list event while sending binlog to slave, without having to
fully contruct the event object.
fully construct the event object.
*/
bool
Gtid_list_log_event::peek(const char *event_start, size_t event_len,

View File

@ -517,7 +517,7 @@ class String;
Flag sets by the semisync slave for accepting
the same server_id ("own") events which the slave must not have
in its state. Typically such events were never committed by
their originator (this server) and discared at its semisync-slave recovery.
their originator (this server) and discarded at its semisync-slave recovery.
*/
#define LOG_EVENT_ACCEPT_OWN_F 0x4000
@ -2305,7 +2305,7 @@ public: /* !!! Public in this patch to allow old usage */
binlogged with comments in the front of these keywords. for examples:
/ * bla bla * / SAVEPOINT a;
/ * bla bla * / ROLLBACK TO a;
but we don't handle these cases and after the patch, both quiries are
but we don't handle these cases and after the patch, both queries are
binlogged in upper case with no comments.
*/
return is_xa ? !strncasecmp(query, C_STRING_WITH_LEN("XA "))
@ -2877,7 +2877,7 @@ private:
when @c one_phase member is off. The latter option is only for
compatibility with the upstream.
From the groupping perspective the event finalizes the current
From the grouping perspective the event finalizes the current
"prepare" group that is started with Gtid_log_event similarly to the
regular replicated transaction.
*/
@ -4210,7 +4210,7 @@ class table_def;
<td>signedness of numeric colums. This is included for all values of
binlog_row_metadata.</td>
<td>For each numeric column, a bit indicates whether the numeric
colunm has unsigned flag. 1 means it is unsigned. The number of
column has unsigned flag. 1 means it is unsigned. The number of
bytes needed for this is int((column_count + 7) / 8). The order is
the same as the order of column_type field.</td>
</tr>

View File

@ -1204,7 +1204,7 @@ void Rows_log_event::change_to_flashback_event(PRINT_EVENT_INFO *print_event_inf
{
if (!bi_fields)
{
// Both bi and ai inclues all columns, Swap WHERE and SET Part
// Both bi and ai include all columns, Swap WHERE and SET Part
memcpy(one_row.str, start_pos + length1, length2);
memcpy(one_row.str+length2, start_pos, length1);
}
@ -2748,7 +2748,7 @@ const char fmt_binlog2[]= "BINLOG @binlog_fragment_0, @binlog_fragment_1%s\n";
SQL cover.
@param delimiter delimiter string
@param is_verbose MDEV-10362 workraround parameter to pass
@param is_verbose MDEV-10362 workaround parameter to pass
info on presence of verbose printout in cache encoded data
The function signals on any error through setting @c body->error to -1.
@ -3291,7 +3291,7 @@ Table_map_log_event::Charset_iterator::create_charset_iterator(
@param[in|out] meta_ptr the meta_ptr of the column. If the type doesn't have
metadata, it will not change meta_ptr, otherwise
meta_ptr will be moved to the end of the column's
metadat.
metadata.
@param[in] cs charset of the column if it is a character column.
@param[out] typestr buffer to storing the string name of the type
@param[in] typestr_length length of typestr

View File

@ -765,7 +765,7 @@ int Log_event_writer::write_header(uchar *pos, size_t len)
/*
recording checksum of FD event computed with dropped
possibly active LOG_EVENT_BINLOG_IN_USE_F flag.
Similar step at verication: the active flag is dropped before
Similar step at verification: the active flag is dropped before
checksum computing.
*/
if (checksum_len)
@ -1666,7 +1666,7 @@ int Query_log_event::handle_split_alter_query_log_event(rpl_group_info *rgi,
if (is_CA)
{
/*
error handeling, direct_commit_alter is turned on, so that we dont
error handling, direct_commit_alter is turned on, so that we dont
wait for master reply in mysql_alter_table (in wait_for_master)
*/
rgi->direct_commit_alter= true;
@ -2217,7 +2217,7 @@ compare_errors:
else if (actual_error == ER_XAER_NOTA && !rpl_filter->db_ok(get_db()))
{
/*
If there is an XA query whos XID cannot be found, if the replication
If there is an XA query whose XID cannot be found, if the replication
filter is active and filters the target database, assume that the XID
cache has been cleared (e.g. by server restart) since it was prepared,
so we can just ignore this event.
@ -2930,7 +2930,7 @@ Gtid_log_event::Gtid_log_event(THD *thd_arg, uint64 seq_no_arg,
/*
Used to record GTID while sending binlog to slave, without having to
fully contruct every Gtid_log_event() needlessly.
fully construct every Gtid_log_event() needlessly.
*/
bool
Gtid_log_event::peek(const uchar *event_start, size_t event_len,
@ -5468,7 +5468,7 @@ static int rows_event_stmt_cleanup(rpl_group_info *rgi, THD * thd)
/**
The method either increments the relay log position or
commits the current statement and increments the master group
possition if the event is STMT_END_F flagged and
position if the event is STMT_END_F flagged and
the statement corresponds to the autocommit query (i.e replicated
without wrapping in BEGIN/COMMIT)
@ -6620,7 +6620,7 @@ Write_rows_log_event::do_before_row_operations(const rpl_group_info *)
/*
* Fixed Bug#45999, In RBR, Store engine of Slave auto-generates new
* sequence numbers for auto_increment fields if the values of them are 0.
* If generateing a sequence number is decided by the values of
* If generating a sequence number is decided by the values of
* table->auto_increment_field_not_null and SQL_MODE(if includes
* MODE_NO_AUTO_VALUE_ON_ZERO) in update_auto_increment function.
* SQL_MODE of slave sql thread is always consistency with master's.
@ -6806,7 +6806,7 @@ is_duplicate_key_error(int errcode)
The row to be inserted can contain values only for selected columns. The
missing columns are filled with default values using @c prepare_record()
function. If a matching record is found in the table and @c overwritte is
function. If a matching record is found in the table and @c overwrite is
true, the missing columns are taken from it.
@param rli Relay log info (needed for row unpacking).
@ -7374,7 +7374,7 @@ uint Rows_log_event::find_key_parts(const KEY *key) const
Find the best key to use when locating the row in @c find_row().
A primary key is preferred if it exists; otherwise a unique index is
preferred. Else we pick the index with the smalles rec_per_key value.
preferred. Else we pick the index with the smallest rec_per_key value.
If a suitable key is found, set @c m_key, @c m_key_nr, @c m_key_info,
and @c m_usable_key_parts member fields appropriately.

View File

@ -19,7 +19,7 @@
are always included first.
It can also be used to speed up compilation by using precompiled headers.
This file should include a minum set of header files used by all files
This file should include a minimum set of header files used by all files
and header files that are very seldom changed.
It can also include some defines that all files should be aware of.
*/

View File

@ -538,7 +538,7 @@ public:
/*
In backup namespace DML/DDL may starve because of concurrent FTWRL or
BACKUP statements. This scenario is partically useless in real world,
BACKUP statements. This scenario is practically useless in real world,
so we just return 0 here.
*/
bitmap_t hog_lock_types_bitmap() const override

View File

@ -28,7 +28,7 @@
One can change info->pos_in_file to a higher value to skip bytes in file if
also info->read_pos is set to info->read_end.
If called through open_cached_file(), then the temporary file will
only be created if a write exeeds the file buffer or if one calls
only be created if a write exceeds the file buffer or if one calls
flush_io_cache().
*/

View File

@ -1420,7 +1420,7 @@ int DsMrr_impl::setup_two_handlers()
{
DBUG_ASSERT(secondary_file && secondary_file->inited==handler::INDEX);
/*
We get here when the access alternates betwen MRR scan(s) and non-MRR
We get here when the access alternates between MRR scan(s) and non-MRR
scans.
Calling primary_file->index_end() will invoke dsmrr_close() for this

View File

@ -157,7 +157,7 @@ public:
/*
Buffer manager interface. Mrr_reader objects use it to inqure DsMrr_impl
Buffer manager interface. Mrr_reader objects use it to inquire DsMrr_impl
to manage buffer space for them.
*/
typedef struct st_buffer_manager

View File

@ -23,7 +23,7 @@
- This is an APC request queue
- We assume there is a particular owner thread which periodically calls
process_apc_requests() to serve the call requests.
- Other threads can post call requests, and block until they are exectued.
- Other threads can post call requests, and block until they are executed.
)
Implementation
@ -31,7 +31,7 @@
- The target has a mutex-guarded request queue.
- After the request has been put into queue, the requestor waits for request
to be satisfied. The worker satisifes the request and signals the
to be satisfied. The worker satisfies the request and signals the
requestor.
*/

View File

@ -53,8 +53,8 @@ using JOIN_TAB= struct st_join_table;
arrayName : [ "boo", 123, 456 ]
and actually print them on one line. Arrrays that occupy too much space on
the line, or have nested members cannot be printed on one line.
and actually print them on one line. Arrays that occupy too much space on
the line, or have nested members, cannot be printed on one line.
We hook into JSON printing functions and try to detect the pattern. While
detecting the pattern, we will accumulate "boo", 123, 456 as strings.
@ -76,7 +76,7 @@ class Single_line_formatting_helper
};
/*
This works like a finite automaton.
This works like a finite automation.
state=DISABLED means the helper is disabled - all on_XXX functions will
return false (which means "not handled") and do nothing.
@ -738,7 +738,7 @@ public:
/*
RAII-based class to disable writing into the JSON document
The tracing is disabled as soon as the object is created.
The destuctor is called as soon as we exit the scope of the object
The destructor is called as soon as we exit the scope of the object
and the tracing is enabled back.
*/
@ -754,7 +754,7 @@ public:
RAII-based helper class to detect incorrect use of Json_writer.
The idea is that a function typically must leave Json_writer at the same
identation level as it was when it was invoked. Leaving it at a different
indentation level as it was when it was invoked. Leaving it at a different
level typically means we forgot to close an object or an array
So, here is a way to guard

View File

@ -1909,7 +1909,7 @@ extern "C" void unireg_abort(int exit_code)
{
/*
This is an abort situation, we cannot expect to gracefully close all
wsrep threads here, we can only diconnect from service
wsrep threads here, we can only disconnect from service
*/
wsrep_close_client_connections(FALSE);
Wsrep_server_state::instance().disconnect();
@ -3897,7 +3897,7 @@ static const char *rpl_make_log_name(PSI_memory_key key, const char *opt,
MY_REPLACE_EXT | MY_UNPACK_FILENAME | MY_SAFE_PATH;
/* mysql_real_data_home_ptr may be null if no value of datadir has been
specified through command-line or througha cnf file. If that is the
specified through command-line or through a cnf file. If that is the
case we make mysql_real_data_home_ptr point to mysql_real_data_home
which, in that case holds the default path for data-dir.
*/
@ -4251,7 +4251,7 @@ static int init_common_variables()
SYSVAR_AUTOSIZE(back_log, MY_MIN(900, (50 + max_connections / 5)));
}
unireg_init(opt_specialflag); /* Set up extern variabels */
unireg_init(opt_specialflag); /* Set up extern variables */
if (!(my_default_lc_messages=
my_locale_by_name(Lex_cstring_strlen(lc_messages))))
{
@ -4341,7 +4341,7 @@ static int init_common_variables()
}
default_charset_info= default_collation;
}
/* Set collactions that depends on the default collation */
/* Set collations that depend on the default collation */
global_system_variables.collation_server= default_charset_info;
global_system_variables.collation_database= default_charset_info;
if (is_supported_parser_charset(default_charset_info))
@ -5193,7 +5193,7 @@ static int init_server_components()
if (WSREP_ON && !wsrep_recovery && !opt_abort)
{
if (opt_bootstrap) // bootsrap option given - disable wsrep functionality
if (opt_bootstrap) // bootstrap option given - disable wsrep functionality
{
wsrep_provider_init(WSREP_NONE);
if (wsrep_init())
@ -5749,7 +5749,7 @@ static void run_main_loop()
int mysqld_main(int argc, char **argv)
{
#ifndef _WIN32
/* We can't close stdin just now, because it may be booststrap mode. */
/* We can't close stdin just now, because it may be in bootstrap mode. */
bool please_close_stdin= fcntl(STDIN_FILENO, F_GETFD) >= 0;
#endif
@ -8791,7 +8791,7 @@ static int get_options(int *argc_ptr, char ***argv_ptr)
/*
Options have been parsed. Now some of them need additional special
handling, like custom value checking, checking of incompatibilites
handling, like custom value checking, checking of incompatibilities
between options, setting of multiple variables, etc.
Do them here.
*/
@ -8956,7 +8956,7 @@ static int get_options(int *argc_ptr, char ***argv_ptr)
/*
It looks like extra_connection_count should be passed here but
its been using connection_count for the last 10+ years and
no-one was requested a change so lets not suprise anyone.
no-one has requested a change so lets not surprise anyone.
*/
one_thread_scheduler(extra_thread_scheduler, &connection_count);
#else
@ -9345,7 +9345,7 @@ void refresh_global_status()
*/
reset_status_vars();
/*
Reset accoumulated thread's status variables.
Reset accumulated thread's status variables.
These are the variables in 'status_vars[]' with the prefix _STATUS.
*/
bzero(&global_status_var, clear_for_flush_status);
@ -9393,7 +9393,7 @@ void refresh_status_legacy(THD *thd)
reset_pfs_status_stats();
#endif
/* Add thread's status variabes to global status */
/* Add thread's status variables to global status */
add_to_status(&global_status_var, &thd->status_var);
/* Reset thread's status variables */

View File

@ -98,7 +98,7 @@ extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *national_charset_info;
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *table_alias_charset;
/**
Character set of the buildin error messages loaded from errmsg.sys.
Character set of the builtin error messages loaded from errmsg.sys.
*/
extern CHARSET_INFO *error_message_charset_info;

View File

@ -548,7 +548,7 @@ bool read_hex_bucket_endpoint(json_engine_t *je, Field *field, String *out,
/*
@brief Parse a JSON reprsentation for one histogram bucket
@brief Parse a JSON representation for one histogram bucket
@param je The JSON parser object
@param field Table field we are using histogram (used to convert

View File

@ -58,7 +58,7 @@ bool uses_index_fields_only(Item *item, TABLE *tbl, uint keyno,
/*
Don't push down the triggered conditions. Nested outer joins execution
code may need to evaluate a condition several times (both triggered and
untriggered), and there is no way to put thi
untriggered), and there is no way to put this
TODO: Consider cloning the triggered condition and using the copies for:
1. push the first copy down, to have most restrictive index condition
possible

View File

@ -312,7 +312,7 @@ public:
longlong baseflag;
uint max_key_parts, range_count;
bool quick; // Don't calulate possible keys
bool quick; // Don't calculate possible keys
uint fields_bitmap_size;
MY_BITMAP needed_fields; /* bitmask of fields needed by the query */
@ -1029,7 +1029,7 @@ int imerge_list_or_list(RANGE_OPT_PARAM *param,
tree SEL_TREE whose range part is to be ored with the imerges
DESCRIPTION
For each imerge mi from the list 'merges' the function performes OR
For each imerge mi from the list 'merges' the function performs OR
operation with mi and the range part of 'tree' rt, producing one or
two imerges.
@ -2690,7 +2690,7 @@ static int fill_used_fields_bitmap(PARAM *param)
TODO
* Change the value returned in opt_range_condition_rows from a pessimistic
estimate to true E(#rows that satisfy table condition).
(we can re-use some of E(#rows) calcuation code from
(we can re-use some of E(#rows) calculation code from
index_merge/intersection for this)
* Check if this function really needs to modify keys_to_use, and change the
@ -4054,7 +4054,7 @@ typedef struct st_part_prune_param
partitioning index definition doesn't include partitioning fields.
*/
int last_part_partno;
int last_subpart_partno; /* Same as above for supartitioning */
int last_subpart_partno; /* Same as above for subpartitioning */
/*
is_part_keypart[i] == MY_TEST(keypart #i in partitioning index is a member
@ -4065,7 +4065,7 @@ typedef struct st_part_prune_param
/* Same as above for subpartitioning */
my_bool *is_subpart_keypart;
my_bool ignore_part_fields; /* Ignore rest of partioning fields */
my_bool ignore_part_fields; /* Ignore rest of partitioning fields */
/***************************************************************
Following fields form find_used_partitions() recursion context:
@ -4819,7 +4819,7 @@ int find_used_partitions(PART_PRUNE_PARAM *ppar, SEL_ARG *key_tree)
res= 0; /* No satisfying partitions */
goto pop_and_go_right;
}
/* Rembember the limit we got - single partition #part_id */
/* Remember the limit we got - single partition #part_id */
init_single_partition_iterator(part_id, &ppar->part_iter);
/*
@ -4864,7 +4864,7 @@ int find_used_partitions(PART_PRUNE_PARAM *ppar, SEL_ARG *key_tree)
{
/*
Can't handle condition on current key part. If we're that deep that
we're processing subpartititoning's key parts, this means we'll not be
we're processing subpartitioning's key parts, this means we'll not be
able to infer any suitable condition, so bail out.
*/
if (key_tree_part >= ppar->last_part_partno)
@ -5704,7 +5704,7 @@ skip_to_ror_scan:
indexes are to be merges
read_time The upper bound for the cost of the plan to be evaluated
DESRIPTION
DESCRIPTION
For the given index merge plan imerge_trp extracted from the SEL_MERGE
imerge the function looks for range scans with the same indexes and merges
them into SEL_ARG trees. Then for each such SEL_ARG tree r_i the function
@ -5812,7 +5812,7 @@ TABLE_READ_PLAN *merge_same_index_scans(PARAM *param, SEL_IMERGE *imerge,
/*
This structure contains the info common for all steps of a partial
index intersection plan. Morever it contains also the info common
index intersection plan. Moreover it contains also the info common
for index intersect plans. This info is filled in by the function
prepare_search_best just before searching for the best index
intersection plan.
@ -5839,7 +5839,7 @@ typedef struct st_common_index_intersect_info
ha_rows best_records;
uint best_length; /* number of indexes in the current best intersection */
INDEX_SCAN_INFO **best_intersect; /* the current best index intersection */
/* scans from the best intersect to be filtrered by cpk conditions */
/* scans from the best intersect to be filtered by cpk conditions */
key_map filtered_scans;
uint *buff_elems; /* buffer to calculate cost of index intersection */
@ -6384,7 +6384,7 @@ bool prepare_search_best_index_intersect(PARAM *param,
the function returns a number bigger than #r.
NOTES
See the comment before the desription of the function that explains the
See the comment before the description of the function that explains the
reasoning used by this function.
RETURN
@ -6465,7 +6465,7 @@ double get_cpk_filter_cost(ha_rows filtered_records,
/*
Check whether a patial index intersection plan can be extended
Check whether a partial index intersection plan can be extended
SYNOPSIS
check_index_intersect_extension()
@ -6616,7 +6616,7 @@ bool check_index_intersect_extension(THD *thd,
}
/*
The cost after sweeep can be bigger than cutoff, but that is ok as the
The cost after sweep can be bigger than cutoff, but that is ok as the
end cost can decrease when we add the next index.
*/
cost+= get_sweep_read_cost(common_info->param, rows2double(records), 1);
@ -8110,7 +8110,7 @@ QUICK_SELECT_I *TRP_ROR_UNION::make_quick(PARAM *param,
cond_func item for the predicate
field field in the predicate
lt_value constant that field should be smaller
gt_value constant that field should be greaterr
gt_value constant that field should be greater
RETURN
# Pointer to tree built tree
@ -8289,7 +8289,7 @@ SEL_TREE *Item_func_in::get_func_mm_tree(RANGE_OPT_PARAM *param,
/*
if this is a "col1 NOT IN (...)", and there is a UNIQUE KEY(col1), do
not constuct a SEL_TREE from it. The rationale is as follows:
not construct a SEL_TREE from it. The rationale is as follows:
- if there are only a few constants, this condition is not selective
(unless the table is also very small in which case we won't gain
anything)
@ -8381,7 +8381,7 @@ SEL_TREE *Item_func_in::get_func_mm_tree(RANGE_OPT_PARAM *param,
{
/*
Get the SEL_TREE for the last "c_last < X < +inf" interval
(value_item cotains c_last already)
(value_item contains c_last already)
*/
tree2= get_mm_parts(param, field, Item_func::GT_FUNC, value_item);
tree= tree_or(param, tree, tree2);
@ -9353,7 +9353,7 @@ Item_func_null_predicate::get_mm_leaf(RANGE_OPT_PARAM *param,
DBUG_ENTER("Item_func_null_predicate::get_mm_leaf");
DBUG_ASSERT(!value);
/*
No check for field->table->maybe_null. It's perfecly fine to use range
No check for field->table->maybe_null. It's perfectly fine to use range
access for cases like
SELECT * FROM t1 LEFT JOIN t2 ON t2.key IS [NOT] NULL
@ -10691,7 +10691,7 @@ key_and(RANGE_OPT_PARAM *param, SEL_ARG *key1, SEL_ARG *key2, uint clone_flag)
new_tree=new_tree->insert(new_arg);
}
if (e1->cmp_max_to_max(e2) < 0)
e1=e1->next; // e1 can't overlapp next e2
e1=e1->next; // e1 can't overlap next e2
else
e2=e2->next;
}
@ -10807,7 +10807,7 @@ SEL_ARG *key_and_with_limit(RANGE_OPT_PARAM *param, uint keyno,
transformation is key_or( expr1, expr2 ) => expr1 OR expr2.
Both expressions are assumed to be in the SEL_ARG format. In a logic sense,
theformat is reminiscent of DNF, since an expression such as the following
the format is reminiscent of DNF, since an expression such as the following
( 1 < kp1 < 10 AND p1 ) OR ( 10 <= kp2 < 20 AND p2 )
@ -10833,7 +10833,7 @@ SEL_ARG *key_and_with_limit(RANGE_OPT_PARAM *param, uint keyno,
If the predicates are equal for the rest of the keyparts, or if there are
no more, the range in expr2 has its endpoints copied in, and the SEL_ARG
node in expr2 is deallocated. If more ranges became connected in expr1, the
surplus is also dealocated. If they differ, two ranges are created.
surplus is also deallocated. If they differ, two ranges are created.
- The range leading up to the overlap. Empty if endpoints are equal.
@ -10929,7 +10929,7 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2)
Ambiguity: ***
The range starts or stops somewhere in the "***" range.
Example: a starts before b and may end before/the same plase/after b
Example: a starts before b and may end before/the same place/after b
a: [----***]
b: [---]
@ -12329,7 +12329,7 @@ ha_rows check_quick_select(PARAM *param, uint idx, ha_rows limit,
estimates may be slightly out of sync.
We cannot do this easily in the above multi_range_read_info_const()
call as then we would need to have similar adjustmends done
call as then we would need to have similar adjustments done
in the partitioning engine.
*/
rows= MY_MAX(table_records, 1);
@ -12378,7 +12378,7 @@ ha_rows check_quick_select(PARAM *param, uint idx, ha_rows limit,
else if (param->range_count > 1)
{
/*
Scaning multiple key values in the index: the records are ROR
Scanning multiple key values in the index: the records are ROR
for each value, but not between values. E.g, "SELECT ... x IN
(1,3)" returns ROR order for all records with x=1, then ROR
order for records with x=3
@ -16070,7 +16070,7 @@ bool QUICK_GROUP_MIN_MAX_SELECT::add_range(SEL_ARG *sel_range)
are more keyparts to follow the ones we are using we must make the
condition on the key inclusive (because x < "ab" means
x[0] < 'a' OR (x[0] == 'a' AND x[1] < 'b').
To achive the above we must turn off the NEAR_MIN/NEAR_MAX
To achieve the above we must turn off the NEAR_MIN/NEAR_MAX
*/
void QUICK_GROUP_MIN_MAX_SELECT::adjust_prefix_ranges ()
{
@ -16407,7 +16407,7 @@ int QUICK_GROUP_MIN_MAX_SELECT::next_max()
/**
Find the next different key value by skiping all the rows with the same key
Find the next different key value by skipping all the rows with the same key
value.
Implements a specialized loose index access method for queries
@ -17460,7 +17460,7 @@ static void print_key_value(String *out, const KEY_PART_INFO *key_part,
}
/**
Print key parts involed in a range
Print key parts involved in a range
@param[out] out String the key is appended to
@param[in] key_part Index components description
@param[in] n_keypart Number of keyparts in index

View File

@ -110,10 +110,10 @@
@detail
'foo' here can be any constant we can compute during optimization,
Only equality conditions are supported.
See SargableLeft above for detals.
See SargableLeft above for details.
@param field The first argument of LEFT or SUBSTRING if sargable,
otherwise deferenced to NULL
otherwise dereferenced to NULL
@param value_idx The index of argument that is the prefix string
if sargable, otherwise dereferenced to -1
*/

View File

@ -83,7 +83,7 @@
are evaluated then the optimizer should consider pushing t.a = t1.a,
t.b = t2.b and (t.a = t1.a AND t.b = t2.b) to choose the best condition
for splitting. Apparently here last condition is the best one because
it provides the miximum possible number of partitions.
it provides the minimum possible number of partitions.
If we dropped the index on t3(a,b) and created the index on t3(a) instead
then we would have two options for splitting: to push t.a = t1.a or to
@ -160,7 +160,7 @@
The set of all rows belonging to the union of several partitions is called
here superpartition. If a grouping operation is defined by the list
e_1,...,e_n then any set S = {e_i1,...,e_ik} can be used to devide all rows
into superpartions such that for any two rows r1, r2 the following holds:
into superpartitions such that for any two rows r1, r2 the following holds:
e_ij(r1) = e_ij(r2) for each e_ij from S. We use the splitting technique
only if S consists of references to colums of the joined tables.
For example if the GROUP BY list looks like this a, g(b), c we can consider

View File

@ -345,7 +345,7 @@ with the first one:
When SJM nests are present, we should take care not to construct equalities
that violate the (SJM-RULE). This is achieved by generating separate sets of
equalites for top-level tables and for inner tables. That is, for the join
equalities for top-level tables and for inner tables. That is, for the join
order
ot1 - ot2 --\ /--- ot3 -- ot5
@ -546,7 +546,7 @@ bool is_materialization_applicable(THD *thd, Item_in_subselect *in_subs,
The disjunctive members
!((Sql_cmd_update *) cmd)->is_multitable()
!((Sql_cmd_delete *) cmd)->is_multitable()
will be removed when conversions of IN predicands to semi-joins are
will be removed when conversions of IN predicants to semi-joins are
fully supported for single-table UPDATE/DELETE statements.
*/
@ -1984,7 +1984,7 @@ static bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred)
else if (left_exp->type() == Item::ROW_ITEM)
{
/*
disassemple left expression and add
disassemble left expression and add
left1 = select_list_element1 and left2 = select_list_element2 ...
*/
for (uint i= 0; i < ncols; i++)
@ -3041,7 +3041,7 @@ void optimize_semi_joins(JOIN *join, table_map remaining_tables, uint idx,
1. strategy X removes fanout for semijoin X,Y
2. using strategy Z is cheaper, but it only removes
fanout from semijoin X.
3. We have no clue what to do about fanount of semi-join Y.
3. We have no clue what to do about fanout of semi-join Y.
For the first iteration read_time will always be bigger than
*current_read_time (as the 'strategy' is an addition to the
@ -3057,7 +3057,7 @@ void optimize_semi_joins(JOIN *join, table_map remaining_tables, uint idx,
DBUG_ASSERT(pos->sj_strategy != sj_strategy);
/*
If the strategy chosen first time or
the strategy replace strategy which was used to exectly the same
the strategy replace strategy which was used to exactly the same
tables
*/
if (pos->sj_strategy == SJ_OPT_NONE ||
@ -3093,7 +3093,7 @@ void optimize_semi_joins(JOIN *join, table_map remaining_tables, uint idx,
(*prev_strategy)->set_empty();
dups_producing_tables= prev_dups_producing_tables;
join->sjm_lookup_tables= prev_sjm_lookup_tables;
// mark it 'none' to avpoid loops
// mark it 'none' to avoid loops
pos->sj_strategy= SJ_OPT_NONE;
// next skip to last;
strategy= pickers +
@ -3149,7 +3149,7 @@ void optimize_semi_joins(JOIN *join, table_map remaining_tables, uint idx,
Update JOIN's semi-join optimization state after the join tab new_tab
has been added into the join prefix.
@seealso restore_prev_sj_state() does the reverse actoion
@seealso restore_prev_sj_state() does the reverse action
*/
void update_sj_state(JOIN *join, const JOIN_TAB *new_tab,
@ -4326,7 +4326,7 @@ uint get_number_of_tables_at_top_level(JOIN *join)
Setup execution structures for one semi-join materialization nest:
- Create the materialization temporary table
- If we're going to do index lookups
create TABLE_REF structure to make the lookus
create TABLE_REF structure to make the lookups
- else (if we're going to do a full scan of the temptable)
create Copy_field structures to do copying.
@ -5360,7 +5360,7 @@ int setup_semijoin_loosescan(JOIN *join)
application of FirstMatch strategy, with the exception that
outer IN-correlated tables are considered to be non-correlated.
(4) - THe suffix of outer and outer non-correlated tables.
(4) - The suffix of outer and outer non-correlated tables.
The choice between the strategies is made by the join optimizer (see
@ -5984,7 +5984,7 @@ enum_nested_loop_state join_tab_execution_startup(JOIN_TAB *tab)
Create a dummy temporary table, useful only for the sake of having a
TABLE* object with map,tablenr and maybe_null properties.
This is used by non-mergeable semi-join materilization code to handle
This is used by non-mergeable semi-join materialization code to handle
degenerate cases where materialized subquery produced "Impossible WHERE"
and thus wasn't materialized.
*/
@ -6557,7 +6557,7 @@ bool setup_degenerate_jtbm_semi_joins(JOIN *join,
The function saves the equalities between all pairs of the expressions
from the left part of the IN subquery predicate and the corresponding
columns of the subquery from the predicate in eq_list appending them
to the list. The equalities of eq_list will be later conjucted with the
to the list. The equalities of eq_list will be later conjuncted with the
condition of the WHERE clause.
In the case when a table is nested in another table 'nested_join' the
@ -7031,7 +7031,7 @@ bool JOIN::choose_tableless_subquery_plan()
}
/*
For IN subqueries, use IN->EXISTS transfomation, unless the subquery
For IN subqueries, use IN->EXISTS transformation, unless the subquery
has been converted to a JTBM semi-join. In that case, just leave
everything as-is, setup_jtbm_semi_joins() has special handling for cases
like this.

View File

@ -144,7 +144,7 @@
The algorithm starts with equality nodes that don't have any incoming edges
(their expressions are either constant or depend only on tables that are
outside of the outer join in question) and performns a breadth-first
outside of the outer join in question) and performs a breadth-first
traversal. If we reach the outer join nest node, it means outer join is
functionally dependent and can be eliminated. Otherwise it cannot be
eliminated.
@ -332,7 +332,7 @@ private:
public:
/* Space for field iterator */
char buf[Dep_value_field::iterator_size];
/* !NULL <=> iterating over depdenent modules of this field */
/* !NULL <=> iterating over dependent modules of this field */
Dep_value_field *field_dep;
bool returned_goal;
};
@ -383,7 +383,7 @@ protected:
uint unbound_args;
Dep_module() : unbound_args(0) {}
/* to bump unbound_args when constructing depedendencies */
/* to bump unbound_args when constructing dependencies */
friend class Field_dependency_recorder;
friend class Dep_analysis_context;
};
@ -877,7 +877,7 @@ eliminate_tables_for_list(JOIN *join, List<TABLE_LIST> *join_list,
SYNOPSIS
check_func_dependency()
join Join we're procesing
join Join we're processing
dep_tables Tables that we check to be functionally dependent (on
everything else)
it Iterator that enumerates these tables, or NULL if we're
@ -1334,8 +1334,8 @@ void build_eq_mods_for_cond(THD *thd, Dep_analysis_context *ctx,
multiple-equality. Do two things:
- Collect List<Dep_value_field> of tblX.colY where tblX is one of the
tables we're trying to eliminate.
- rembember if there was a bound value, either const_expr or tblY.colZ
swher tblY is not a table that we're trying to eliminate.
- remember if there was a bound value, either const_expr or tblY.colZ
where tblY is not a table that we're trying to eliminate.
Store all collected information in a Dep_module_expr object.
*/
Item_equal *item_equal= (Item_equal*)cond;
@ -1400,7 +1400,7 @@ void build_eq_mods_for_cond(THD *thd, Dep_analysis_context *ctx,
$LEFT_PART OR $RIGHT_PART
condition. This is achieved as follows: First, we apply distrubutive law:
condition. This is achieved as follows: First, we apply distributive law:
(fdep_A_1 AND fdep_A_2 AND ...) OR (fdep_B_1 AND fdep_B_2 AND ...) =
@ -1846,7 +1846,7 @@ Dep_value_field *Dep_analysis_context::get_field_value(Field *field)
/*
Iteration over unbound modules that are our dependencies.
for those we have:
- dependendencies of our fields
- dependencies of our fields
- outer join we're in
*/
char *Dep_value_table::init_unbound_modules_iter(char *buf)

View File

@ -84,7 +84,7 @@ ST_FIELD_INFO optimizer_trace_info[]=
/*
TODO: one-line needs to be implemented seperately
TODO: one-line needs to be implemented separately
*/
const char *Opt_trace_context::flag_names[]= {"enabled", "default",
NullS};

View File

@ -42,7 +42,7 @@ private:
0 <=> this trace should be in information_schema.
!=0 tracing is disabled, this currently happens when we want to trace a
sub-statement. For now traces are only collect for the top statement
not for the sub-statments.
not for the sub-statements.
*/
uint I_S_disabled;
};

View File

@ -29,9 +29,9 @@
@file
@brief
Virtual Column Substitution feature makes the optimizer recongize usage of
Virtual Column Substitution feature makes the optimizer recognize usage of
virtual column expressions in the WHERE/ON clauses. If there is an index
on the virtual column, the optimizer is able construct query plans that
on the virtual column, the optimizer is able to construct query plans that
use that index.
*/
@ -369,7 +369,7 @@ void subst_vcol_if_compatible(Vcol_subst_context *ctx,
/*
@brief
Do a quick and imprecise check if it makes sense to try Virtual Column
Substitutiion transformation for this item.
Substitution transformation for this item.
@detail
For vcol_expr='FOO' the item to be trans formed is the comparison item

View File

@ -102,7 +102,7 @@ extern OPTIMIZER_COSTS heap_optimizer_costs, tmp_table_optimizer_costs;
A factor of 0.1 makes the cost of get_pq_sort_cost(10, 10, false) =0.52
(Reading 10 rows into a priority queue of 10 elements).
One consenquence if this factor is too high is that priority_queue will
One consequence if this factor is too high is that priority_queue will
not use addon fields (to solve the sort without having to do an extra
re-read of rows) even if the number of LIMIT is low.
*/

View File

@ -43,7 +43,7 @@
Cost of copying a row to 'table->record'.
Used by scan_time() and rnd_pos_time() methods.
If this is too small, then table scans will be prefered over 'ref'
If this is too small, then table scans will be preferred over 'ref'
as with table scans there are no key read (KEY_LOOKUP_COST), fewer
disk reads but more record copying and row comparisions. If it's
too big then MariaDB will used key lookup even when table scan is
@ -55,7 +55,7 @@
Cost of copying the key to 'table->record'
If this is too small, then, for small tables, index scans will be
prefered over 'ref' as with index scans there are fewer disk reads.
preferred over 'ref' as with index scans there are fewer disk reads.
*/
#define DEFAULT_KEY_COPY_COST ((double) 0.000015685)
@ -103,7 +103,7 @@
#define DEFAULT_DISK_READ_COST ((double) IO_SIZE / 400000000.0 * 1000)
/*
The follwoing is an old comment for hard-disks, please ignore the
The following is an old comment for hard-disks, please ignore the
following, except if you like history:
For sequential hard disk seeks the cost formula is:

View File

@ -177,7 +177,7 @@ write_parameter(IO_CACHE *file, const uchar* base, File_option *parameter)
LEX_STRING *val_s= (LEX_STRING *)(base + parameter->offset);
// number of microseconds since Epoch, timezone-independent
my_hrtime_t tm= my_hrtime();
// Paded to 19 characters for compatibility
// Padded to 19 characters for compatibility
val_s->length= snprintf(val_s->str, MICROSECOND_TIMESTAMP_BUFFER_SIZE,
"%019lld", tm.val);
DBUG_ASSERT(val_s->length == MICROSECOND_TIMESTAMP_BUFFER_SIZE-1);

View File

@ -558,7 +558,7 @@ bool partition_info::set_up_defaults_for_partitioning(THD *thd, handler *file,
no parameters
RETURN VALUE
Erroneus field name Error, there are two fields with same name
Erroneous field name Error, there are two fields with same name
NULL Ok, no field defined twice
DESCRIPTION

View File

@ -180,7 +180,7 @@ public:
* lock_partitions - partitions that must be locked (read or write).
Usually read_partitions is the same set as lock_partitions, but
in case of UPDATE the WHERE clause can limit the read_partitions set,
but not neccesarily the lock_partitions set.
but not necessarily the lock_partitions set.
Usage pattern:
* Initialized in ha_partition::open().
* read+lock_partitions is set according to explicit PARTITION,

View File

@ -213,7 +213,7 @@ static inline constexpr privilege_t operator|(privilege_t a, privilege_t b)
}
// Dyadyc bitwise assignment operators
// Dyadic bitwise assignment operators
static inline privilege_t& operator&=(privilege_t &a, privilege_t b)
{
return a= a & b;

View File

@ -18,7 +18,7 @@
@file
Low level functions for storing data to be send to the MySQL client.
The actual communction is handled by the net_xxx functions in net_serv.cc
The actual communication is handled by the net_xxx functions in net_serv.cc
*/
#include "mariadb.h"
@ -64,7 +64,7 @@ bool Protocol_binary::net_store_data(const uchar *from, size_t length)
net_store_data_cs() - extended version with character set conversion.
It is optimized for short strings whose length after
conversion is garanteed to be less than 251, which accupies
conversion is guaranteed to be less than 251, which occupies
exactly one byte to store length. It allows not to use
the "convert" member as a temporary buffer, conversion
is done directly to the "packet" member.
@ -81,7 +81,7 @@ bool Protocol_binary::net_store_data_cs(const uchar *from, size_t length,
#endif
{
uint dummy_errors;
/* Calculate maxumum possible result length */
/* Calculate maximum possible result length */
size_t conv_length= to_cs->mbmaxlen * length / from_cs->mbminlen;
if (conv_length > 250)
@ -482,7 +482,7 @@ bool Protocol::net_send_error_packet(THD *thd, uint sql_errno, const char *err,
We keep a separate version for that range because it's widely used in
libmysql.
uint is used as agrument type because of MySQL type conventions:
uint is used as argument type because of MySQL type conventions:
- uint for 0..65536
- ulong for 0..4294967296
- ulonglong for bigger numbers.

View File

@ -525,7 +525,7 @@ bool is_proxy_protocol_allowed(const sockaddr *addr)
/*
Non-TCP addresses (unix domain socket, windows pipe and shared memory
gets tranlated to TCP4 localhost address.
gets translated to TCP4 localhost address.
Note, that vio remote addresses are initialized with binary zeros
for these protocols (which is AF_UNSPEC everywhere).

View File

@ -656,7 +656,7 @@ Rowid_filter::build_return_code Range_rowid_filter::build()
Binary search in the sorted array of a rowid filter
@param ctxt context of the search
@parab elem rowid / primary key to look for
@param elem rowid / primary key to look for
@details
The function looks for the rowid / primary key ' elem' in this container

View File

@ -101,7 +101,7 @@ rpl_slave_state::record_and_update_gtid(THD *thd, rpl_group_info *rgi)
applied, then the event should be skipped. If not then the event should be
applied.
To avoid two master connections tring to apply the same event
To avoid two master connections trying to apply the same event
simultaneously, only one is allowed to work in any given domain at any point
in time. The associated Relay_log_info object is called the owner of the
domain (and there can be multiple parallel worker threads working in that
@ -1240,7 +1240,7 @@ rpl_slave_state_tostring_cb(rpl_gtid *gtid, void *data)
The state consists of the most recently applied GTID for each domain_id,
ie. the one with the highest sub_id within each domain_id.
Optinally, extra_gtids is a list of GTIDs from the binlog. This is used when
Optionally, extra_gtids is a list of GTIDs from the binlog. This is used when
a server was previously a master and now needs to connect to a new master as
a slave. For each domain_id, if the GTID in the binlog was logged with our
own server_id _and_ has a higher seq_no than what is in the slave state,
@ -2309,7 +2309,7 @@ rpl_binlog_state::drop_domain(DYNAMIC_ARRAY *ids,
Gtid_list_log_event *glev,
char* errbuf)
{
DYNAMIC_ARRAY domain_unique; // sequece (unsorted) of unique element*:s
DYNAMIC_ARRAY domain_unique; // sequence (unsorted) of unique element*:s
rpl_binlog_state::element* domain_unique_buffer[16];
ulong k, l;
const char* errmsg= NULL;

View File

@ -932,7 +932,7 @@ public:
~Intersecting_gtid_event_filter();
/*
Returns TRUE if any filers exclude the gtid, returns FALSE otherwise, i.e.
Returns TRUE if any filters exclude the gtid, returns FALSE otherwise, i.e.
all filters must allow the GTID.
*/
my_bool exclude(rpl_gtid *gtid) override;

View File

@ -55,7 +55,7 @@ injector::transaction::~transaction()
/*
We set the first character to null just to give all the copies of the
start position a (minimal) chance of seening that the memory is lost.
start position a (minimal) chance of seeing that the memory is lost.
All assuming the my_free does not step over the memory, of course.
*/
*the_memory= '\0';

View File

@ -1508,7 +1508,7 @@ bool Master_info_index::remove_master_info(Master_info *mi, bool clear_log_files
{
File index_file_nr;
// Close IO_CACHE and FILE handler fisrt
// Close IO_CACHE and FILE handler first
end_io_cache(&index_file);
my_close(index_file.file, MYF(MY_WME));

View File

@ -395,7 +395,7 @@ class Master_info : public Slave_reporting_capability
Flag is raised at the parallel worker slave stop. Its purpose
is to mark the whole start_alter_list when slave stops.
The flag is read by Start Alter event to self-mark its state accordingly
at time its alter info struct is about to be appened to the list.
at time its alter info struct is about to be appended to the list.
*/
bool is_shutdown= false;

View File

@ -2534,7 +2534,7 @@ idx_found:
if(flags_extra & (Gtid_log_event::FL_COMMIT_ALTER_E1 |
Gtid_log_event::FL_ROLLBACK_ALTER_E1 ))
{
//Free the corrosponding rpt current_start_alter_id
//Free the corresponding rpt current_start_alter_id
for(uint i= 0; i < e->rpl_thread_max; i++)
{
if(e->rpl_threads[i].thr &&

View File

@ -1073,7 +1073,7 @@ void Relay_log_info::inc_group_relay_log_pos(ulonglong log_pos,
value which would lead to badly broken replication.
Even the relay_log_pos will be corrupted in this case, because the len is
the relay log is not "val".
With the end_log_pos solution, we avoid computations involving lengthes.
With the end_log_pos solution, we avoid computations involving length.
*/
mysql_cond_broadcast(&data_cond);
if (!skip_lock)
@ -1286,7 +1286,7 @@ err:
compare them each time this function is called, we only need to do this
when current log name changes. If we have UNTIL_MASTER_POS condition we
need to do this only after Rotate_log_event::do_apply_event() (which is
rare, so caching gives real benifit), and if we have UNTIL_RELAY_POS
rare, so caching gives real benefit), and if we have UNTIL_RELAY_POS
condition then we should invalidate cached comarison value after
inc_group_relay_log_pos() which called for each group of events (so we
have some benefit if we have something like queries that use

View File

@ -378,7 +378,7 @@ public:
slave_connection_state ign_gtids;
/*
Indentifies where the SQL Thread should create temporary files for the
Identifies where the SQL Thread should create temporary files for the
LOAD DATA INFILE. This is used for security reasons.
*/
char slave_patternload_file[FN_REFLEN];
@ -396,7 +396,7 @@ public:
/*
The restart_gtid_state is used when the SQL thread restarts on a relay log
in GTID mode. In multi-domain parallel replication, each domain may have a
separat position, so some events in more progressed domains may need to be
separate position, so some events in more progressed domains may need to be
skipped. This keeps track of the domains that have not yet reached their
starting event.
*/
@ -917,7 +917,7 @@ struct rpl_group_info
void reinit(Relay_log_info *rli);
/*
Returns true if the argument event resides in the containter;
Returns true if the argument event resides in the container;
more specifically, the checking is done against the last added event.
*/
bool is_deferred_event(Log_event * ev)

View File

@ -105,7 +105,7 @@ private:
*/
entry *m_free;
/* Correspondance between an id (a number) and a TABLE object */
/* Correspondence between an id (a number) and a TABLE object */
HASH m_table_ids;
};

View File

@ -291,7 +291,7 @@ table_def::~table_def()
@notes
event_buf will have same values on return. However during the process of
caluclating the checksum, it's temporary changed. Because of this the
calculating the checksum, it's temporary changed. Because of this the
event_buf argument is not a pointer to const.
*/

View File

@ -497,7 +497,7 @@ Field_int::rpl_conv_type_from(const Conv_source &source,
max_dispay_length() when the table field and the binlog field
are of the same type.
This code should eventually be rewritten not to use
compare_lengths(), to detect subtype/supetype relations
compare_lengths(), to detect subtype/supertype relations
just using the type codes.
*/
DBUG_ASSERT(source.real_field_type() != real_type());
@ -535,7 +535,7 @@ Field_longstr::rpl_conv_type_from(const Conv_source &source,
/**
@todo
Implement Field_varstring_compressed::real_type() and
Field_blob_compressed::real_type() properly. All occurencies
Field_blob_compressed::real_type() properly. All occurrences
of Field::real_type() have to be inspected and adjusted if needed.
Until it is not ready we have to compare source_type against

View File

@ -75,7 +75,7 @@ void one_thread_scheduler(scheduler_functions *func, Atomic_counter<uint> *arg_c
extern void scheduler_init();
extern void post_kill_notification(THD *);
/*
To be used for pool-of-threads (implemeneted differently on various OSs)
To be used for pool-of-threads (implemented differently on various OSs)
*/
struct thd_scheduler
{

View File

@ -58,7 +58,7 @@ public:
/* The layout of a semisync slave reply packet:
1 byte for the magic num
8 bytes for the binlog positon
8 bytes for the binlog position
n bytes for the binlog filename, terminated with a '\0'
*/
#define REPLY_MAGIC_NUM_LEN 1

View File

@ -691,7 +691,7 @@ int Repl_semi_sync_master::report_reply_binlog(uint32 server_id,
/* If the requested position is behind the sending binlog position,
* would not adjust sending binlog position.
* We based on the assumption that there are multiple semi-sync slave,
* and at least one of them shou/ld be up to date.
* and at least one of them should be up to date.
* If all semi-sync slaves are behind, at least initially, the primary
* can find the situation after the waiting timeout. After that, some
* slaves should catch up quickly.
@ -1502,7 +1502,7 @@ void Repl_semi_sync_master::await_all_slave_replies(const char *msg)
/* Get the waiting time given the wait's staring time.
*
* Return:
* >= 0: the waiting time in microsecons(us)
* >= 0: the waiting time in microseconds(us)
* < 0: error in get time or time back traverse
*/
static int get_wait_time(const struct timespec& start_ts)

View File

@ -526,7 +526,7 @@ class Repl_semi_sync_master
If info_msg is provided, it will be output via sql_print_information when
there are transactions awaiting ACKs; info_msg is not output if there are
no transasctions to await.
no transactions to await.
*/
void await_all_slave_replies(const char *msg);
@ -599,7 +599,7 @@ class Repl_semi_sync_master
/*Wait for ACK after writing/sync binlog to file*/
int wait_after_sync(const char* log_file, my_off_t log_pos);
/*Wait for ACK after commting the transaction*/
/*Wait for ACK after committing the transaction*/
int wait_after_commit(THD* thd, bool all);
/*Wait after the transaction is rollback*/
@ -735,7 +735,7 @@ extern unsigned long long rpl_semi_sync_master_get_ack;
/*
This indicates whether we should keep waiting if no semi-sync slave
is available.
0 : stop waiting if detected no avaialable semi-sync slave.
0 : stop waiting if detected no available semi-sync slave.
1 (default) : keep waiting until timeout even no available semi-sync slave.
*/
extern char rpl_semi_sync_master_wait_no_slave;

View File

@ -190,7 +190,7 @@ void Ack_receiver::remove_slave(THD *thd)
mysql_cond_broadcast(&m_cond);
/*
Wait until Ack_receiver::run() acknowledges remove of slave
As this is only sent under the mutex and after listners has
As this is only sent under the mutex and after listeners has
been collected, we know that listener has ignored the found
slave.
*/

View File

@ -46,7 +46,7 @@ void Session_sysvars_tracker::vars_list::reinit()
Copy the given list.
@param from Source vars_list object.
@param thd THD handle to retrive the charset in use.
@param thd THD handle to retrieve the charset in use.
@retval true there is something to track
@retval false nothing to track
@ -117,7 +117,7 @@ bool Session_sysvars_tracker::vars_list::insert(const sys_var *svar)
@param var_list [IN] System variable list.
@param throw_error [IN] bool when set to true, returns an error
in case of invalid/duplicate values.
@param char_set [IN] charecter set information used for string
@param char_set [IN] character set information used for string
manipulations.
@return
@ -848,7 +848,7 @@ bool Transaction_state_tracker::store(THD *thd, String *buf)
legal and equivalent syntax in MySQL, or START TRANSACTION
sans options) will re-use any one-shots set up so far
(with SET before the first transaction started, and with
all subsequent STARTs), except for WITH CONSISTANT SNAPSHOT,
all subsequent STARTs), except for WITH CONSISTENT SNAPSHOT,
which will never be chained and only applies when explicitly
given.
@ -952,7 +952,7 @@ bool Transaction_state_tracker::store(THD *thd, String *buf)
/*
"READ ONLY" / "READ WRITE"
We could transform this to SET TRANSACTION even when it occurs
in START TRANSACTION, but for now, we'll resysynthesize the original
in START TRANSACTION, but for now, we'll resynthesize the original
command as closely as possible.
*/
buf->append(STRING_WITH_LEN("SET TRANSACTION "));

View File

@ -860,7 +860,7 @@ int set_var::light_check(THD *thd)
@returns 0|1 ok or ERROR
@note ERROR can be only due to abnormal operations involving
the server's execution evironment such as
the server's execution environment such as
out of memory, hard disk failure or the computer blows up.
Consider set_var::check() method if there is a need to return
an error due to logics.

View File

@ -273,7 +273,7 @@ protected:
/**
A base class for everything that can be set with SET command.
It's similar to Items, an instance of this is created by the parser
for every assigmnent in SET (or elsewhere, e.g. in SELECT).
for every assignment in SET (or elsewhere, e.g. in SELECT).
*/
class set_var_base :public Sql_alloc
{

View File

@ -329,7 +329,7 @@ gtid_pos_table_creation(THD *thd, plugin_ref engine, LEX_CSTRING *table_name)
thd->set_db(&MYSQL_SCHEMA_NAME);
thd->clear_error();
ulonglong thd_saved_option= thd->variables.option_bits;
/* This query shuold not be binlogged. */
/* This query should not be binlogged. */
thd->variables.option_bits&= ~(ulonglong)OPTION_BIN_LOG;
thd->set_query_and_id(query.c_ptr(), query.length(), thd->charset(),
next_query_id());
@ -1049,7 +1049,7 @@ terminate_slave_thread(THD *thd,
/*
Is is critical to test if the slave is running. Otherwise, we might
be referening freed memory trying to kick it
be refreeing freed memory trying to kick it
*/
while (*slave_running) // Should always be true
@ -1323,7 +1323,7 @@ static bool io_slave_killed(Master_info* mi)
The function analyzes a possible killed status and makes
a decision whether to accept it or not.
Normally upon accepting the sql thread goes to shutdown.
In the event of deffering decision @rli->last_event_start_time waiting
In the event of deferring decision @rli->last_event_start_time waiting
timer is set to force the killed status be accepted upon its expiration.
@param thd pointer to a THD instance
@ -1391,8 +1391,8 @@ static bool sql_slave_killed(rpl_group_info *rgi)
may eventually give out to complete the current group and in
that case there might be issues at consequent slave restart,
see the error message. WL#2975 offers a robust solution
requiring to store the last exectuted event's coordinates
along with the group's coordianates instead of waiting with
requiring to store the last executed event's coordinates
along with the group's coordinates instead of waiting with
@c last_event_start_time the timer.
*/
@ -2006,7 +2006,7 @@ inconsistency if replicated data deals with collation.");
slave and master, but we can't rely on value of @@system_time_zone
variable (it is time zone abbreviation) since it determined at start
time and so could differ for slave and master even if they are really
in the same system time zone. So we are omiting this check and just
in the same system time zone. So we are omitting this check and just
relying on documentation. Also according to Monty there are many users
who are using replication between servers in various time zones. Hence
such check will broke everything for them. (And now everything will
@ -3740,7 +3740,7 @@ apply_event_and_update_pos_apply(Log_event* ev, THD* thd, rpl_group_info *rgi,
ev->update_pos(rli);
@endcode
It also does the following maintainance:
It also does the following maintenance:
- Initializes the thread's server_id and time; and the event's
thread.
@ -4096,7 +4096,7 @@ static int exec_relay_log_event(THD* thd, Relay_log_info* rli,
The following failure injecion works in cooperation with tests
setting @@global.debug= 'd,incomplete_group_in_relay_log'.
Xid or Commit events are not executed to force the slave sql
read hanging if the realy log does not have any more events.
read hanging if the real log does not have any more events.
*/
DBUG_EXECUTE_IF("incomplete_group_in_relay_log",
if ((typ == XID_EVENT) ||
@ -4436,7 +4436,7 @@ static int try_to_reconnect(THD *thd, MYSQL *mysql, Master_info *mi,
IO_RPL_LOG_NAME, mi->master_log_pos,
tmp.c_ptr_safe());
/*
Raise a warining during registering on master/requesting dump.
Raise a warning during registering on master/requesting dump.
Log a message reading event.
*/
if (messages[SLAVE_RECON_MSG_COMMAND][0])
@ -6134,7 +6134,7 @@ static int queue_event(Master_info* mi, const uchar *buf, ulong event_len)
/*
compare local and event's versions of log_file, log_pos.
Heartbeat is sent only after an event corresponding to the corrdinates
Heartbeat is sent only after an event corresponding to the coordinates
the heartbeat carries.
Slave can not have a higher coordinate except in the only
special case when mi->master_log_name, master_log_pos have never
@ -6143,7 +6143,7 @@ static int queue_event(Master_info* mi, const uchar *buf, ulong event_len)
Slave can have lower coordinates, if some event from master was omitted.
TODO: handling `when' for SHOW SLAVE STATUS' snds behind
TODO: handling `when' for SHOW SLAVE STATUS' sends behind
*/
if (memcmp(mi->master_log_name, hb.get_log_ident(), hb.get_ident_len()) ||
mi->master_log_pos > hb.log_pos) {
@ -6871,7 +6871,7 @@ void end_relay_log_info(Relay_log_info* rli)
mysql_mutex_unlock(log_lock);
/*
Delete the slave's temporary tables from memory.
In the future there will be other actions than this, to ensure persistance
In the future there will be other actions than this, to ensure persistence
of slave's temp tables after shutdown.
*/
rli->close_temporary_tables();
@ -7245,7 +7245,7 @@ static Log_event* next_event(rpl_group_info *rgi, ulonglong *event_size)
finishes executing the new event; it will be look abnormal only if
the events have old timestamps (then you get "many", 0, "many").
Transient phases like this can be fixed with implemeting
Transient phases like this can be fixed with implementing
Heartbeat event which provides the slave the status of the
master at time the master does not have any new update to send.
Seconds_Behind_Master would be zero only when master has no
@ -7848,7 +7848,7 @@ void Rows_event_tracker::update(const char *file_name, my_off_t pos,
/**
The function is called at next event reading
after a sequence of Rows- log-events. It checks the end-of-statement status
of the past sequence to report on any isssue.
of the past sequence to report on any issue.
In the positive case the tracker gets reset.
@return true when the Rows- event group integrity found compromised,

View File

@ -26,7 +26,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Changes:
* 2023-12-25 Addopted for MariaDB usage
* 2023-12-25 Adopted for MariaDB usage
* 2014-02-12: merge David Woodhouse, Ger Hobbelt improvements
* git.infradead.org/users/dwmw2/openconnect.git/commitdiff/bdeefa54
* github.com/GerHobbelt/selectable-socketpair

View File

@ -838,7 +838,7 @@ static LEX_STRING copy_definition_string(String *defstr,
/**
@brief The function parses input strings and returns SP stucture.
@brief The function parses input strings and returns SP structure.
@param[in] thd Thread handler
@param[in] defstr CREATE... string
@ -984,7 +984,7 @@ Sp_handler::db_load_routine(THD *thd, const Database_qualified_name *name,
defstr.set_thread_specific();
/*
We have to add DEFINER clause and provide proper routine characterstics in
We have to add DEFINER clause and provide proper routine characteristics in
routine definition statement that we build here to be able to use this
definition for SHOW CREATE PROCEDURE later.
*/
@ -1238,7 +1238,7 @@ Sp_handler_package_spec::
- SP_OK means that "CREATE PACKAGE pkg" had a correspoinding
"CREATE PACKAGE BODY pkg", which was successfully dropped.
*/
return ret; // Other codes mean an unexpecte error
return ret; // Other codes mean an unexpected error
}
return Sp_handler::sp_find_and_drop_routine(thd, table, name);
}
@ -1550,7 +1550,7 @@ log:
my_error(ER_OUT_OF_RESOURCES, MYF(0));
goto done;
}
/* restore sql_mode when binloging */
/* restore sql_mode when binlogging */
thd->variables.sql_mode= org_sql_mode;
/* Such a statement can always go directly to binlog, no trans cache */
if (thd->binlog_query(THD::STMT_QUERY_TYPE,
@ -3107,7 +3107,7 @@ Sp_handler::show_create_sp(THD *thd, String *buf,
(used for I_S ROUTINES & PARAMETERS tables).
@param[in] thd thread handler
@param[in] proc_table mysql.proc table structurte
@param[in] proc_table mysql.proc table structure
@param[in] db database name
@param[in] name sp name
@param[in] sql_mode SQL mode

View File

@ -177,7 +177,7 @@ void sp_cache_insert(sp_cache **cp, sp_head *sp)
SYNOPSIS
sp_cache_lookup()
cp Cache to look into
name Name of rutine to find
name Name of routine to find
NOTE
An obsolete (but not more obsolete then since last

View File

@ -722,7 +722,7 @@ bool sp_package::validate_public_routines(THD *thd, sp_package *spec)
bool sp_package::validate_private_routines(THD *thd)
{
/*
Check that all forwad declarations in
Check that all forward declarations in
CREATE PACKAGE BODY have implementations.
*/
List_iterator<LEX> it(m_routine_declarations);
@ -1639,7 +1639,7 @@ bool sp_head::check_execute_access(THD *thd) const
@param thd
@param ret_value
@retval NULL - error (access denided or EOM)
@retval NULL - error (access denied or EOM)
@retval !NULL - success (the invoker has rights to all %TYPE tables)
*/
@ -2027,7 +2027,7 @@ sp_head::execute_function(THD *thd, Item **argp, uint argcount,
we have separate union for each such event and hence can't use
query_id of real calling statement as the start of all these
unions (this will break logic of replication of user-defined
variables). So we use artifical value which is guaranteed to
variables). So we use artificial value which is guaranteed to
be greater than all query_id's of all statements belonging
to previous events/unions.
Possible alternative to this is logging of all function invocations
@ -2317,7 +2317,7 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
/*
In the case when we weren't able to employ reuse mechanism for
OUT/INOUT paranmeters, we should reallocate memory. This
OUT/INOUT parameters, we should reallocate memory. This
allocation should be done on the arena which will live through
all execution of calling routine.
*/

View File

@ -286,7 +286,7 @@ public:
/** Recursion level of the current SP instance. The levels are numbered from 0 */
ulong m_recursion_level;
/**
A list of diferent recursion level instances for the same procedure.
A list of different recursion level instances for the same procedure.
For every recursion level we have a sp_head instance. This instances
connected in the list. The list ordered by increasing recursion level
(m_recursion_level).
@ -299,7 +299,7 @@ public:
/**
Pointer to the first free (non-INVOKED) routine in the list of
cached instances for this SP. This pointer is set only for the first
SP in the list of instences (see above m_first_cached_sp pointer).
SP in the list of instances (see above m_first_cached_sp pointer).
The pointer equal to 0 if we have no free instances.
For non-first instance value of this pointer meanless (point to itself);
*/
@ -559,7 +559,7 @@ public:
FOR index IN cursor(1,2,3) -- cursor with parameters
The code generated by this method does the following during SP run-time:
- Sets all cursor parameter vartiables from "parameters"
- Sets all cursor parameter variables from "parameters"
- Initializes the index ROW-type variable from the cursor
(the structure is copied from the cursor to the index variable)
- The cursor gets opened
@ -938,7 +938,7 @@ public:
/*
Check EXECUTE access:
- in case of a standalone rotuine, for the routine itself
- in case of a standalone routine, for the routine itself
- in case of a package routine, for the owner package body
*/
bool check_execute_access(THD *thd) const;

Some files were not shown because too many files have changed in this diff Show More