diff options
author | unknown <monty@narttu.mysql.fi> | 2003-08-28 22:30:11 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-08-28 22:30:11 +0300 |
commit | 2db7d27f0e8b9f6e3ecbcee9345c5aff1db8e648 (patch) | |
tree | 605da45efea1543c5f34ad3a1c025cff94188465 | |
parent | 62c85c8951e0ca9a0e8bb25837bb6bc0922db9d7 (diff) | |
parent | 6fd5403d3105eb5df3e23a2dcf7ddd33a3589778 (diff) | |
download | mariadb-git-2db7d27f0e8b9f6e3ecbcee9345c5aff1db8e648.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
myisam/mi_dynrec.c:
Auto merged
mysql-test/r/isam.result:
Auto merged
-rw-r--r-- | client/mysqltest.c | 59 | ||||
-rw-r--r-- | sql/log_event.cc | 11 | ||||
-rw-r--r-- | sql/mysql_priv.h | 4 | ||||
-rw-r--r-- | sql/sql_class.cc | 23 | ||||
-rw-r--r-- | sql/sql_class.h | 20 |
5 files changed, 36 insertions, 81 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index 14a037a8e58..d733ab58243 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -491,15 +491,6 @@ void init_parser() memset(&var_reg,0, sizeof(var_reg)); } -int hex_val(int c) -{ - if (isdigit(c)) - return c - '0'; - else if ((c = tolower(c)) >= 'a' && c <= 'f') - return c - 'a' + 10; - else - return -1; -} int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname) { @@ -1550,56 +1541,6 @@ int do_while(struct st_query* q) } -int safe_copy_unescape(char* dest, char* src, int size) -{ - register char* p_dest = dest, *p_src = src; - register int c, val; - enum { ST_NORMAL, ST_ESCAPED, ST_HEX2} state = ST_NORMAL ; - - size--; /* just to make life easier */ - - for (; p_dest - size < dest && p_src - size < src && - (c = *p_src) != '\n' && c; ++p_src) - { - switch(state) { - case ST_NORMAL: - if (c == '\\') - state = ST_ESCAPED; - else - *p_dest++ = c; - break; - case ST_ESCAPED: - if ((val = hex_val(c)) > 0) - { - *p_dest = val; - state = ST_HEX2; - } - else - { - state = ST_NORMAL; - *p_dest++ = c; - } - break; - case ST_HEX2: - if ((val = hex_val(c)) > 0) - { - *p_dest = (*p_dest << 4) + val; - p_dest++; - } - else - *p_dest++ = c; - - state = ST_NORMAL; - break; - - } - } - - *p_dest = 0; - return (p_dest - dest); -} - - int read_line(char* buf, int size) { int c; diff --git a/sql/log_event.cc b/sql/log_event.cc index 425b3c063d1..82e9c5950a7 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -2092,11 +2092,12 @@ int Start_log_event::exec_event(struct st_relay_log_info* rli) */ break; case BINLOG_FORMAT_323_GEQ_57 : - /* Can distinguish, based on the value of 'created' */ - if (!created) - break; - /* otherwise this was generated at master startup*/ - close_temporary_tables(thd); + /* + Can distinguish, based on the value of 'created', + which was generated at master startup. + */ + if (created) + close_temporary_tables(thd); break; default : /* this case is impossible */ diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 888651a7f65..22c92a5473b 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -846,18 +846,22 @@ inline bool add_item_to_list(Item *item) { return current_lex->select->item_list.push_back(item); } + inline bool add_value_to_list(Item *value) { return current_lex->value_list.push_back(value); } + inline bool add_order_to_list(Item *item,bool asc) { return add_to_list(current_lex->select->order_list,item,asc); } + inline bool add_group_to_list(Item *item,bool asc) { return add_to_list(current_lex->select->group_list,item,asc); } + inline void mark_as_null_row(TABLE *table) { table->null_row=1; diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 132e0d7745f..71aec69e49b 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -431,6 +431,29 @@ void THD::close_active_vio() #endif /***************************************************************************** + Table Ident +****************************************************************************/ + + +Table_ident::Table_ident(LEX_STRING db_arg,LEX_STRING table_arg,bool force) + :table(table_arg) +{ + if (!force && (current_thd->client_capabilities & CLIENT_NO_SCHEMA)) + db.str=0; + else + db= db_arg; + if (db.str) + table_case_convert(db.str,db.length); + table_case_convert(table.str,table.length); +} + +Table_ident::Table_ident(LEX_STRING table_arg) :table(table_arg) +{ + db.str=0; + table_case_convert(table.str,table.length); +} + +/***************************************************************************** ** Functions to provide a interface to select results *****************************************************************************/ diff --git a/sql/sql_class.h b/sql/sql_class.h index 64a314911ec..abf69628d2c 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -33,7 +33,7 @@ enum enum_duplicates { DUP_ERROR, DUP_REPLACE, DUP_IGNORE }; enum enum_log_type { LOG_CLOSED, LOG_TO_BE_OPENED, LOG_NORMAL, LOG_NEW, LOG_BIN}; enum enum_delay_key_write { DELAY_KEY_WRITE_NONE, DELAY_KEY_WRITE_ON, DELAY_KEY_WRITE_ALL }; -extern inline void table_case_convert(char * name, uint length); + /* log info errors */ #define LOG_INFO_EOF -1 #define LOG_INFO_IO -2 @@ -762,22 +762,8 @@ class Table_ident :public Sql_alloc { public: LEX_STRING db; LEX_STRING table; - inline Table_ident(LEX_STRING db_arg,LEX_STRING table_arg,bool force) - :table(table_arg) - { - if (!force && (current_thd->client_capabilities & CLIENT_NO_SCHEMA)) - db.str=0; - else - db= db_arg; - if (db.str) - table_case_convert(db.str,db.length); - table_case_convert(table.str,table.length); - } - inline Table_ident(LEX_STRING table_arg) :table(table_arg) - { - db.str=0; - table_case_convert(table.str,table.length); - } + Table_ident(LEX_STRING db_arg,LEX_STRING table_arg,bool force); + Table_ident(LEX_STRING table_arg); inline void change_db(char *db_name) { db.str= db_name; db.length=(uint) strlen(db_name); } }; |