mirror of
https://github.com/MariaDB/server.git
synced 2025-08-29 00:08:14 +03:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into gw.mysql.r18.ru:/usr/home/ram/work/5.0.b6999
This commit is contained in:
@@ -784,32 +784,32 @@ t2.flag_value IS NULL;
|
|||||||
flag_name flag_value
|
flag_name flag_value
|
||||||
flag2 NULL
|
flag2 NULL
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE TABLE invoice (
|
CREATE TABLE t1 (
|
||||||
id int(11) unsigned NOT NULL auto_increment,
|
id int(11) unsigned NOT NULL auto_increment,
|
||||||
text_id int(10) unsigned default NULL,
|
text_id int(10) unsigned default NULL,
|
||||||
PRIMARY KEY (id)
|
PRIMARY KEY (id)
|
||||||
);
|
);
|
||||||
INSERT INTO invoice VALUES("1", "0");
|
INSERT INTO t1 VALUES("1", "0");
|
||||||
INSERT INTO invoice VALUES("2", "10");
|
INSERT INTO t1 VALUES("2", "10");
|
||||||
CREATE TABLE text_table (
|
CREATE TABLE t2 (
|
||||||
text_id char(3) NOT NULL default '',
|
text_id char(3) NOT NULL default '',
|
||||||
language_id char(3) NOT NULL default '',
|
language_id char(3) NOT NULL default '',
|
||||||
text_data text,
|
text_data text,
|
||||||
PRIMARY KEY (text_id,language_id)
|
PRIMARY KEY (text_id,language_id)
|
||||||
);
|
);
|
||||||
INSERT INTO text_table VALUES("0", "EN", "0-EN");
|
INSERT INTO t2 VALUES("0", "EN", "0-EN");
|
||||||
INSERT INTO text_table VALUES("0", "SV", "0-SV");
|
INSERT INTO t2 VALUES("0", "SV", "0-SV");
|
||||||
INSERT INTO text_table VALUES("10", "EN", "10-EN");
|
INSERT INTO t2 VALUES("10", "EN", "10-EN");
|
||||||
INSERT INTO text_table VALUES("10", "SV", "10-SV");
|
INSERT INTO t2 VALUES("10", "SV", "10-SV");
|
||||||
SELECT invoice.id, invoice.text_id, text_table.text_data
|
SELECT t1.id, t1.text_id, t2.text_data
|
||||||
FROM invoice LEFT JOIN text_table
|
FROM t1 LEFT JOIN t2
|
||||||
ON invoice.text_id = text_table.text_id
|
ON t1.text_id = t2.text_id
|
||||||
AND text_table.language_id = 'SV'
|
AND t2.language_id = 'SV'
|
||||||
WHERE (invoice.id LIKE '%' OR text_table.text_data LIKE '%');
|
WHERE (t1.id LIKE '%' OR t2.text_data LIKE '%');
|
||||||
id text_id text_data
|
id text_id text_data
|
||||||
1 0 0-SV
|
1 0 0-SV
|
||||||
2 10 10-SV
|
2 10 10-SV
|
||||||
DROP TABLE invoice, text_table;
|
DROP TABLE t1, t2;
|
||||||
CREATE TABLE t0 (a0 int PRIMARY KEY);
|
CREATE TABLE t0 (a0 int PRIMARY KEY);
|
||||||
CREATE TABLE t1 (a1 int PRIMARY KEY);
|
CREATE TABLE t1 (a1 int PRIMARY KEY);
|
||||||
CREATE TABLE t2 (a2 int);
|
CREATE TABLE t2 (a2 int);
|
||||||
|
@@ -554,34 +554,34 @@ SELECT t1.flag_name,t2.flag_value
|
|||||||
|
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
|
||||||
CREATE TABLE invoice (
|
CREATE TABLE t1 (
|
||||||
id int(11) unsigned NOT NULL auto_increment,
|
id int(11) unsigned NOT NULL auto_increment,
|
||||||
text_id int(10) unsigned default NULL,
|
text_id int(10) unsigned default NULL,
|
||||||
PRIMARY KEY (id)
|
PRIMARY KEY (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO invoice VALUES("1", "0");
|
INSERT INTO t1 VALUES("1", "0");
|
||||||
INSERT INTO invoice VALUES("2", "10");
|
INSERT INTO t1 VALUES("2", "10");
|
||||||
|
|
||||||
CREATE TABLE text_table (
|
CREATE TABLE t2 (
|
||||||
text_id char(3) NOT NULL default '',
|
text_id char(3) NOT NULL default '',
|
||||||
language_id char(3) NOT NULL default '',
|
language_id char(3) NOT NULL default '',
|
||||||
text_data text,
|
text_data text,
|
||||||
PRIMARY KEY (text_id,language_id)
|
PRIMARY KEY (text_id,language_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO text_table VALUES("0", "EN", "0-EN");
|
INSERT INTO t2 VALUES("0", "EN", "0-EN");
|
||||||
INSERT INTO text_table VALUES("0", "SV", "0-SV");
|
INSERT INTO t2 VALUES("0", "SV", "0-SV");
|
||||||
INSERT INTO text_table VALUES("10", "EN", "10-EN");
|
INSERT INTO t2 VALUES("10", "EN", "10-EN");
|
||||||
INSERT INTO text_table VALUES("10", "SV", "10-SV");
|
INSERT INTO t2 VALUES("10", "SV", "10-SV");
|
||||||
|
|
||||||
SELECT invoice.id, invoice.text_id, text_table.text_data
|
SELECT t1.id, t1.text_id, t2.text_data
|
||||||
FROM invoice LEFT JOIN text_table
|
FROM t1 LEFT JOIN t2
|
||||||
ON invoice.text_id = text_table.text_id
|
ON t1.text_id = t2.text_id
|
||||||
AND text_table.language_id = 'SV'
|
AND t2.language_id = 'SV'
|
||||||
WHERE (invoice.id LIKE '%' OR text_table.text_data LIKE '%');
|
WHERE (t1.id LIKE '%' OR t2.text_data LIKE '%');
|
||||||
|
|
||||||
DROP TABLE invoice, text_table;
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
# Test for bug #5896
|
# Test for bug #5896
|
||||||
|
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#ifndef ATTRIBUTE_HEADER
|
#ifndef ATTRIBUTE_HEADER
|
||||||
#define ATTRIBUTE_HEADER
|
#define ATTRIBUTE_HEADER
|
||||||
|
|
||||||
#include <new>
|
|
||||||
/**
|
/**
|
||||||
* @class AttributeHeader
|
* @class AttributeHeader
|
||||||
* @brief Header passed in front of every attribute value in AttrInfo signal
|
* @brief Header passed in front of every attribute value in AttrInfo signal
|
||||||
|
@@ -48,7 +48,7 @@
|
|||||||
#define NDB_TYPE_BIGUNSIGNED 10
|
#define NDB_TYPE_BIGUNSIGNED 10
|
||||||
#define NDB_TYPE_FLOAT 11
|
#define NDB_TYPE_FLOAT 11
|
||||||
#define NDB_TYPE_DOUBLE 12
|
#define NDB_TYPE_DOUBLE 12
|
||||||
#define NDB_TYPE_DECIMAL 13 // not used
|
#define NDB_TYPE_DECIMAL 13 /* not used */
|
||||||
#define NDB_TYPE_CHAR 14
|
#define NDB_TYPE_CHAR 14
|
||||||
#define NDB_TYPE_VARCHAR 15
|
#define NDB_TYPE_VARCHAR 15
|
||||||
#define NDB_TYPE_BINARY 16
|
#define NDB_TYPE_BINARY 16
|
||||||
|
@@ -115,10 +115,8 @@ static const char table_name_separator = '/';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#include <new>
|
inline void* operator new(size_t, void* __p) { return __p; }
|
||||||
#endif
|
inline void* operator new[](size_t, void* __p) { return __p; }
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
//===========================================================================
|
//===========================================================================
|
||||||
#include "Backup.hpp"
|
#include "Backup.hpp"
|
||||||
|
|
||||||
#include <new>
|
|
||||||
#include <Properties.hpp>
|
#include <Properties.hpp>
|
||||||
#include <Configuration.hpp>
|
#include <Configuration.hpp>
|
||||||
|
|
||||||
|
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
#include <EventLogger.hpp>
|
#include <EventLogger.hpp>
|
||||||
#include <TimeQueue.hpp>
|
#include <TimeQueue.hpp>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#include <NdbSleep.h>
|
#include <NdbSleep.h>
|
||||||
#include <SafeCounter.hpp>
|
#include <SafeCounter.hpp>
|
||||||
|
@@ -18,7 +18,6 @@
|
|||||||
#define DBDIH_C
|
#define DBDIH_C
|
||||||
#include "Dbdih.hpp"
|
#include "Dbdih.hpp"
|
||||||
#include <ndb_limits.h>
|
#include <ndb_limits.h>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#define DEBUG(x) { ndbout << "DIH::" << x << endl; }
|
#define DEBUG(x) { ndbout << "DIH::" << x << endl; }
|
||||||
|
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
#define DBLQH_C
|
#define DBLQH_C
|
||||||
#include "Dblqh.hpp"
|
#include "Dblqh.hpp"
|
||||||
#include <ndb_limits.h>
|
#include <ndb_limits.h>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#define DEBUG(x) { ndbout << "LQH::" << x << endl; }
|
#define DEBUG(x) { ndbout << "LQH::" << x << endl; }
|
||||||
|
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
#include <ndb_limits.h>
|
#include <ndb_limits.h>
|
||||||
#include <Properties.hpp>
|
#include <Properties.hpp>
|
||||||
#include <Configuration.hpp>
|
#include <Configuration.hpp>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#define DEBUG(x) { ndbout << "TC::" << x << endl; }
|
#define DEBUG(x) { ndbout << "TC::" << x << endl; }
|
||||||
|
|
||||||
|
@@ -31,7 +31,6 @@
|
|||||||
#include <signaldata/TupKey.hpp>
|
#include <signaldata/TupKey.hpp>
|
||||||
|
|
||||||
#include <signaldata/DropTab.hpp>
|
#include <signaldata/DropTab.hpp>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#define DEBUG(x) { ndbout << "TUP::" << x << endl; }
|
#define DEBUG(x) { ndbout << "TUP::" << x << endl; }
|
||||||
|
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#ifndef DBTUX_H
|
#ifndef DBTUX_H
|
||||||
#define DBTUX_H
|
#define DBTUX_H
|
||||||
|
|
||||||
#include <new>
|
|
||||||
#include <ndb_limits.h>
|
#include <ndb_limits.h>
|
||||||
#include <SimulatedBlock.hpp>
|
#include <SimulatedBlock.hpp>
|
||||||
#include <AttributeDescriptor.hpp>
|
#include <AttributeDescriptor.hpp>
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include "Grep.hpp"
|
#include "Grep.hpp"
|
||||||
#include <new>
|
|
||||||
#include <Properties.hpp>
|
#include <Properties.hpp>
|
||||||
#include <Configuration.hpp>
|
#include <Configuration.hpp>
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
#include "Suma.hpp"
|
#include "Suma.hpp"
|
||||||
|
|
||||||
#include <new>
|
|
||||||
#include <Properties.hpp>
|
#include <Properties.hpp>
|
||||||
#include <Configuration.hpp>
|
#include <Configuration.hpp>
|
||||||
|
|
||||||
|
@@ -33,7 +33,6 @@
|
|||||||
#include <NdbOut.hpp>
|
#include <NdbOut.hpp>
|
||||||
#include <NdbMutex.h>
|
#include <NdbMutex.h>
|
||||||
#include <NdbSleep.h>
|
#include <NdbSleep.h>
|
||||||
#include <new>
|
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
extern void (* ndb_new_handler)();
|
extern void (* ndb_new_handler)();
|
||||||
|
@@ -36,7 +36,6 @@
|
|||||||
#include <ErrorReporter.hpp>
|
#include <ErrorReporter.hpp>
|
||||||
#include <ErrorHandlingMacros.hpp>
|
#include <ErrorHandlingMacros.hpp>
|
||||||
|
|
||||||
#include <new>
|
|
||||||
#include "DLList.hpp"
|
#include "DLList.hpp"
|
||||||
#include "ArrayPool.hpp"
|
#include "ArrayPool.hpp"
|
||||||
#include "DLHashTable.hpp"
|
#include "DLHashTable.hpp"
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
#include <ndb_types.h>
|
#include <ndb_types.h>
|
||||||
#include <mgmapi.h>
|
#include <mgmapi.h>
|
||||||
#include "mgmapi_configuration.hpp"
|
#include "mgmapi_configuration.hpp"
|
||||||
#include <new>
|
|
||||||
|
|
||||||
ndb_mgm_configuration_iterator::ndb_mgm_configuration_iterator
|
ndb_mgm_configuration_iterator::ndb_mgm_configuration_iterator
|
||||||
(const ndb_mgm_configuration & conf, unsigned type_of_section)
|
(const ndb_mgm_configuration & conf, unsigned type_of_section)
|
||||||
|
@@ -230,17 +230,17 @@ NdbScanOperation::fix_receivers(Uint32 parallel){
|
|||||||
if(parallel > m_allocated_receivers){
|
if(parallel > m_allocated_receivers){
|
||||||
const Uint32 sz = parallel * (4*sizeof(char*)+sizeof(Uint32));
|
const Uint32 sz = parallel * (4*sizeof(char*)+sizeof(Uint32));
|
||||||
|
|
||||||
Uint32 * tmp = new Uint32[(sz+3)/4];
|
Uint64 * tmp = new Uint64[(sz+7)/8];
|
||||||
// Save old receivers
|
// Save old receivers
|
||||||
memcpy(tmp+parallel, m_receivers, m_allocated_receivers*sizeof(char*));
|
memcpy(tmp, m_receivers, m_allocated_receivers*sizeof(char*));
|
||||||
delete[] m_array;
|
delete[] m_array;
|
||||||
m_array = tmp;
|
m_array = (Uint32*)tmp;
|
||||||
|
|
||||||
m_prepared_receivers = tmp;
|
m_receivers = (NdbReceiver**)tmp;
|
||||||
m_receivers = (NdbReceiver**)(tmp + parallel);
|
|
||||||
m_api_receivers = m_receivers + parallel;
|
m_api_receivers = m_receivers + parallel;
|
||||||
m_conf_receivers = m_api_receivers + parallel;
|
m_conf_receivers = m_api_receivers + parallel;
|
||||||
m_sent_receivers = m_conf_receivers + parallel;
|
m_sent_receivers = m_conf_receivers + parallel;
|
||||||
|
m_prepared_receivers = (Uint32*)(m_sent_receivers + parallel);
|
||||||
|
|
||||||
// Only get/init "new" receivers
|
// Only get/init "new" receivers
|
||||||
NdbReceiver* tScanRec;
|
NdbReceiver* tScanRec;
|
||||||
|
@@ -264,6 +264,7 @@ public:
|
|||||||
longlong val_int() { return *trig_var ? args[0]->val_int() : 1; }
|
longlong val_int() { return *trig_var ? args[0]->val_int() : 1; }
|
||||||
enum Functype functype() const { return TRIG_COND_FUNC; };
|
enum Functype functype() const { return TRIG_COND_FUNC; };
|
||||||
const char *func_name() const { return "trigcond"; };
|
const char *func_name() const { return "trigcond"; };
|
||||||
|
bool const_item() const { return FALSE; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class Item_func_not_all :public Item_func_not
|
class Item_func_not_all :public Item_func_not
|
||||||
|
Reference in New Issue
Block a user