Commit 73ad0fe4 authored by unknown's avatar unknown
Browse files

Merge bk-internal:/home/bk/mysql-4.1

into mysql.com:/home/mysqldev/tulin/mysql-4.1

parents f7d8d753 ee838b0b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ void ft_free_stopwords(void);
#define FT_SORTED 2
#define FT_EXPAND 4   /* query expansion */

FT_INFO *ft_init_search(uint,void *, uint, byte *, uint, byte *);
FT_INFO *ft_init_search(uint,void *, uint, byte *, uint,CHARSET_INFO *, byte *);
my_bool ft_boolean_check_syntax_string(const byte *);

#ifdef  __cplusplus
+4 −3
Original line number Diff line number Diff line
@@ -365,6 +365,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
        reset_tree(& ftb->no_dupes);
    }

    ftbw->off=0; /* in case of reinit */
    if (_ft2_search(ftb, ftbw, 1))
      return;
  }
@@ -373,7 +374,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)


FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
                                 uint query_len)
                                 uint query_len, CHARSET_INFO *cs)
{
  FTB       *ftb;
  FTB_EXPR  *ftbe;
@@ -385,8 +386,8 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
  ftb->state=UNINITIALIZED;
  ftb->info=info;
  ftb->keynr=keynr;
  ftb->charset= ((keynr==NO_SUCH_KEY) ?
           default_charset_info : info->s->keyinfo[keynr].seg->charset);
  ftb->charset=cs;
  DBUG_ASSERT(keynr==NO_SUCH_KEY || cs == info->s->keyinfo[keynr].seg->charset);
  ftb->with_scan=0;
  ftb->lastpos=HA_OFFSET_ERROR;
  bzero(& ftb->no_dupes, sizeof(TREE));
+3 −2
Original line number Diff line number Diff line
@@ -55,11 +55,12 @@ const struct _ft_vft _ft_vft_boolean = {


FT_INFO *ft_init_search(uint flags, void *info, uint keynr,
                        byte *query, uint query_len, byte *record)
                        byte *query, uint query_len, CHARSET_INFO *cs,
                        byte *record)
{
  FT_INFO *res;
  if (flags & FT_BOOL)
    res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len);
    res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len,cs);
  else
    res= ft_init_nlq_search((MI_INFO *)info, keynr, query, query_len, flags,
			    record);
+1 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ FT_WORD * _mi_ft_parserecord(MI_INFO *, uint, const byte *);
uint _mi_ft_parse(TREE *, MI_INFO *, uint, const byte *, my_bool);

FT_INFO *ft_init_nlq_search(MI_INFO *, uint, byte *, uint, uint, byte *);
FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint);
FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint, CHARSET_INFO *);

extern const struct _ft_vft _ft_vft_nlq;
int ft_nlq_read_next(FT_INFO *, char *);
+12 −0
Original line number Diff line number Diff line
@@ -633,3 +633,15 @@ No Field Count
0	1	100
0	2	100
drop table t1, t2;
CREATE TABLE t1 (
ID           int(11) NOT NULL auto_increment,
NO           int(11) NOT NULL default '0',
SEQ          int(11) NOT NULL default '0',
PRIMARY KEY  (ID),
KEY t1$NO    (SEQ,NO)
) ENGINE=MyISAM;
INSERT INTO t1 (SEQ, NO) SELECT "1" AS SEQ, IF(MAX(NO) IS NULL, 0, MAX(NO)) + 1 AS NO FROM t1 WHERE (SEQ = 1);
select SQL_BUFFER_RESULT * from t1 WHERE (SEQ = 1);
ID	NO	SEQ
1	1	1
drop table t1;
Loading