Commit 58860901 authored by serg@infomag.ape.relarn.ru's avatar serg@infomag.ape.relarn.ru
Browse files

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 ')
parent 807460bb
Loading
Loading
Loading
Loading

Makefile.am

100755 → 100644
+0 −0

File mode changed from 100755 to 100644.

acconfig.h

100755 → 100644
+0 −0

File mode changed from 100755 to 100644.

+9 −3
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ extern "C" {
#include <myisam.h>
#endif

#include <queues.h>

#define MYRG_NAME_EXT	".MRG"

	/* Param to/from myrg_info */
@@ -60,6 +62,7 @@ typedef struct st_myrg_info
  uint	 tables,options,reclength;
  my_bool cache_in_use;
  LIST	open_list;
  QUEUE     by_key;
} MYRG_INFO;


@@ -70,6 +73,9 @@ extern int myrg_delete(MYRG_INFO *file,const byte *buff);
extern MYRG_INFO *myrg_open(const char *name,int mode,int wait_if_locked);
extern int myrg_panic(enum ha_panic_function function);
extern int myrg_rfirst(MYRG_INFO *file,byte *buf,int inx);
extern int myrg_rlast(MYRG_INFO *file,byte *buf,int inx);
extern int myrg_rnext(MYRG_INFO *file,byte *buf,int inx);
extern int myrg_rprev(MYRG_INFO *file,byte *buf,int inx);
extern int myrg_rkey(MYRG_INFO *file,byte *buf,int inx,const byte *key,
		       uint key_len, enum ha_rkey_function search_flag);
extern int myrg_rrnd(MYRG_INFO *file,byte *buf,ulonglong pos);

include/mysql_version.h.in

100755 → 100644
+0 −0

File mode changed from 100755 to 100644.

+3 −0
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@ typedef struct st_queue {
int init_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
	       pbool max_at_top, int (*compare)(void *,byte *, byte *),
	       void *first_cmp_arg);
int reinit_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
                 pbool max_at_top, int (*compare)(void *,byte *, byte *),
                 void *first_cmp_arg);
void delete_queue(QUEUE *queue);
void queue_insert(QUEUE *queue,byte *element);
byte *queue_remove(QUEUE *queue,uint idx);
Loading