mariadb/myisammrg/myrg_rprev.c

54 lines
1.6 KiB
C
Raw Normal View History

PART I: Keys support for MyMERGE tables myisammrg/ | Makefile.am | mymrgdef.h | support for keys myrg_open.c | & myrg_queue.c | bugfixes myrg_rfirst.c | myrg_rkey.c | myrg_rlast.c | myrg_rnext.c | myrg_rprev.c | myrg_rrnd.c | include/myisammrg.h | rkey/rnext/etc prototyped sql/ | ha_myisammrg.cc | support for keys ha_myisammrg.h | myisam/ | mi_rkey.c | buf==NULL extension, _mi_rkey() mi_rnext.c | mi_rprev.c | include/queues.h | reinit_queue() - same as init_queue, but w/o malloc mysys/queues.c | PART II: Miscellaneous myisam/common_words | deleted (looks like I checked it in by mistake) some files (like acconfig.h, Makefile.am, COPYING.LIB, etc) | Change mode to -rw-r--r-- (by `chmod a-x ') include/queues.h: Initial, from cvs myisammrg/Makefile.am: Initial, from cvs myisammrg/mymrgdef.h: Initial, from cvs myisammrg/myrg_open.c: Initial, from cvs mysys/queues.c: Initial, from cvs BitKeeper/deleted/.del-common_words: ***MISSING WEAVE*** Makefile.am: Change mode to -rw-r--r-- include/mysql_version.h.in: Change mode to -rw-r--r-- libmysql/acconfig.h: ***MISSING WEAVE*** mysys/COPYING.LIB: Change mode to -rw-r--r-- sql/item_uniq.cc: Change mode to -rw-r--r-- sql/item_uniq.h: Change mode to -rw-r--r-- sql/share/Makefile.am: Change mode to -rw-r--r-- strings/ChangeLog: Change mode to -rw-r--r-- support-files/Makefile.am: Change mode to -rw-r--r-- myisam/mi_rkey.c: looks like rkey/rnext for MyMERGE is working myisam/mi_rnext.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_queue.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rkey.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rnext.c: probably, works myisammrg/myrg_rprev.c: probably, works include/myisammrg.h: rkey/rnext/etc prototyped myisam/mi_rprev.c: buf==NULL, extension sql/ha_myisammrg.cc: support for keys sql/ha_myisammrg.h: support for keys myisammrg/myrg_rrnd.c: ORDER BY didn't work acconfig.h: Change mode to -rw-r--r--
2000-08-14 13:27:19 +02:00
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult 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
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
Updated manual about embedded version. Speed up column-completion in 'mysql' Don't use ISAM if HAVE_ISAM is not defined A lot of fixes for the embedded version. All libraries are now included in libmysqld.a Changed arguments to convert_dirname() to make it more general. Renamed files in the 'merge' directory to all use a common prefix. Don't compile both assembler and C functions on x86 BitKeeper/deleted/.del-mf_pack2.c~f07795bbcf57be7: Delete: mysys/mf_pack2.c Docs/manual.texi: Updated chapter about embedded version acinclude.m4: Fix for using BDB and InnoDB with embedded client/completion_hash.cc: Speed up memory allocation client/completion_hash.h: Speed up memory allocation client/mysql.cc: Speed up memory allocation client/mysqldump.c: Fix to use now convert_dirname client/mysqltest.c: Fixed memory allocation bugs. Added --basedir=#, --compress=#, --server-arg, --server-file. Fixes for embedded version Changed silent mode to -s instead of -q include/my_global.h: Update to use HAVE_ISAM include/my_sys.h: Cleanup of fn_format() include/mysql.h: Prepare FIELD struct for 4.1 include/mysql_embed.h: Don't use ISAM in embedded version innobase/include/srv0srv.h: Make InnoDB startup/shutdown silent in embedded version innobase/log/log0log.c: Make InnoDB startup/shutdown silent in embedded version innobase/srv/srv0srv.c: Make InnoDB startup/shutdown silent in embedded version innobase/srv/srv0start.c: Make InnoDB startup/shutdown silent in embedded version isam/isamlog.c: new convert_dirname libmysql/libmysql.c: Prepare for 4.1 libmysqld/Makefile.am: Changed to create one libmysqld.a file that includes all other libraries. libmysqld/examples/Makefile.am: Changed to use new libmysqld.a libmysqld/examples/test-run: Lot's of fixes to get new mysqltest with embedded MySQL to work. libmysqld/lib_sql.cc: Changed type of arguments for mysql_server_init() to make code more portable. libmysqld/libmysqld.c: Cleanup merge/Makefile.am: Rename to use common prefix. merge/mrg_close.c: Rename to use common prefix. merge/mrg_create.c: Rename to use common prefix. merge/mrg_def.h: Rename to use common prefix. merge/mrg_delete.c: Rename to use common prefix. merge/mrg_extra.c: Rename to use common prefix. merge/mrg_info.c: Rename to use common prefix. merge/mrg_locking.c: Rename to use common prefix. merge/mrg_open.c: Rename to use common prefix. merge/mrg_panic.c: Rename to use common prefix. merge/mrg_rrnd.c: Rename to use common prefix. merge/mrg_rsame.c: Rename to use common prefix. merge/mrg_static.c: Rename to use common prefix. merge/mrg_update.c: Rename to use common prefix. myisam/myisamlog.c: Use new convert_dirname myisammrg/Makefile.am: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_close.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_create.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_def.h: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_delete.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_extra.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_info.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_locking.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_open.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_panic.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_queue.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rfirst.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rkey.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rlast.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rnext.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rprev.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rrnd.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_rsame.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_static.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_update.c: Renamed mymrgdef.h -> myrg_def.h myisammrg/myrg_write.c: Renamed mymrgdef.h -> myrg_def.h mysql-test/include/master-slave.inc: Use short filenames for sockets (portability problem on Mac OS X) mysql-test/mysql-test-run.sh: cleanup mysql-test/r/auto_increment.result: Cleanup of tests for embedded version mysql-test/r/func_system.result: Cleanup of tests for embedded version mysql-test/r/isam.result: Cleanup of tests for embedded version mysql-test/r/lock.result: Cleanup of tests for embedded version mysql-test/r/show_check.result: Cleanup of tests for embedded version mysql-test/t/auto_increment.test: Cleanup of tests for embedded version mysql-test/t/backup.test: Cleanup of tests for embedded version mysql-test/t/count_distinct2-master.opt: Cleanup of tests for embedded version mysql-test/t/count_distinct2.test: Cleanup of tests for embedded version mysql-test/t/create.test: Cleanup of tests for embedded version mysql-test/t/flush.test: Cleanup of tests for embedded version mysql-test/t/func_system.test: Cleanup of tests for embedded version mysql-test/t/isam.test: Cleanup of tests for embedded version mysql-test/t/kill.test: Cleanup of tests for embedded version mysql-test/t/lock.test: Cleanup of tests for embedded version mysql-test/t/order_fill_sortbuf-master.opt: Cleanup of tests for embedded version mysql-test/t/rpl000015.test: Use short filenames for sockets (portability problem on Mac OS X) mysql-test/t/rpl000016.test: Use short filenames for sockets (portability problem on Mac OS X) mysql-test/t/rpl000017.test: Use short filenames for sockets (portability problem on Mac OS X) mysql-test/t/rpl000018.test: Use short filenames for sockets (portability problem on Mac OS X) mysql-test/t/show_check.test: Move ISAM specific tests to isam.test mysql-test/t/status.test: Cleanup of tests for embedded version mysql-test/t/tablelock.test: Cleanup mysys/Makefile.am: Removed not used mf_pack2.c mysys/charset.c: new convert_dirname mysys/default.c: new convert_dirname mysys/mf_dirname.c: Changed convert_dirname() to be more general mysys/mf_format.c: Changed bit flags to fn_format() to defines. Added handling of relative filenames BitKeeper/etc/ignore: Added libmysqld/examples/test-gdbinit scripts/mysql_explain_log to the ignore list mysys/mf_pack.c: new convert_dirname mysys/mf_tempfile.c: new convert_dirname scripts/Makefile.am: Adde mysql_explain_log scripts/mysql_config.sh: Added support of --libmysqld-libs sql/Makefile.am: Fix to use 'innodb_system_libs' sql/ha_innobase.cc: Make InnoDB startup/shutdown silent in embedded version sql/ha_isam.cc: Added handling of HAVE_ISAM sql/ha_isammrg.cc: Added handling of HAVE_ISAM sql/ha_myisam.cc: Handle relative paths; Needed to support BACKUP TABLE in embedded version sql/ha_myisammrg.cc: Rename of filenames sql/handler.cc: Added handling of HAVE_ISAM sql/item_func.cc: Fix for ecc (Intel Compiler) sql/mysql_priv.h: Added global variable 'mysql_embedded' sql/mysqld.cc: Use HAVE_ISAM sql/sql_parse.cc: Use new convert_dirname sql/sql_select.cc: Fix for ecc (Intel Compiler) sql/sql_table.cc: Added handling of relative filenames strings/Makefile.am: Don't compile both assembler and C functions on x86 strings/bchange.c: cleanup
2001-10-08 03:58:07 +02:00
#include "myrg_def.h"
PART I: Keys support for MyMERGE tables myisammrg/ | Makefile.am | mymrgdef.h | support for keys myrg_open.c | & myrg_queue.c | bugfixes myrg_rfirst.c | myrg_rkey.c | myrg_rlast.c | myrg_rnext.c | myrg_rprev.c | myrg_rrnd.c | include/myisammrg.h | rkey/rnext/etc prototyped sql/ | ha_myisammrg.cc | support for keys ha_myisammrg.h | myisam/ | mi_rkey.c | buf==NULL extension, _mi_rkey() mi_rnext.c | mi_rprev.c | include/queues.h | reinit_queue() - same as init_queue, but w/o malloc mysys/queues.c | PART II: Miscellaneous myisam/common_words | deleted (looks like I checked it in by mistake) some files (like acconfig.h, Makefile.am, COPYING.LIB, etc) | Change mode to -rw-r--r-- (by `chmod a-x ') include/queues.h: Initial, from cvs myisammrg/Makefile.am: Initial, from cvs myisammrg/mymrgdef.h: Initial, from cvs myisammrg/myrg_open.c: Initial, from cvs mysys/queues.c: Initial, from cvs BitKeeper/deleted/.del-common_words: ***MISSING WEAVE*** Makefile.am: Change mode to -rw-r--r-- include/mysql_version.h.in: Change mode to -rw-r--r-- libmysql/acconfig.h: ***MISSING WEAVE*** mysys/COPYING.LIB: Change mode to -rw-r--r-- sql/item_uniq.cc: Change mode to -rw-r--r-- sql/item_uniq.h: Change mode to -rw-r--r-- sql/share/Makefile.am: Change mode to -rw-r--r-- strings/ChangeLog: Change mode to -rw-r--r-- support-files/Makefile.am: Change mode to -rw-r--r-- myisam/mi_rkey.c: looks like rkey/rnext for MyMERGE is working myisam/mi_rnext.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_queue.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rkey.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rnext.c: probably, works myisammrg/myrg_rprev.c: probably, works include/myisammrg.h: rkey/rnext/etc prototyped myisam/mi_rprev.c: buf==NULL, extension sql/ha_myisammrg.cc: support for keys sql/ha_myisammrg.h: support for keys myisammrg/myrg_rrnd.c: ORDER BY didn't work acconfig.h: Change mode to -rw-r--r--
2000-08-14 13:27:19 +02:00
/*
Read previous row with the same key as previous read
*/
int myrg_rprev(MYRG_INFO *info, byte *buf, int inx)
{
int err;
Fixes for MERGE TABLES and HEAP tables Docs/manual.texi: Updated MERGE table stuff + more extra/perror.c: Added missing error messages include/myisammrg.h: Fixes for MERGE TABLE include/queues.h: Fixes for MERGE TABLE isam/isamlog.c: Fixed hard bug myisam/mi_log.c: cleanup myisam/mi_open.c: Fixed file name format in myisam log myisam/myisamlog.c: Bug fixes myisammrg/mymrgdef.h: Fixes for MERGE TABLE myisammrg/myrg_create.c: Fixes for MERGE TABLE myisammrg/myrg_open.c: Fixes for MERGE TABLE myisammrg/myrg_queue.c: Fixes for MERGE TABLE myisammrg/myrg_rfirst.c: Fixes for MERGE TABLE myisammrg/myrg_rkey.c: Fixes for MERGE TABLE myisammrg/myrg_rlast.c: Fixes for MERGE TABLE myisammrg/myrg_rnext.c: Fixes for MERGE TABLE myisammrg/myrg_rprev.c: Fixes for MERGE TABLE myisammrg/myrg_rrnd.c: Fixes for MERGE TABLE mysql.proj: update mysys/queues.c: Fixed bug when using reverse queues sql-bench/test-insert.sh: Separated some things to get better timings sql/ha_heap.cc: Fixed heap table bug sql/ha_heap.h: Fixed heap table bug sql/ha_myisam.h: Fixed wrong max_keys sql/ha_myisammrg.cc: Fixed MERGE TABLES sql/ha_myisammrg.h: Fixed MERGE TABLES sql/handler.h: Fix for MERGE TABLES and HEAP tables sql/lex.h: Fixed MERGE TABLES sql/mysql_priv.h: Cleanup of code sql/sql_acl.cc: Fixed that privilege tables are flushed at start sql/sql_lex.h: Fixed MERGE TABLES sql/sql_parse.cc: Fixed MERGE TABLES sql/sql_select.cc: Fixes for HEAP tables sql/sql_table.cc: Cleanup sql/sql_yacc.yy: Fixed MERGE TABLES
2000-09-14 01:39:07 +02:00
MI_INFO *mi;
PART I: Keys support for MyMERGE tables myisammrg/ | Makefile.am | mymrgdef.h | support for keys myrg_open.c | & myrg_queue.c | bugfixes myrg_rfirst.c | myrg_rkey.c | myrg_rlast.c | myrg_rnext.c | myrg_rprev.c | myrg_rrnd.c | include/myisammrg.h | rkey/rnext/etc prototyped sql/ | ha_myisammrg.cc | support for keys ha_myisammrg.h | myisam/ | mi_rkey.c | buf==NULL extension, _mi_rkey() mi_rnext.c | mi_rprev.c | include/queues.h | reinit_queue() - same as init_queue, but w/o malloc mysys/queues.c | PART II: Miscellaneous myisam/common_words | deleted (looks like I checked it in by mistake) some files (like acconfig.h, Makefile.am, COPYING.LIB, etc) | Change mode to -rw-r--r-- (by `chmod a-x ') include/queues.h: Initial, from cvs myisammrg/Makefile.am: Initial, from cvs myisammrg/mymrgdef.h: Initial, from cvs myisammrg/myrg_open.c: Initial, from cvs mysys/queues.c: Initial, from cvs BitKeeper/deleted/.del-common_words: ***MISSING WEAVE*** Makefile.am: Change mode to -rw-r--r-- include/mysql_version.h.in: Change mode to -rw-r--r-- libmysql/acconfig.h: ***MISSING WEAVE*** mysys/COPYING.LIB: Change mode to -rw-r--r-- sql/item_uniq.cc: Change mode to -rw-r--r-- sql/item_uniq.h: Change mode to -rw-r--r-- sql/share/Makefile.am: Change mode to -rw-r--r-- strings/ChangeLog: Change mode to -rw-r--r-- support-files/Makefile.am: Change mode to -rw-r--r-- myisam/mi_rkey.c: looks like rkey/rnext for MyMERGE is working myisam/mi_rnext.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_queue.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rkey.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rnext.c: probably, works myisammrg/myrg_rprev.c: probably, works include/myisammrg.h: rkey/rnext/etc prototyped myisam/mi_rprev.c: buf==NULL, extension sql/ha_myisammrg.cc: support for keys sql/ha_myisammrg.h: support for keys myisammrg/myrg_rrnd.c: ORDER BY didn't work acconfig.h: Change mode to -rw-r--r--
2000-08-14 13:27:19 +02:00
if (!info->current_table)
return (HA_ERR_KEY_NOT_FOUND);
Fixes for MERGE TABLES and HEAP tables Docs/manual.texi: Updated MERGE table stuff + more extra/perror.c: Added missing error messages include/myisammrg.h: Fixes for MERGE TABLE include/queues.h: Fixes for MERGE TABLE isam/isamlog.c: Fixed hard bug myisam/mi_log.c: cleanup myisam/mi_open.c: Fixed file name format in myisam log myisam/myisamlog.c: Bug fixes myisammrg/mymrgdef.h: Fixes for MERGE TABLE myisammrg/myrg_create.c: Fixes for MERGE TABLE myisammrg/myrg_open.c: Fixes for MERGE TABLE myisammrg/myrg_queue.c: Fixes for MERGE TABLE myisammrg/myrg_rfirst.c: Fixes for MERGE TABLE myisammrg/myrg_rkey.c: Fixes for MERGE TABLE myisammrg/myrg_rlast.c: Fixes for MERGE TABLE myisammrg/myrg_rnext.c: Fixes for MERGE TABLE myisammrg/myrg_rprev.c: Fixes for MERGE TABLE myisammrg/myrg_rrnd.c: Fixes for MERGE TABLE mysql.proj: update mysys/queues.c: Fixed bug when using reverse queues sql-bench/test-insert.sh: Separated some things to get better timings sql/ha_heap.cc: Fixed heap table bug sql/ha_heap.h: Fixed heap table bug sql/ha_myisam.h: Fixed wrong max_keys sql/ha_myisammrg.cc: Fixed MERGE TABLES sql/ha_myisammrg.h: Fixed MERGE TABLES sql/handler.h: Fix for MERGE TABLES and HEAP tables sql/lex.h: Fixed MERGE TABLES sql/mysql_priv.h: Cleanup of code sql/sql_acl.cc: Fixed that privilege tables are flushed at start sql/sql_lex.h: Fixed MERGE TABLES sql/sql_parse.cc: Fixed MERGE TABLES sql/sql_select.cc: Fixes for HEAP tables sql/sql_table.cc: Cleanup sql/sql_yacc.yy: Fixed MERGE TABLES
2000-09-14 01:39:07 +02:00
/* at first, do rprev for the table found before */
if ((err=mi_rprev(info->current_table->table,NULL,inx)))
PART I: Keys support for MyMERGE tables myisammrg/ | Makefile.am | mymrgdef.h | support for keys myrg_open.c | & myrg_queue.c | bugfixes myrg_rfirst.c | myrg_rkey.c | myrg_rlast.c | myrg_rnext.c | myrg_rprev.c | myrg_rrnd.c | include/myisammrg.h | rkey/rnext/etc prototyped sql/ | ha_myisammrg.cc | support for keys ha_myisammrg.h | myisam/ | mi_rkey.c | buf==NULL extension, _mi_rkey() mi_rnext.c | mi_rprev.c | include/queues.h | reinit_queue() - same as init_queue, but w/o malloc mysys/queues.c | PART II: Miscellaneous myisam/common_words | deleted (looks like I checked it in by mistake) some files (like acconfig.h, Makefile.am, COPYING.LIB, etc) | Change mode to -rw-r--r-- (by `chmod a-x ') include/queues.h: Initial, from cvs myisammrg/Makefile.am: Initial, from cvs myisammrg/mymrgdef.h: Initial, from cvs myisammrg/myrg_open.c: Initial, from cvs mysys/queues.c: Initial, from cvs BitKeeper/deleted/.del-common_words: ***MISSING WEAVE*** Makefile.am: Change mode to -rw-r--r-- include/mysql_version.h.in: Change mode to -rw-r--r-- libmysql/acconfig.h: ***MISSING WEAVE*** mysys/COPYING.LIB: Change mode to -rw-r--r-- sql/item_uniq.cc: Change mode to -rw-r--r-- sql/item_uniq.h: Change mode to -rw-r--r-- sql/share/Makefile.am: Change mode to -rw-r--r-- strings/ChangeLog: Change mode to -rw-r--r-- support-files/Makefile.am: Change mode to -rw-r--r-- myisam/mi_rkey.c: looks like rkey/rnext for MyMERGE is working myisam/mi_rnext.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_queue.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rkey.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rnext.c: probably, works myisammrg/myrg_rprev.c: probably, works include/myisammrg.h: rkey/rnext/etc prototyped myisam/mi_rprev.c: buf==NULL, extension sql/ha_myisammrg.cc: support for keys sql/ha_myisammrg.h: support for keys myisammrg/myrg_rrnd.c: ORDER BY didn't work acconfig.h: Change mode to -rw-r--r--
2000-08-14 13:27:19 +02:00
{
Fixes for MERGE TABLES and HEAP tables Docs/manual.texi: Updated MERGE table stuff + more extra/perror.c: Added missing error messages include/myisammrg.h: Fixes for MERGE TABLE include/queues.h: Fixes for MERGE TABLE isam/isamlog.c: Fixed hard bug myisam/mi_log.c: cleanup myisam/mi_open.c: Fixed file name format in myisam log myisam/myisamlog.c: Bug fixes myisammrg/mymrgdef.h: Fixes for MERGE TABLE myisammrg/myrg_create.c: Fixes for MERGE TABLE myisammrg/myrg_open.c: Fixes for MERGE TABLE myisammrg/myrg_queue.c: Fixes for MERGE TABLE myisammrg/myrg_rfirst.c: Fixes for MERGE TABLE myisammrg/myrg_rkey.c: Fixes for MERGE TABLE myisammrg/myrg_rlast.c: Fixes for MERGE TABLE myisammrg/myrg_rnext.c: Fixes for MERGE TABLE myisammrg/myrg_rprev.c: Fixes for MERGE TABLE myisammrg/myrg_rrnd.c: Fixes for MERGE TABLE mysql.proj: update mysys/queues.c: Fixed bug when using reverse queues sql-bench/test-insert.sh: Separated some things to get better timings sql/ha_heap.cc: Fixed heap table bug sql/ha_heap.h: Fixed heap table bug sql/ha_myisam.h: Fixed wrong max_keys sql/ha_myisammrg.cc: Fixed MERGE TABLES sql/ha_myisammrg.h: Fixed MERGE TABLES sql/handler.h: Fix for MERGE TABLES and HEAP tables sql/lex.h: Fixed MERGE TABLES sql/mysql_priv.h: Cleanup of code sql/sql_acl.cc: Fixed that privilege tables are flushed at start sql/sql_lex.h: Fixed MERGE TABLES sql/sql_parse.cc: Fixed MERGE TABLES sql/sql_select.cc: Fixes for HEAP tables sql/sql_table.cc: Cleanup sql/sql_yacc.yy: Fixed MERGE TABLES
2000-09-14 01:39:07 +02:00
if (err == HA_ERR_END_OF_FILE)
{
Fixes for MERGE TABLES and HEAP tables Docs/manual.texi: Updated MERGE table stuff + more extra/perror.c: Added missing error messages include/myisammrg.h: Fixes for MERGE TABLE include/queues.h: Fixes for MERGE TABLE isam/isamlog.c: Fixed hard bug myisam/mi_log.c: cleanup myisam/mi_open.c: Fixed file name format in myisam log myisam/myisamlog.c: Bug fixes myisammrg/mymrgdef.h: Fixes for MERGE TABLE myisammrg/myrg_create.c: Fixes for MERGE TABLE myisammrg/myrg_open.c: Fixes for MERGE TABLE myisammrg/myrg_queue.c: Fixes for MERGE TABLE myisammrg/myrg_rfirst.c: Fixes for MERGE TABLE myisammrg/myrg_rkey.c: Fixes for MERGE TABLE myisammrg/myrg_rlast.c: Fixes for MERGE TABLE myisammrg/myrg_rnext.c: Fixes for MERGE TABLE myisammrg/myrg_rprev.c: Fixes for MERGE TABLE myisammrg/myrg_rrnd.c: Fixes for MERGE TABLE mysql.proj: update mysys/queues.c: Fixed bug when using reverse queues sql-bench/test-insert.sh: Separated some things to get better timings sql/ha_heap.cc: Fixed heap table bug sql/ha_heap.h: Fixed heap table bug sql/ha_myisam.h: Fixed wrong max_keys sql/ha_myisammrg.cc: Fixed MERGE TABLES sql/ha_myisammrg.h: Fixed MERGE TABLES sql/handler.h: Fix for MERGE TABLES and HEAP tables sql/lex.h: Fixed MERGE TABLES sql/mysql_priv.h: Cleanup of code sql/sql_acl.cc: Fixed that privilege tables are flushed at start sql/sql_lex.h: Fixed MERGE TABLES sql/sql_parse.cc: Fixed MERGE TABLES sql/sql_select.cc: Fixes for HEAP tables sql/sql_table.cc: Cleanup sql/sql_yacc.yy: Fixed MERGE TABLES
2000-09-14 01:39:07 +02:00
queue_remove(&(info->by_key),0);
if (!info->by_key.elements)
return HA_ERR_END_OF_FILE;
}
Fixes for MERGE TABLES and HEAP tables Docs/manual.texi: Updated MERGE table stuff + more extra/perror.c: Added missing error messages include/myisammrg.h: Fixes for MERGE TABLE include/queues.h: Fixes for MERGE TABLE isam/isamlog.c: Fixed hard bug myisam/mi_log.c: cleanup myisam/mi_open.c: Fixed file name format in myisam log myisam/myisamlog.c: Bug fixes myisammrg/mymrgdef.h: Fixes for MERGE TABLE myisammrg/myrg_create.c: Fixes for MERGE TABLE myisammrg/myrg_open.c: Fixes for MERGE TABLE myisammrg/myrg_queue.c: Fixes for MERGE TABLE myisammrg/myrg_rfirst.c: Fixes for MERGE TABLE myisammrg/myrg_rkey.c: Fixes for MERGE TABLE myisammrg/myrg_rlast.c: Fixes for MERGE TABLE myisammrg/myrg_rnext.c: Fixes for MERGE TABLE myisammrg/myrg_rprev.c: Fixes for MERGE TABLE myisammrg/myrg_rrnd.c: Fixes for MERGE TABLE mysql.proj: update mysys/queues.c: Fixed bug when using reverse queues sql-bench/test-insert.sh: Separated some things to get better timings sql/ha_heap.cc: Fixed heap table bug sql/ha_heap.h: Fixed heap table bug sql/ha_myisam.h: Fixed wrong max_keys sql/ha_myisammrg.cc: Fixed MERGE TABLES sql/ha_myisammrg.h: Fixed MERGE TABLES sql/handler.h: Fix for MERGE TABLES and HEAP tables sql/lex.h: Fixed MERGE TABLES sql/mysql_priv.h: Cleanup of code sql/sql_acl.cc: Fixed that privilege tables are flushed at start sql/sql_lex.h: Fixed MERGE TABLES sql/sql_parse.cc: Fixed MERGE TABLES sql/sql_select.cc: Fixes for HEAP tables sql/sql_table.cc: Cleanup sql/sql_yacc.yy: Fixed MERGE TABLES
2000-09-14 01:39:07 +02:00
else
return err;
PART I: Keys support for MyMERGE tables myisammrg/ | Makefile.am | mymrgdef.h | support for keys myrg_open.c | & myrg_queue.c | bugfixes myrg_rfirst.c | myrg_rkey.c | myrg_rlast.c | myrg_rnext.c | myrg_rprev.c | myrg_rrnd.c | include/myisammrg.h | rkey/rnext/etc prototyped sql/ | ha_myisammrg.cc | support for keys ha_myisammrg.h | myisam/ | mi_rkey.c | buf==NULL extension, _mi_rkey() mi_rnext.c | mi_rprev.c | include/queues.h | reinit_queue() - same as init_queue, but w/o malloc mysys/queues.c | PART II: Miscellaneous myisam/common_words | deleted (looks like I checked it in by mistake) some files (like acconfig.h, Makefile.am, COPYING.LIB, etc) | Change mode to -rw-r--r-- (by `chmod a-x ') include/queues.h: Initial, from cvs myisammrg/Makefile.am: Initial, from cvs myisammrg/mymrgdef.h: Initial, from cvs myisammrg/myrg_open.c: Initial, from cvs mysys/queues.c: Initial, from cvs BitKeeper/deleted/.del-common_words: ***MISSING WEAVE*** Makefile.am: Change mode to -rw-r--r-- include/mysql_version.h.in: Change mode to -rw-r--r-- libmysql/acconfig.h: ***MISSING WEAVE*** mysys/COPYING.LIB: Change mode to -rw-r--r-- sql/item_uniq.cc: Change mode to -rw-r--r-- sql/item_uniq.h: Change mode to -rw-r--r-- sql/share/Makefile.am: Change mode to -rw-r--r-- strings/ChangeLog: Change mode to -rw-r--r-- support-files/Makefile.am: Change mode to -rw-r--r-- myisam/mi_rkey.c: looks like rkey/rnext for MyMERGE is working myisam/mi_rnext.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_queue.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rkey.c: looks like rkey/rnext for MyMERGE is working myisammrg/myrg_rnext.c: probably, works myisammrg/myrg_rprev.c: probably, works include/myisammrg.h: rkey/rnext/etc prototyped myisam/mi_rprev.c: buf==NULL, extension sql/ha_myisammrg.cc: support for keys sql/ha_myisammrg.h: support for keys myisammrg/myrg_rrnd.c: ORDER BY didn't work acconfig.h: Change mode to -rw-r--r--
2000-08-14 13:27:19 +02:00
}
else
{
/* Found here, adding to queue */
queue_top(&(info->by_key))=(byte *)(info->current_table);
queue_replaced(&(info->by_key));
}
/* now, mymerge's read_prev is as simple as one queue_top */
mi=(info->current_table=(MYRG_TABLE *)queue_top(&(info->by_key)))->table;
return mi_rrnd(mi,buf,mi->lastpos);
}