diff options
author | unknown <bell@sanja.is.com.ua> | 2004-01-17 15:28:56 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-01-17 15:28:56 +0200 |
commit | aa35b8c1b155474bb8c5c4f7ded55a582ee8ad1e (patch) | |
tree | 9a0c570962c96341a28efed5e066dbf13e154954 /sql/sql_derived.cc | |
parent | 04bf624289a2786e89ff3236a440a76def69bfcf (diff) | |
parent | d63d204c07563050d99f16a9ff35e2c1e93a9d05 (diff) | |
download | mariadb-git-aa35b8c1b155474bb8c5c4f7ded55a582ee8ad1e.tar.gz |
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-insert-4.1
sql/sql_derived.cc:
Auto merged
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r-- | sql/sql_derived.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index d70917eb47f..374e56ecdd4 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -146,17 +146,19 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, } derived_result->set_table(table); - unit->offset_limit_cnt= first_select->offset_limit; - unit->select_limit_cnt= first_select->select_limit+ - first_select->offset_limit; - if (unit->select_limit_cnt < first_select->select_limit) - unit->select_limit_cnt= HA_POS_ERROR; - if (unit->select_limit_cnt == HA_POS_ERROR) - first_select->options&= ~OPTION_FOUND_ROWS; - if (is_union) res= mysql_union(thd, lex, derived_result, unit); else + { + unit->offset_limit_cnt= first_select->offset_limit; + unit->select_limit_cnt= first_select->select_limit+ + first_select->offset_limit; + if (unit->select_limit_cnt < first_select->select_limit) + unit->select_limit_cnt= HA_POS_ERROR; + if (unit->select_limit_cnt == HA_POS_ERROR) + first_select->options&= ~OPTION_FOUND_ROWS; + + lex->current_select= first_select; res= mysql_select(thd, &first_select->ref_pointer_array, (TABLE_LIST*) first_select->table_list.first, first_select->with_wild, @@ -169,6 +171,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, (first_select->options | thd->options | SELECT_NO_UNLOCK), derived_result, unit, first_select); + } if (!res) { |