diff options
author | unknown <bell@sanja.is.com.ua> | 2004-11-16 22:58:02 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-11-16 22:58:02 +0200 |
commit | 70ed3160d97d66da74ab031dde64217d501abd6e (patch) | |
tree | cd665433429045da9853d6f0ecfab97ed15fe6f8 /sql | |
parent | dd93baa00da5e27f1a27df5762fe112f777f53c1 (diff) | |
download | mariadb-git-70ed3160d97d66da74ab031dde64217d501abd6e.tar.gz |
backport Serg's fix of FT interface (BUG#6523)
mysql-test/r/subselect.result:
subqueries with full text search
mysql-test/t/subselect.test:
subqueries with full text search
sql/ha_myisam.h:
backport Serg's fix of FT interface
sql/handler.h:
backport Serg's fix of FT interface
sql/opt_range.h:
backport Serg's fix of FT interface
sql/sql_select.cc:
comment for previous patch
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_myisam.h | 1 | ||||
-rw-r--r-- | sql/handler.h | 1 | ||||
-rw-r--r-- | sql/opt_range.h | 2 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
4 files changed, 3 insertions, 3 deletions
diff --git a/sql/ha_myisam.h b/sql/ha_myisam.h index 6fde84d6f6f..972d6b18e19 100644 --- a/sql/ha_myisam.h +++ b/sql/ha_myisam.h @@ -81,7 +81,6 @@ class ha_myisam: public handler int index_first(byte * buf); int index_last(byte * buf); int index_next_same(byte *buf, const byte *key, uint keylen); - int index_end() { ft_handler=NULL; return 0; } int ft_init() { if (!ft_handler) diff --git a/sql/handler.h b/sql/handler.h index 252861e5c37..245defe61e0 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -372,6 +372,7 @@ public: virtual int read_range_next(); int compare_key(key_range *range); virtual int ft_init() { return HA_ERR_WRONG_COMMAND; } + void ft_end() { ft_handler=NULL; } virtual FT_INFO *ft_init_ext(uint flags,uint inx,const byte *key, uint keylen) { return NULL; } diff --git a/sql/opt_range.h b/sql/opt_range.h index 9b2e9e45bac..5a2044a59f4 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -154,7 +154,7 @@ class FT_SELECT: public QUICK_SELECT { public: FT_SELECT(THD *thd, TABLE *table, uint key): QUICK_SELECT (thd, table, key, 1) { init(); } - + ~FT_SELECT() { file->ft_end(); } int init() { return error= file->ft_init(); } int get_next() { return error= file->ft_read(record); } }; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 06731d26073..5809bd2b7be 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -3834,7 +3834,7 @@ JOIN::join_free(bool full) DBUG_ENTER("JOIN::join_free"); full= full || (!select_lex->uncacheable && - !thd->lex->describe); + !thd->lex->describe); // do not cleanup too early on EXPLAIN if (table) { |