1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Merge 10.0-base->mwl253

This commit is contained in:
Igor Babaev
2013-04-12 06:21:22 -07:00
331 changed files with 6946 additions and 5794 deletions

View File

@ -1,6 +1,6 @@
/*
Copyright (c) 2000, 2012, Oracle and/or its affiliates.
Copyright (c) 2009, 2012, Monty Program Ab
Copyright (c) 2009, 2013, Monty Program Ab
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
@ -75,38 +75,38 @@ enum enum_mark_columns
enum enum_filetype { FILETYPE_CSV, FILETYPE_XML };
/* Bits for different SQL modes modes (including ANSI mode) */
#define MODE_REAL_AS_FLOAT 1
#define MODE_PIPES_AS_CONCAT 2
#define MODE_ANSI_QUOTES 4
#define MODE_IGNORE_SPACE 8
#define MODE_IGNORE_BAD_TABLE_OPTIONS 16
#define MODE_ONLY_FULL_GROUP_BY 32
#define MODE_NO_UNSIGNED_SUBTRACTION 64
#define MODE_NO_DIR_IN_CREATE 128
#define MODE_POSTGRESQL 256
#define MODE_ORACLE 512
#define MODE_MSSQL 1024
#define MODE_DB2 2048
#define MODE_MAXDB 4096
#define MODE_NO_KEY_OPTIONS 8192
#define MODE_NO_TABLE_OPTIONS 16384
#define MODE_NO_FIELD_OPTIONS 32768
#define MODE_MYSQL323 65536L
#define MODE_MYSQL40 (MODE_MYSQL323*2)
#define MODE_ANSI (MODE_MYSQL40*2)
#define MODE_NO_AUTO_VALUE_ON_ZERO (MODE_ANSI*2)
#define MODE_NO_BACKSLASH_ESCAPES (MODE_NO_AUTO_VALUE_ON_ZERO*2)
#define MODE_STRICT_TRANS_TABLES (MODE_NO_BACKSLASH_ESCAPES*2)
#define MODE_STRICT_ALL_TABLES (MODE_STRICT_TRANS_TABLES*2)
#define MODE_NO_ZERO_IN_DATE (MODE_STRICT_ALL_TABLES*2)
#define MODE_NO_ZERO_DATE (MODE_NO_ZERO_IN_DATE*2)
#define MODE_INVALID_DATES (MODE_NO_ZERO_DATE*2)
#define MODE_ERROR_FOR_DIVISION_BY_ZERO (MODE_INVALID_DATES*2)
#define MODE_TRADITIONAL (MODE_ERROR_FOR_DIVISION_BY_ZERO*2)
#define MODE_NO_AUTO_CREATE_USER (MODE_TRADITIONAL*2)
#define MODE_HIGH_NOT_PRECEDENCE (MODE_NO_AUTO_CREATE_USER*2)
#define MODE_NO_ENGINE_SUBSTITUTION (MODE_HIGH_NOT_PRECEDENCE*2)
#define MODE_PAD_CHAR_TO_FULL_LENGTH (ULL(1) << 31)
#define MODE_REAL_AS_FLOAT (1ULL << 0)
#define MODE_PIPES_AS_CONCAT (1ULL << 1)
#define MODE_ANSI_QUOTES (1ULL << 2)
#define MODE_IGNORE_SPACE (1ULL << 3)
#define MODE_IGNORE_BAD_TABLE_OPTIONS (1ULL << 4)
#define MODE_ONLY_FULL_GROUP_BY (1ULL << 5)
#define MODE_NO_UNSIGNED_SUBTRACTION (1ULL << 6)
#define MODE_NO_DIR_IN_CREATE (1ULL << 7)
#define MODE_POSTGRESQL (1ULL << 8)
#define MODE_ORACLE (1ULL << 9)
#define MODE_MSSQL (1ULL << 10)
#define MODE_DB2 (1ULL << 11)
#define MODE_MAXDB (1ULL << 12)
#define MODE_NO_KEY_OPTIONS (1ULL << 13)
#define MODE_NO_TABLE_OPTIONS (1ULL << 14)
#define MODE_NO_FIELD_OPTIONS (1ULL << 15)
#define MODE_MYSQL323 (1ULL << 16)
#define MODE_MYSQL40 (1ULL << 17)
#define MODE_ANSI (1ULL << 18)
#define MODE_NO_AUTO_VALUE_ON_ZERO (1ULL << 19)
#define MODE_NO_BACKSLASH_ESCAPES (1ULL << 20)
#define MODE_STRICT_TRANS_TABLES (1ULL << 21)
#define MODE_STRICT_ALL_TABLES (1ULL << 22)
#define MODE_NO_ZERO_IN_DATE (1ULL << 23)
#define MODE_NO_ZERO_DATE (1ULL << 24)
#define MODE_INVALID_DATES (1ULL << 25)
#define MODE_ERROR_FOR_DIVISION_BY_ZERO (1ULL << 26)
#define MODE_TRADITIONAL (1ULL << 27)
#define MODE_NO_AUTO_CREATE_USER (1ULL << 28)
#define MODE_HIGH_NOT_PRECEDENCE (1ULL << 29)
#define MODE_NO_ENGINE_SUBSTITUTION (1ULL << 30)
#define MODE_PAD_CHAR_TO_FULL_LENGTH (1ULL << 31)
extern char internal_table_name[2];
extern char empty_c_string[1];
@ -2625,9 +2625,21 @@ public:
return alloc_root(&transaction.mem_root,size);
}
LEX_STRING *make_lex_string(LEX_STRING *lex_str,
const char* str, uint length,
bool allocate_lex_string);
LEX_STRING *make_lex_string(LEX_STRING *lex_str, const char* str, uint length)
{
if (!(lex_str->str= strmake_root(mem_root, str, length)))
return 0;
lex_str->length= length;
return lex_str;
}
LEX_STRING *make_lex_string(const char* str, uint length)
{
LEX_STRING *lex_str;
if (!(lex_str= (LEX_STRING *)alloc_root(mem_root, sizeof(LEX_STRING))))
return 0;
return make_lex_string(lex_str, str, length);
}
bool convert_string(LEX_STRING *to, CHARSET_INFO *to_cs,
const char *from, uint from_length,