correcting it now. Thanks Dmitri for spotting this.
mysql-test/r/user_var.result:
result update
mysql-test/t/user_var.test:
a simple test
sql/item_func.cc:
Had mangled the order of if()s in a previous changeset (1.1596) (not pushed),
correcting it now.
When an update query is to be written to the binlog, and it reads unset
user variables (example: INSERT INTO t VALUEs(@a) where @a does not exist),
we create the variable like if it had been set with SET before, and we loop
(i.e. we redo the steps of logging, now that the variable exists).
mysql-test/r/rpl_user_variables.result:
result update.
mysql-test/t/rpl_user_variables.test:
test to see if unset user variables are written to the binlog
sql/item_func.cc:
When an update query is to be written to the binlog, and it reads unset
user variables (example: INSERT INTO t VALUEs(@a) where @a does not exist),
we create the variable like if it had been set with SET before, and we loop
(i.e. we redo the steps of logging, now that the variable exists).
Don't free the client's selected db (thd->db) when it has been DROPped,
if this is a slave thread; the x_free() was causing a lot
of various bugs in rpl_loaddata_rule_m (garbage characters, segfault, hangs in
other threads).
A small post-merge fix (rli->inside_transaction exists in 4.0 only).
sql/log_event.cc:
Post-merge fix (rli->inside_transaction existed in 4.0 only)
sql/sql_db.cc:
Don't free the client's selected db (thd->db) when it has been DROPped,
if this is a slave thread; the x_free() was causing a lot
of various bugs in rpl_loaddata_rule_m which does a DROP DATABASE
(garbage characters, segfault, hangs in other threads).
mysql-test/r/rpl_until.result:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
mysql-test/t/rpl_until.test:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
null_string wasn't known in libmysqld/lib_sql.cc, that caused compiler's error
i put the declaration of the null_string in mysql_priv.h and renamed it
to my_null_string to reduce the probability of name's intersections
libmysqld/lib_sql.cc:
null_string -> my_null_string
sql/mysql_priv.h:
my_null_string was made known
sql/sql_prepare.cc:
null_string -> my_null_string
sql/item_strfunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/net_serv.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
.c files (the IBM Visual Age C compiler aborts with a syntax error
on these)
libmysql/dll.c:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
libmysql/libmysql.c:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
mysys/my_getopt.c:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
sql/net_serv.cc:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
strings/ctype-bin.c:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
tests/client_test.c:
- replaced C++-style comment with the proper syntax for .c files
(the IBM Visual Age C compiler aborts with a syntax error on these)
comp_err failed to compile error message file when a
character set was not incompiled.
mysys/charset.c:
comp_err failed to compile error message file when a
character set was not incompiled.
cmd-line-utils/readline from the commercial distribution
- fixed some copyright headers so mysql-copyright can process them
Build-tools/mysql-copyright:
- remove the cmd-line-utils/readline directory from the commercial
distribution
- make use of more builtin Perl functions instead of forking
subprocesses
include/my_pthread.h:
- fixed copyright header
sql/filesort.cc:
- fixed copyright header
sql/gen_lex_hash.cc:
- fixed copyright header
sql/item.h:
- fixed copyright header
sql/item_cmpfunc.cc:
- fixed copyright header
sql/records.cc:
- fixed copyright header
There are some problems compiling with pure "configure"
I need to fix it first.
extra/comp_err.c:
There are some problems compiling with pure "configure"
I need to fix it first.
sequence boundaries in functions LIKE and LOCATE in
the case of "binary" collation. Comparison was done
like if the strings were just a binary strings without
character set assumption.
prepared statements in embedded library.
some fixes after testing
include/mysql.h:
virtual method added
libmysql/client_settings.h:
declaration added
libmysql/libmysql.c:
implementation added
mysql_fetch changed to work in both libraries
libmysqld/lib_sql.cc:
implementation added
sql-common/client.c:
added items in methods table
sql/client_settings.h:
decided to remove such defines - i placed single #ifdef in client.c
mysql-test/r/func_compress.result:
Test for the bug #1333: COMPRESS(NULL) segfaults.
mysql-test/t/func_compress.test:
Test for the bug #1333: COMPRESS(NULL) segfaults.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
embedded library
some dirty places cleaned:
uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library
include/mysql.h:
uint -> unsigned int
include/mysql_com.h:
this caused warnings when not in expression
libmysqld/lib_sql.cc:
uint -> unsigned int
sql-common/client.c:
uint -> unsigned int
sql/item_strfunc.cc:
empty_string -> my_empty_string
sql/mysql_priv.h:
empty_string -> my_empty_string
sql/set_var.cc:
empty_string -> my_empty_string
sql/sql_class.cc:
empty_string -> my_empty_string
sql/sql_prepare.cc:
net_flush ifdef-ed
embedded library
I decided to get rid of #define mysql_some_function in mysql.h
It puzzles users and makes problems with dynamic libraries
Finally, there are only two functions left, that are covered with
the #define-s and it won't hurt performance at all
client/mysqltest.c:
that'll be faster
include/mysql.h:
#defines changed to functions
libmysql/libmysql.c:
that'll be faster that calls of wrapper functions
libmysqld/libmysqld.c:
skip wrapper function
sql-common/client.c:
skip wrapper function
prepared statements in embedded library
include/mysql_com.h:
to make net_flush() working in expressions
libmysqld/lib_sql.cc:
some bugs fixed
libmysqld/libmysqld.c:
we already have the define in client_settings.h
sql/protocol.cc:
net_store_data should work that way in Protocol_prep (embedded server)
sql/protocol.h:
definition for net_store_data
sql/sql_prepare.cc:
now it works in embedded library
prepared statements in embedded library
include/mysql.h:
Another 'virtual' method
libmysql/client_settings.h:
client implementation declared
libmysql/libmysql.c:
mysql_execute edited to work with embedded implementation
libmysqld/lib_sql.cc:
one error fixed (we do need parameter's buffer in embedded library)
embedded recordset transfer methods implementations added
sql-common/client.c:
method added to the table
sql/client_settings.h:
no prepared statements in mimiclient
sql/mysql_priv.h:
these functions became global
sql/protocol.cc:
the stub added
sql/protocol.h:
had to change Protocol's interface for embedded library
sql/sql_class.h:
i changed this only for embedded case, but i think it's better to do the
same for remote server also
sql/sql_prepare.cc:
parts of code #ifndef-ed