Below is the list of changes that have just been committed into a local
5.1 repository of igor. When igor does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2277 06/03/31 23:38:38 igor@stripped +16 -0
Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
tests/mysql_client_test.c
1.186 06/03/31 23:38:30 igor@stripped +0 -0
Auto merged
strings/ctype-ucs2.c
1.61 06/03/31 23:38:29 igor@stripped +0 -0
Auto merged
storage/ndb/tools/Makefile.am
1.30 06/03/31 23:38:29 igor@stripped +0 -0
Auto merged
storage/myisam/mi_search.c
1.61 06/03/31 23:38:29 igor@stripped +0 -0
Auto merged
sql/sql_table.cc
1.324 06/03/31 23:38:29 igor@stripped +0 -0
Auto merged
sql/sql_select.cc
1.395 06/03/31 23:38:29 igor@stripped +0 -0
Auto merged
sql/sql_class.h
1.293 06/03/31 23:38:28 igor@stripped +0 -0
Auto merged
sql/mysql_priv.h
1.389 06/03/31 23:38:28 igor@stripped +0 -0
Auto merged
sql/item_sum.cc
1.175 06/03/31 23:38:28 igor@stripped +0 -0
Auto merged
sql/item_cmpfunc.cc
1.199 06/03/31 23:38:28 igor@stripped +0 -0
Auto merged
sql/item.cc
1.178 06/03/31 23:38:28 igor@stripped +0 -0
Auto merged
storage/ndb/tools/Makefile.am
1.14.8.6 06/03/31 23:38:27 igor@stripped +0 -0
Merge rename: ndb/tools/Makefile.am -> storage/ndb/tools/Makefile.am
storage/myisam/mi_search.c
1.53.7.2 06/03/31 23:38:27 igor@stripped +0 -0
Merge rename: myisam/mi_search.c -> storage/myisam/mi_search.c
sql/ha_heap.cc
1.86 06/03/31 23:38:27 igor@stripped +0 -0
Auto merged
sql/field.cc
1.308 06/03/31 23:38:27 igor@stripped +0 -0
Auto merged
mysql-test/r/subselect.result
1.140 06/03/31 23:38:27 igor@stripped +0 -0
Auto merged
mysql-test/r/func_gconcat.result
1.54 06/03/31 23:38:27 igor@stripped +0 -0
Auto merged
mysql-test/r/ctype_utf8.result
1.88 06/03/31 23:38:27 igor@stripped +0 -0
Auto merged
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: igor
# Host: rurik.mysql.com
# Root: /home/igor/dev/mysql-5.1-0/RESYNC
--- 1.85/sql/ha_heap.cc 2006-03-29 06:28:33 -08:00
+++ 1.86/sql/ha_heap.cc 2006-03-31 23:38:27 -08:00
@@ -561,7 +561,7 @@
return records;
/* Assert that info() did run. We need current statistics here. */
- DBUG_ASSERT(key_stat_version);
+ DBUG_ASSERT(key_stat_version == file->s->key_stat_version);
return key->rec_per_key[key->key_parts-1];
}
--- 1.177/sql/item.cc 2006-03-29 03:27:30 -08:00
+++ 1.178/sql/item.cc 2006-03-31 23:38:28 -08:00
@@ -3756,7 +3756,7 @@
if (item_equal)
{
Item_field *subst= item_equal->get_first();
- if (!field->eq(subst->field))
+ if (subst && !field->eq(subst->field))
return subst;
}
return this;
--- 1.198/sql/item_cmpfunc.cc 2006-03-24 12:46:26 -08:00
+++ 1.199/sql/item_cmpfunc.cc 2006-03-31 23:38:28 -08:00
@@ -3602,7 +3602,8 @@
Item_func_eq *func= new Item_func_eq(c, const_item);
func->set_cmp_func();
func->quick_fix_field();
- cond_false = !(func->val_int());
+ if ((cond_false= !func->val_int()))
+ const_item_cache= 1;
}
void Item_equal::add(Item_field *f)
@@ -3734,13 +3735,45 @@
} while (swap);
}
+
+/*
+ Check appearance of new constant items in the multiple equality object
+
+ SYNOPSIS
+ check()
+
+ DESCRIPTION
+ The function checks appearance of new constant items among
+ the members of multiple equalities. Each new constant item is
+ compared with the designated constant item if there is any in the
+ multiple equality. If there is none the first new constant item
+ becomes designated.
+
+ RETURN VALUES
+ none
+*/
+
+void Item_equal::check_const()
+{
+ List_iterator<Item_field> it(fields);
+ Item *item;
+ while ((item= it++))
+ {
+ if (item->const_item())
+ {
+ it.remove();
+ add(item);
+ }
+ }
+}
+
bool Item_equal::fix_fields(THD *thd, Item **ref)
{
List_iterator_fast<Item_field> li(fields);
Item *item;
not_null_tables_cache= used_tables_cache= 0;
const_item_cache= 0;
- while ((item=li++))
+ while ((item= li++))
{
table_map tmp_table_map;
used_tables_cache|= item->used_tables();
--- 1.174/sql/item_sum.cc 2006-03-08 05:16:35 -08:00
+++ 1.175/sql/item_sum.cc 2006-03-31 23:38:28 -08:00
@@ -2495,6 +2495,7 @@
{
table=0;
original= 0;
+ force_copy_fields= 1;
tree= 0;
tmp_table_param= 0;
always_null= FALSE;
@@ -2538,6 +2539,7 @@
if (always_null)
return FALSE;
count_field_types(tmp_table_param,list,0);
+ tmp_table_param->force_copy_fields= force_copy_fields;
DBUG_ASSERT(table == 0);
if (!(table= create_tmp_table(thd, tmp_table_param, list, (ORDER*) 0, 1,
0,
@@ -3052,7 +3054,7 @@
count_cut_values(0),
distinct(distinct_arg),
warning_for_row(FALSE),
- original(0)
+ force_copy_fields(0), original(0)
{
Item *item_select;
Item **arg_ptr;
@@ -3109,6 +3111,7 @@
distinct(item->distinct),
warning_for_row(item->warning_for_row),
always_null(item->always_null),
+ force_copy_fields(item->force_copy_fields),
original(item)
{
quick_group= item->quick_group;
@@ -3310,6 +3313,7 @@
DBUG_RETURN(TRUE);
count_field_types(tmp_table_param,all_fields,0);
+ tmp_table_param->force_copy_fields= force_copy_fields;
DBUG_ASSERT(table == 0);
/*
We have to create a temporary table to get descriptions of fields
@@ -3372,6 +3376,7 @@
tmp_table_param= 0;
table=0;
original= 0;
+ force_copy_fields= 1;
tree= 0;
}
--- 1.388/sql/mysql_priv.h 2006-03-29 03:27:31 -08:00
+++ 1.389/sql/mysql_priv.h 2006-03-31 23:38:28 -08:00
@@ -756,6 +756,7 @@
Item ***copy_func, Field **from_field,
bool group, bool modify_item,
bool table_cant_handle_bit_fields,
+ bool make_copy_field,
uint convert_blob_length);
void sp_prepare_create_field(THD *thd, create_field *sql_field);
int prepare_create_field(create_field *sql_field,
--- 1.292/sql/sql_class.h 2006-03-24 03:24:23 -08:00
+++ 1.293/sql/sql_class.h 2006-03-31 23:38:28 -08:00
@@ -1656,11 +1656,12 @@
aggregate functions as normal functions.
*/
bool precomputed_group_by;
+ bool force_copy_fields;
TMP_TABLE_PARAM()
:copy_field(0), group_parts(0),
group_length(0), group_null_parts(0), convert_blob_length(0),
- schema_table(0), precomputed_group_by(0)
+ schema_table(0), precomputed_group_by(0), force_copy_fields(0)
{}
~TMP_TABLE_PARAM()
{
--- 1.394/sql/sql_select.cc 2006-03-30 13:34:05 -08:00
+++ 1.395/sql/sql_select.cc 2006-03-31 23:38:29 -08:00
@@ -136,7 +136,7 @@
end_write_group(JOIN *join, JOIN_TAB *join_tab, bool end_of_records);
static int test_if_group_changed(List<Cached_item> &list);
-static int join_read_const_table(JOIN_TAB *tab, POSITION *pos);
+static int join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos);
static int join_read_system(JOIN_TAB *tab);
static int join_read_const(JOIN_TAB *tab);
static int join_read_key(JOIN_TAB *tab);
@@ -2153,7 +2153,7 @@
s= p_pos->table;
s->type=JT_SYSTEM;
join->const_table_map|=s->table->map;
- if ((tmp=join_read_const_table(s, p_pos)))
+ if ((tmp=join_read_const_table(join, s, p_pos)))
{
if (tmp > 0)
DBUG_RETURN(1); // Fatal error
@@ -2190,7 +2190,8 @@
s->type=JT_SYSTEM;
join->const_table_map|=table->map;
set_position(join,const_count++,s,(KEYUSE*) 0);
- if ((tmp= join_read_const_table(s,join->positions+const_count-1)))
+ if ((tmp= join_read_const_table(join, s,
+ join->positions+const_count-1)))
{
if (tmp > 0)
DBUG_RETURN(1); // Fatal error
@@ -2242,7 +2243,7 @@
if (create_ref_for_key(join, s, start_keyuse,
found_const_table_map))
DBUG_RETURN(1);
- if ((tmp=join_read_const_table(s,
+ if ((tmp=join_read_const_table(join, s,
join->positions+const_count-1)))
{
if (tmp > 0)
@@ -6844,8 +6845,8 @@
return item_equal;
}
/*
- For each field reference in cond, not from equalitym predicates,
- set a pointer to the multiple equality if belongs to (if there is any)
+ For each field reference in cond, not from equal item predicates,
+ set a pointer to the multiple equality it belongs to (if there is any)
*/
cond= cond->transform(&Item::equal_fields_propagator,
(byte *) inherited);
@@ -7030,7 +7031,7 @@
NOTES
Before generating an equality function checks that it has not
- been generated for multiple equalies of the upper levels.
+ been generated for multiple equalities of the upper levels.
E.g. for the following where condition
WHERE a=5 AND ((a=b AND b=c) OR c>4)
the upper level AND condition will contain =(5,a),
@@ -7203,7 +7204,7 @@
{
cond= eliminate_item_equal(cond, cond_equal->upper_levels, item_equal);
// This occurs when eliminate_item_equal() founds that cond is
- // always false and substitues it with Item_int 0.
+ // always false and substitutes it with Item_int 0.
// Due to this, value of item_equal will be 0, so just return it.
if (cond->type() != Item::COND_ITEM)
break;
@@ -7225,6 +7226,45 @@
}
+/*
+ Check appearance of new constant items in multiple equalities
+ of a condition after reading a constant table
+
+ SYNOPSIS
+ check_const_equal_item()
+ cond condition whose multiple equalities are to be checked
+ table constant table that has been read
+
+ DESCRIPTION
+ The function retrieves the cond condition and for each encountered
+ multiple equality checks whether new constants have appeared after
+ reading the constant (single row) table tab. If so it adjusts
+ the multiple equality appropriately.
+*/
+
+static void check_const_equal_items(COND *cond,
+ JOIN_TAB *tab)
+{
+ if (!(cond->used_tables() & tab->table->map))
+ return;
+
+ if (cond->type() == Item::COND_ITEM)
+ {
+ List<Item> *cond_list= ((Item_cond*) cond)->argument_list();
+ List_iterator_fast<Item> li(*cond_list);
+ Item *item;
+ while ((item= li++))
+ check_const_equal_items(item, tab);
+ }
+ else if (cond->type() == Item::FUNC_ITEM &&
+ ((Item_cond*) cond)->functype() == Item_func::MULT_EQUAL_FUNC)
+ {
+ Item_equal *item_equal= (Item_equal *) cond;
+ item_equal->check_const();
+ }
+}
+
+
/*
change field = field to field = const for each found field = const in the
and_level
@@ -8355,6 +8395,7 @@
Item ***copy_func, Field **from_field,
bool group, bool modify_item,
bool table_cant_handle_bit_fields,
+ bool make_copy_field,
uint convert_blob_length)
{
Item::Type orig_type= type;
@@ -8436,7 +8477,13 @@
case Item::REF_ITEM:
case Item::NULL_ITEM:
case Item::VARBIN_ITEM:
- return create_tmp_field_from_item(thd, item, table, copy_func, modify_item,
+ if (make_copy_field)
+ {
+ DBUG_ASSERT(((Item_result_field*)item)->result_field);
+ *from_field= ((Item_result_field*)item)->result_field;
+ }
+ return create_tmp_field_from_item(thd, item, table, (make_copy_field ? 0 :
+ copy_func), modify_item,
convert_blob_length);
case Item::TYPE_HOLDER:
return ((Item_type_holder *)item)->make_field_by_type(table);
@@ -8509,6 +8556,7 @@
Item **copy_func;
MI_COLUMNDEF *recinfo;
uint total_uneven_bit_length= 0;
+ bool force_copy_fields= param->force_copy_fields;
DBUG_ENTER("create_tmp_table");
DBUG_PRINT("enter",("distinct: %d save_sum_fields: %d rows_limit: %lu group: %d",
(int) distinct, (int) save_sum_fields,
@@ -8668,7 +8716,7 @@
Field *new_field=
create_tmp_field(thd, table, arg, arg->type(), ©_func,
tmp_from_field, group != 0,not_all_columns,
- distinct,
+ distinct, 0,
param->convert_blob_length);
if (!new_field)
goto err; // Should be OOM
@@ -8725,8 +8773,9 @@
create_tmp_field_for_schema(thd, item, table) :
create_tmp_field(thd, table, item, type, ©_func,
tmp_from_field, group != 0,
- not_all_columns || group != 0,
- item->marker == 4,
+ !force_copy_fields &&
+ (not_all_columns || group !=0),
+ item->marker == 4, force_copy_fields,
param->convert_blob_length);
if (!new_field)
@@ -10163,7 +10212,7 @@
static int
-join_read_const_table(JOIN_TAB *tab, POSITION *pos)
+join_read_const_table(JOIN *join, JOIN_TAB *tab, POSITION *pos)
{
int error;
DBUG_ENTER("join_read_const_table");
@@ -10215,6 +10264,26 @@
}
if (!table->null_row)
table->maybe_null=0;
+
+ /* Check appearance of new constant items in Item_equal objects */
+ if (join->conds)
+ check_const_equal_items(join->conds, tab);
+ TABLE_LIST *tbl;
+ for (tbl= join->select_lex->leaf_tables; tbl; tbl= tbl->next_leaf)
+ {
+ TABLE_LIST *embedded;
+ TABLE_LIST *embedding= tbl;
+ do
+ {
+ embedded= embedding;
+ if (embedded->on_expr)
+ check_const_equal_items(embedded->on_expr, tab);
+ embedding= embedded->embedding;
+ }
+ while (embedding &&
+ embedding->nested_join->join_list.head() == embedded);
+ }
+
DBUG_RETURN(0);
}
--- 1.323/sql/sql_table.cc 2006-03-31 09:42:00 -08:00
+++ 1.324/sql/sql_table.cc 2006-03-31 23:38:29 -08:00
@@ -2464,7 +2464,7 @@
field=item->tmp_table_field(&tmp_table);
else
field=create_tmp_field(thd, &tmp_table, item, item->type(),
- (Item ***) 0, &tmp_field, 0, 0, 0, 0);
+ (Item ***) 0, &tmp_field, 0, 0, 0, 0, 0);
if (!field ||
!(cr_field=new create_field(field,(item->type() == Item::FIELD_ITEM ?
((Item_field *)item)->field :
--- 1.87/mysql-test/r/ctype_utf8.result 2006-02-22 01:09:48 -08:00
+++ 1.88/mysql-test/r/ctype_utf8.result 2006-03-31 23:38:27 -08:00
@@ -1066,6 +1066,52 @@
100
DROP TABLE t2;
DROP TABLE t1;
+SET NAMES utf8;
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE t1(a VARCHAR(255), KEY(a)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
+INSERT INTO t1 VALUES('uu');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('uU');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('uu');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('uuABC');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('UuABC');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('uuABC');
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+alter table t1 add b int;
+INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
+INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',2);
+delete from t1 where b=1;
+INSERT INTO t1 VALUES('UUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
+INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',4);
+delete from t1 where b=3;
+INSERT INTO t1 VALUES('uUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
CREATE TABLE t1(id varchar(20) NOT NULL) DEFAULT CHARSET=utf8;
INSERT INTO t1 VALUES ('xxx'), ('aa'), ('yyy'), ('aa');
SELECT id FROM t1;
--- 1.139/mysql-test/r/subselect.result 2006-03-24 03:33:04 -08:00
+++ 1.140/mysql-test/r/subselect.result 2006-03-31 23:38:27 -08:00
@@ -547,7 +547,7 @@
1 PRIMARY t1 const PRIMARY,numreponse PRIMARY 7 const,const 1 Using index
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
Warnings:
-Note 1003 select `test`.`t1`.`numreponse` AS `numreponse` from `test`.`t1` where ((`test`.`t1`.`numreponse` = (select max(`test`.`t1`.`numreponse`) AS `MAX(numreponse)` from `test`.`t1` where (`test`.`t1`.`numeropost` = _latin1'1'))) and (`test`.`t1`.`numeropost` = _latin1'1'))
+Note 1003 select `test`.`t1`.`numreponse` AS `numreponse` from `test`.`t1` where ((`test`.`t1`.`numeropost` = _latin1'1'))
drop table t1;
CREATE TABLE t1 (a int(1));
INSERT INTO t1 VALUES (1);
--- 1.14.8.5/ndb/tools/Makefile.am 2006-03-29 22:13:44 -08:00
+++ 1.30/storage/ndb/tools/Makefile.am 2006-03-31 23:38:29 -08:00
@@ -36,19 +36,18 @@
restore/Restore.cpp \
../test/src/NDBT_ResultRow.cpp $(tools_common_sources)
-ndb_config_SOURCES = ndb_config.cpp \
+ndb_config_SOURCES = ndb_condig.cpp \
../src/mgmsrv/Config.cpp \
../src/mgmsrv/ConfigInfo.cpp \
../src/mgmsrv/InitConfigFileParser.cpp
-ndb_config_CXXFLAGS = -I$(top_srcdir)/ndb/src/mgmapi \
- -I$(top_srcdir)/ndb/src/mgmsrv \
- -I$(top_srcdir)/ndb/include/mgmcommon \
+ndb_config_CXXFLAGS = -I$(top_srcdir)/storage/ndb/src/mgmapi \
+ -I$(top_srcdir)/storage/ndb/src/mgmsrv \
+ -I$(top_srcdir)/storage/ndb/include/mgmcommon \
-DMYSQLCLUSTERDIR="\"\""
-
-include $(top_srcdir)/ndb/config/common.mk.am
-include $(top_srcdir)/ndb/config/type_ndbapitools.mk.am
+include $(top_srcdir)/storage/ndb/config/common.mk.am
+include $(top_srcdir)/storage/ndb/config/type_ndbapitools.mk.am
ndb_test_platform_LDFLAGS = @ndb_bin_am_ldflags@
ndb_waiter_LDFLAGS = @ndb_bin_am_ldflags@
@@ -76,97 +75,97 @@
ndb_select_count.dsp
ndb_waiter.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_waiter
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_waiter_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_waiter
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_waiter_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_drop_table.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_drop_table
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_drop_table_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_drop_table
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_drop_table_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_delete_all.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_delete_all
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_delete_all_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_delete_all
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_delete_all_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_desc.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_desc
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_desc_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_desc
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_desc_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_drop_index.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_drop_index
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_drop_index_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_drop_index
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_drop_index_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_show_tables.dsp: Makefile \
$(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_show_tables
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_show_tables_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_show_tables
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_show_tables_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_select_all.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_select_all
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_select_all_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_select_all
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_select_all_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
ndb_select_count.dsp: Makefile \
- $(top_srcdir)/ndb/config/win-prg.am \
- $(top_srcdir)/ndb/config/win-name \
- $(top_srcdir)/ndb/config/win-includes \
- $(top_srcdir)/ndb/config/win-sources \
- $(top_srcdir)/ndb/config/win-libraries
- cat $(top_srcdir)/ndb/config/win-prg.am > $@
- @$(top_srcdir)/ndb/config/win-name $@ ndb_select_count
- @$(top_srcdir)/ndb/config/win-includes $@ $(INCLUDES)
- @$(top_srcdir)/ndb/config/win-sources $@ $(ndb_select_count_SOURCES)
- @$(top_srcdir)/ndb/config/win-libraries $@ LINK $(LDADD)
+ $(top_srcdir)/storage/ndb/config/win-prg.am \
+ $(top_srcdir)/storage/ndb/config/win-name \
+ $(top_srcdir)/storage/ndb/config/win-includes \
+ $(top_srcdir)/storage/ndb/config/win-sources \
+ $(top_srcdir)/storage/ndb/config/win-libraries
+ cat $(top_srcdir)/storage/ndb/config/win-prg.am > $@
+ @$(top_srcdir)/storage/ndb/config/win-name $@ ndb_select_count
+ @$(top_srcdir)/storage/ndb/config/win-includes $@ $(INCLUDES)
+ @$(top_srcdir)/storage/ndb/config/win-sources $@ $(ndb_select_count_SOURCES)
+ @$(top_srcdir)/storage/ndb/config/win-libraries $@ LINK $(LDADD)
--- 1.53/mysql-test/r/func_gconcat.result 2006-02-22 01:09:49 -08:00
+++ 1.54/mysql-test/r/func_gconcat.result 2006-03-31 23:38:27 -08:00
@@ -596,6 +596,21 @@
,x
,z
DROP TABLE t1;
+create table t1(f1 int);
+insert into t1 values(1),(2),(3);
+select f1, group_concat(f1+1) from t1 group by f1 with rollup;
+f1 group_concat(f1+1)
+1 2
+2 3
+3 4
+NULL 2,3,4
+select count(distinct (f1+1)) from t1 group by f1 with rollup;
+count(distinct (f1+1))
+1
+1
+1
+3
+drop table t1;
set names latin1;
create table t1 (a char, b char);
insert into t1 values ('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b');
| Thread |
|---|
| • bk commit into 5.1 tree (igor:1.2277) | igor | 1 Apr |