MDEV-19740: Fix C++11 violations caught by GCC 9.2.1
This is a backport of commit ec28f9532e92820f59fc7298465407069e289a5a to MariaDB Server 10.1.
This commit is contained in:
parent
2ae02c295a
commit
2920377aa0
@ -2,7 +2,7 @@
|
|||||||
#define SQL_ITEM_INCLUDED
|
#define SQL_ITEM_INCLUDED
|
||||||
|
|
||||||
/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
|
/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2009, 2018, MariaDB Corporation
|
Copyright (c) 2009, 2019, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -611,8 +611,6 @@ class Item: public Value_source,
|
|||||||
public Type_std_attributes,
|
public Type_std_attributes,
|
||||||
public Type_handler
|
public Type_handler
|
||||||
{
|
{
|
||||||
Item(const Item &); /* Prevent use of these */
|
|
||||||
void operator=(Item &);
|
|
||||||
/**
|
/**
|
||||||
The index in the JOIN::join_tab array of the JOIN_TAB this Item is attached
|
The index in the JOIN::join_tab array of the JOIN_TAB this Item is attached
|
||||||
to. Items are attached (or 'pushed') to JOIN_TABs during optimization by the
|
to. Items are attached (or 'pushed') to JOIN_TABs during optimization by the
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef INCLUDES_MYSQL_SQL_LIST_H
|
#ifndef INCLUDES_MYSQL_SQL_LIST_H
|
||||||
#define INCLUDES_MYSQL_SQL_LIST_H
|
#define INCLUDES_MYSQL_SQL_LIST_H
|
||||||
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
||||||
|
Copyright (c) 2019, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -85,6 +86,14 @@ public:
|
|||||||
next= elements ? tmp.next : &first;
|
next= elements ? tmp.next : &first;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SQL_I_List& operator=(const SQL_I_List &tmp)
|
||||||
|
{
|
||||||
|
elements= tmp.elements;
|
||||||
|
first= tmp.first;
|
||||||
|
next= tmp.next;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
inline void empty()
|
inline void empty()
|
||||||
{
|
{
|
||||||
elements= 0;
|
elements= 0;
|
||||||
@ -175,6 +184,13 @@ public:
|
|||||||
first == rhs.first &&
|
first == rhs.first &&
|
||||||
last == rhs.last;
|
last == rhs.last;
|
||||||
}
|
}
|
||||||
|
base_list& operator=(const base_list &rhs)
|
||||||
|
{
|
||||||
|
elements= rhs.elements;
|
||||||
|
first= rhs.first;
|
||||||
|
last= elements ? rhs.last : &first;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
inline void empty() { elements=0; first= &end_of_list; last=&first;}
|
inline void empty() { elements=0; first= &end_of_list; last=&first;}
|
||||||
inline base_list() { empty(); }
|
inline base_list() { empty(); }
|
||||||
@ -189,9 +205,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
inline base_list(const base_list &tmp) :Sql_alloc()
|
inline base_list(const base_list &tmp) :Sql_alloc()
|
||||||
{
|
{
|
||||||
elements= tmp.elements;
|
*this= tmp;
|
||||||
first= tmp.first;
|
|
||||||
last= elements ? tmp.last : &first;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
Construct a deep copy of the argument in memory root mem_root.
|
Construct a deep copy of the argument in memory root mem_root.
|
||||||
@ -200,7 +214,7 @@ public:
|
|||||||
list_copy_and_replace_each_value after creating a copy.
|
list_copy_and_replace_each_value after creating a copy.
|
||||||
*/
|
*/
|
||||||
base_list(const base_list &rhs, MEM_ROOT *mem_root);
|
base_list(const base_list &rhs, MEM_ROOT *mem_root);
|
||||||
inline base_list(bool error) { }
|
inline base_list(bool) { }
|
||||||
inline bool push_back(void *info)
|
inline bool push_back(void *info)
|
||||||
{
|
{
|
||||||
if (((*last)=new list_node(info, &end_of_list)))
|
if (((*last)=new list_node(info, &end_of_list)))
|
||||||
@ -512,7 +526,6 @@ template <class T> class List :public base_list
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
inline List() :base_list() {}
|
inline List() :base_list() {}
|
||||||
inline List(const List<T> &tmp) :base_list(tmp) {}
|
|
||||||
inline List(const List<T> &tmp, MEM_ROOT *mem_root) :
|
inline List(const List<T> &tmp, MEM_ROOT *mem_root) :
|
||||||
base_list(tmp, mem_root) {}
|
base_list(tmp, mem_root) {}
|
||||||
inline bool push_back(T *a) { return base_list::push_back(a); }
|
inline bool push_back(T *a) { return base_list::push_back(a); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user