diff options
author | unknown <monty@nosik.monty.fi> | 2006-11-21 23:12:45 +0200 |
---|---|---|
committer | unknown <monty@nosik.monty.fi> | 2006-11-21 23:12:45 +0200 |
commit | 42c4df3fffa094fbdf1a1b0534bd8c219a512f30 (patch) | |
tree | 92c5d6bff5c91f7ab015fea75f2a0f3f14accbfa /sql/item_sum.cc | |
parent | a3fcd8b28d0386e680a356499a47bf6164665c35 (diff) | |
parent | 22b80d14be0d7ef91a59c58becb16683ecf89bad (diff) | |
download | mariadb-git-42c4df3fffa094fbdf1a1b0534bd8c219a512f30.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/my/mysql-5.1
client/mysql.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/drop.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/rpl_ndb_dd_advance.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/rpl_ndb_dd_advance.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
client/mysql_upgrade.c:
Manual merge
client/mysqltest.c:
Manual merge
mysql-test/mysql-test-run.pl:
Manual merge
storage/innobase/handler/ha_innodb.cc:
Manual merge
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 1cb943e45c2..c7bf23688da 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -2929,13 +2929,14 @@ int group_concat_key_cmp_with_distinct(void* arg, byte* key1, */ Field *field= (*field_item)->get_tmp_table_field(); /* - If field_item is a const item then either get_tp_table_field returns 0 + If field_item is a const item then either get_tmp_table_field returns 0 or it is an item over a const table. */ if (field && !(*field_item)->const_item()) { int res; - uint offset= field->offset() - table->s->null_bytes; + uint offset= (field->offset(field->table->record[0]) - + table->s->null_bytes); if ((res= field->cmp((char *) key1 + offset, (char *) key2 + offset))) return res; } @@ -2973,7 +2974,8 @@ int group_concat_key_cmp_with_order(void* arg, byte* key1, byte* key2) if (field && !item->const_item()) { int res; - uint offset= field->offset() - table->s->null_bytes; + uint offset= (field->offset(field->table->record[0]) - + table->s->null_bytes); if ((res= field->cmp((char *) key1 + offset, (char *) key2 + offset))) return (*order_item)->asc ? res : -res; } @@ -3041,7 +3043,8 @@ int dump_leaf_key(byte* key, element_count count __attribute__((unused)), because it contains both order and arg list fields. */ Field *field= (*arg)->get_tmp_table_field(); - uint offset= field->offset() - table->s->null_bytes; + uint offset= (field->offset(field->table->record[0]) - + table->s->null_bytes); DBUG_ASSERT(offset < table->s->reclength); res= field->val_str(&tmp, (char *) key + offset); } |