MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
  • MariaDB\ 71.8%
  • C++ 16.4%
  • C 10.4%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
unknown 813fc4104e A fix and a test case for Bug#6513 "Test Suite: Values inserted by using
cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
Crash while fetching from table with 5 million records."
A fix for a possible memory leak when fetching into an SP cursor
in a long loop.
The patch uses a common implementation of cursors in the binary protocol and 
in stored procedures and implements materialized cursors.
For implementation details, see comments in sql_cursor.cc


include/my_sys.h:
  - declaration for multi_alloc_root
libmysqld/Makefile.am:
  - drop protocol_cursor.cc, add sql_cursor.cc (replaces the old
  implementation of cursors with a new one)
mysql-test/r/ctype_ujis.result:
  - test results fixed (a test case for Bug#6513)
mysql-test/r/sp-big.result:
  - test results fixed (a test case for Bug#9819)
mysql-test/t/ctype_ujis.test:
  Add a test case for Bug#6513 "Test Suite: Values inserted by using cursor is
   interpreted latin1 character"
mysql-test/t/sp-big.test:
  Add a restricted test case for Bug#9819 "Cursors: Mysql Server Crash
  while fetching from table with 5 million records."
mysys/my_alloc.c:
  - an implementation of multi_alloc_root; this is largely a copy-paste
    from mulalloc.c, but the function is small and there is no easy way
    to reuse the existing C function.
sql/Makefile.am:
  - add sql_cursor.h, sql_cursor.cc (a new implementation of stored procedure
  cursors) and drop protocol_cursor.cc (the old one)
sql/handler.cc:
  - now TABLE object has its mem_root always initialized.
    Adjust the implementation handler::ha_open
sql/item_subselect.cc:
  - adjust to the changed declaration of st_select_lex_unit::prepare
sql/protocol.h:
  - drop Protocol_cursor
sql/sp_head.cc:
  - move juggling with Query_arena::free_list and Item::next to
    sp_eval_func_item, as this is needed in 3 places already.
sql/sp_head.h:
  - declare a no-op implementation for cleanup_stmt in sp_instr_cpush.
    This method is needed for non-materializing cursors, which are yet not 
    used in stored procedures.
  - declaration for sp_eval_func_item
sql/sp_rcontext.cc:
  - reimplement sp_cursor using the new implementation of server side cursors.
  - use sp_eval_func_item to assign values of SP variables from the
    row fetched from a cursor. This should fix a possible memory leak in 
    the old implementation of sp_cursor::fetch
sql/sp_rcontext.h:
  - reimplement sp_cursor using the new implementation of server side cursors.
sql/sql_class.cc:
  - disable the functionality that closes transient cursors at commit/rollback;
    transient cursors are not used in 5.0, instead we use materialized ones.
    To be enabled in a later version.
sql/sql_class.h:
  - adjust to the rename Cursor -> Server_side_cursor
  - additional declarations of select_union used in materialized cursors
sql/sql_derived.cc:
  - reuse bits of tmp table code in UNION, derived tables, and materialized
    cursors
  - cleanup comments
sql/sql_lex.h:
  - declarations of auxiliary methods used by materialized cursors
  - a cleanup in st_select_lex_unit interface
sql/sql_list.h:
  - add an array operator new[] to class Sql_alloc
sql/sql_prepare.cc:
  - split the tight coupling of cursors and prepared statements to reuse 
    the same implementation in stored procedures
  - cleanups of error processing in Prepared_statement::{prepare,execute}
sql/sql_select.cc:
  - move the implementation of sensitive (non-materializing) cursors to 
    sql_cursor.cc
  - make temporary tables self-contained: the table, its record and fields
    are allocated in TABLE::mem_root. This implementation is not clean
    and resets thd->mem_root several times because of the way create_tmp_table 
    works (many additional things are done inside it).
  - adjust to the changed declaration of st_select_lex_unit::prepare
sql/sql_select.h:
  - move the declaration of sensitive (non-materializing) cursors to 
    sql_cursor.cc
sql/sql_union.cc:
  - move pieces of st_select_unit::prepare to select_union and st_table
    methods to be able to reuse code in the implementation of materialized
    cursors
sql/sql_view.cc:
  - adjust to the changed signature of st_select_lex_unit::prepare
sql/table.cc:
  - implement auxiliary st_table methods for use with temporary tables
sql/table.h:
  - add declarations for auxiliary methods of st_table used to work with 
   temporary tables
tests/mysql_client_test.c:
  - if cursors are materialized, a parallel update of the table used
    in the cursor may go through: update the test.
sql/sql_cursor.cc:
  New BitKeeper file ``sql/sql_cursor.cc'' -- implementation of server side
  cursors
sql/sql_cursor.h:
  New BitKeeper file ``sql/sql_cursor.h'' - declarations for
  server side cursors.
2005-09-22 02:11:21 +04:00
bdb sql/mysql_priv.h 2005-06-09 15:48:57 +02:00
BitKeeper Merge mysql.com:/home/alexi/dev/mysql-4.1-0 2005-09-06 23:49:54 +04:00
BUILD Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0 2005-09-01 14:09:23 +02:00
client enabled mysqldump hex-blob option for bit fields 2005-09-14 15:46:31 +02:00
cmd-line-utils Merge mysqldev@production.mysql.com:jimw/mysql-5.0-readline 2005-07-18 18:04:52 -07:00
config/ac-macros Bug #12526 yassl: Crashes in "integer.cpp" 2005-09-15 08:59:29 +02:00
dbug Fix build using --without-server. (Bug #11680) 2005-08-23 11:25:24 -07:00
Docs Merge mysql.com:/space/my/mysql-4.1-build 2005-07-06 08:50:22 +02:00
extra Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2005-09-15 11:24:28 +02:00
heap Bug#12891: 2005-09-01 19:31:08 +05:00
include A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
innobase InnoDB: Reject foreign keys in temporary tables. Closes bug #12084. 2005-09-06 14:38:21 +03:00
libmysql Merging 2005-08-04 16:27:53 +05:00
libmysql_r Merge 2005-07-06 00:06:11 +02:00
libmysqld A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
man Merge with 4.1 2005-05-14 18:31:22 +03:00
myisam Merge mysql.com:/home/mydev/mysql-4.1-4100 2005-09-14 13:37:16 +02:00
myisammrg Merge 2005-07-06 00:06:11 +02:00
mysql-test A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
mysys A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
ndb BUG#13136 NdbTCP.cpp compile failure on OSX 10.2 2005-09-15 00:21:25 +10:00
netware Applied a couple of Netware related patches. 2005-08-28 11:38:18 +03:00
NEW-RPMS Import changeset 2000-07-31 21:29:14 +02:00
os2 Many files: 2005-01-01 20:54:45 +01:00
pstack few harmless warnings from automated code-checking tools fixed 2005-01-08 21:25:31 +01:00
regex fixed function sig so it will compile with Visual C++ 8 2005-07-14 03:49:54 -06:00
scripts make_binary_distribution.sh: 2005-09-20 19:26:00 +02:00
server-tools some last minute Windows compile fixes and makefile corrections 2005-09-15 14:32:01 -05:00
sql A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
sql-bench Cleanup during review 2005-06-05 17:01:20 +03:00
sql-common Added option --valgrind-mysqltest to mysql-test-run 2005-09-14 01:41:44 +03:00
SSL Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
strings Fix for Metrowerks compiler. 2005-09-14 16:10:56 +03:00
support-files Fix handling of libexecdir and sbindir in mysql.server, and note that 2005-08-26 12:02:06 -07:00
tests A fix and a test case for Bug#6513 "Test Suite: Values inserted by using 2005-09-22 02:11:21 +04:00
tools Merge 2005-07-06 00:06:11 +02:00
VC++Files More fixes to the VC 7.1 solution and vcproj files 2005-09-19 23:23:23 -05:00
vio Merge mysql.com:/home/jimw/my/mysql-4.1-clean 2005-09-12 17:00:50 -07:00
zlib - applied a security fix to inftrees.h from the bundled zlib to resolve a second 2005-07-27 14:55:08 +02:00
.bzrignore Merge eel.(none):/home/jonas/src/mysql-4.1 2005-09-09 12:54:03 +02:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
configure.in - bumped up version number from 5.0.13-beta to 5.0.13-rc 2005-09-15 14:53:38 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
Makefile.am Removed redundant case in Makefile.am 2005-09-02 12:20:18 +02:00
README README: 2005-09-12 12:44:13 -05:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http:/dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.