Use lazy initialization for Query_tables_list::sroutines hash.
This step should significantly decrease amount of memory consumed
by stored routines as we no longer will allocate chunk of memory
required for this HASH for each statement in routine.
include/hash.h:
Introduced auxillary hash_init_opt() macro which simplifies
lazy initialization of HASH objects.
sql/sp.cc:
Use lazy initialization for Query_tables_list::sroutines hash.
This step should significantly decrease amount of memory consumed
by stored routines as we no longer will allocate chunk of memory
required for this HASH for each statement in routine.
sql/sql_lex.cc:
Use lazy initialization for Query_tables_list::sroutines hash.
This step should significantly decrease amount of memory consumed
by stored routines as we no longer will allocate chunk of memory
required for this HASH for each statement in routine.
sql/sql_lex.h:
Updated comment describing Query_tables_list::sroutines to
reflect that now we are use lazy initialization for this hash.
Added constant for initial size of this hash.
into shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
client/mysqltest.c:
Auto merged
mysql-test/lib/mtr_io.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/rename.test:
Manual mereg
- Only read *.pid
- Only allow it to contain a number
mysql-test/lib/mtr_io.pl:
Check that the value read from pidfile is a valid number consisting only of digits
mysql-test/lib/mtr_process.pl:
Only process .pid files in var/run dir and print a warning if other files are found there.
client/mysqltest.c:
Make the variables that are referenced from the "command_arg" arrays static to please the NetWare compiler.
Apparently the arrays can't reference local stack variables.
remove timeing dependant part of test
mysql-test/r/ndb_multi.result:
remove timeing dependant part of test
mysql-test/t/ndb_multi.test:
remove timeing dependant part of test
- Because my_seek actually is capable of returning an error code we should
exploit that in the best possible way.
- There might be kernel errors or other errors we can't predict and capturing
the return value of all system calls gives us better understanding of
possible errors.
mysys/mf_iocache.c:
- Added check on return value for my_seek
- Added comments
mysys/my_chsize.c:
- Added check on return value for my_seek
- Added comments
mysys/my_lock.c:
- Added check on return value for my_seek
- Added comments
mysys/my_seek.c:
- Added comments
If the user has specified --max-connections=N or --table-open-cache=M
options to the server, a warning could be given that some values were
recalculated, and table-open-cache could be assigned greater value.
Note that both warning and increase of table-open-cache were totally
harmless.
This patch fixes recalculation code to ensure that table-open-cache will
be never increased automatically and that a warning will be given only if
some values had to be decreased due to operating system limits.
No test case is provided because we neither can't predict nor control
operating system limits for maximal number of open files.
sql/mysql_priv.h:
Add constants for table_cache minimum and default values.
sql/mysqld.cc:
Fix max_connections and table_cache_size re-computation.
- Wait in loop with small sleep until tables has been renamed
mysql-test/t/rename.test:
To avoid scheduling effects wait for the tables to be renamed in a loop with small sleeps
before continuing with tests
mysql-test/include/wait_for_query_to_suceed.inc:
New BitKeeper file ``mysql-test/include/wait_for_query_to_suceed.inc''
It's not possible to flush the global status variables in 5.0
Update test case so it works by recording the value of handle_rollback
before and compare it to the value after
mysql-test/r/innodb_mysql.result:
Update result file
mysql-test/t/innodb_mysql.test:
It's not possible to reset the global status variables in 5.0 so intead its value
is recorded and compared to the after value.
It should not have changed.
sql/mysqld.cc:
Improve comments
sql/set_var.cc:
Improve comments
sql/sql_class.cc:
Improve comments
sql/sql_class.h:
Improve comments
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
Still leakage, make sure all unlinked operations are put back so they will be release
(on failing blob operations, when AO_IgnoreError)
ndb/src/ndbapi/NdbConnection.cpp:
Still leakage, make sure all unlinked operations are put back so they will be release
include/Makefile.am:
Move m_ctype.h from BUILT_SOURCES, it's in vcs
Update the rule for abi_check
include/mysql_h.ic:
Update the refernce and rename it to mysql_h.ic
Backport of the fix for bug #8143: A date with value 0 is treated as a NULL value
mysql-test/r/delete.result:
Fix for bug #23412: delete rows with null date field
- test result
mysql-test/t/delete.test:
Fix for bug #23412: delete rows with null date field
- test case
sql/sql_delete.cc:
Fix for bug #23412: delete rows with null date field
- during SELECT queries processing we convert 'date[time]_field is null'
conditions into 'date[time]_field = 0000-00-00[ 00:00:00]' for not null
DATE and DATETIME fields. To be consistent, we have to do the same for DELETE
queries. So we should call remove_eq_conds() in the mysql_delete() as well.
Also it may simplify and speed up DELETE queries execution.
a updatable view.
When there's a VIEW on a base table that have AUTO_INCREMENT column, and
this VIEW doesn't provide an access such column, after INSERT to such
VIEW LAST_INSERT_ID() did not return the value just generated.
This behaviour is intended and correct, because if the VIEW doesn't list
some columns then these columns are effectively hidden from the user,
and so any side effects of inserting default values to them.
However, there was a bug that such statement inserting into a view would
reset LAST_INSERT_ID() instead of leaving it unchanged.
This patch restores the original value of LAST_INSERT_ID() instead of
resetting it to zero.
mysql-test/r/view.result:
Add result for bug#22584: last_insert_id not updated after inserting
a record through a updatable view.
mysql-test/t/view.test:
Add test case for bug#22584: last_insert_id not updated after inserting
a record through a updatable view.
sql/sql_parse.cc:
When we have inserted into a view, and AUTO_INCREMENT column is not
accessed from this view, instead of setting LAST_INSERT_ID to zero set
it to the value it had before this statement was executed.
- Improve icheck rules in Makefile.am
include/Makefile.am:
Remove m_ctype from BUILT_SOURCES, it has been in bk for a looong time.
Improve the icheck rules
- Abort make if icheck fails to compare, very important.
- Don't include include files from /usr into the icheck file. Avoids problem when running
icheck on different machines.
- If no icheck is availabel, touch the mysql_h.ic file so it exists for "make dist"
include/mysql_h_abi.ic:
Remove all include files from /usr, no need to check that!
- Add two null bytes in "buff" variable allowing us to call
get_arg two times also for strings longer than sizeof(buff)
client/mysql.cc:
Make sure there are _two_ zero bytes at the end of buff, to allow 'get_arg' to be
called twice on long strings. The first time it will mark end of string with a
zero and the second time it will "skip ahead" to the first zero, and the find the
second one indicating end of buff.
mysql-test/r/mysql.result:
Update test results
mysql-test/t/mysql.test:
Add tests for "com_connect" function in mysql
Add test reported in bug
When executing the init_connect statement, thd->net.vio is set to 0, to
forbid sending any results to the client. As a side effect we don't log
possible errors, either.
Now we write warnings to the error log if an init_connect query
fails.
sql/sql_parse.cc:
Fix for bug #22158: Errors in init_connect terminate connections silently
- raise warnings if the init_connect execution fails.