1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-18 07:48:43 +03:00
Commit Graph

12468 Commits

Author SHA1 Message Date
unknown
63982db93c Better bugfix for "HAVING when refering to RAND()" (Bug #8216)
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()


BitKeeper/etc/ignore:
  added support-files/ndb-config-2-node.ini
mysql-test/r/group_by.result:
  More complicated test to assure that rand() is only calulated once
mysql-test/r/user_var.result:
  Back to old results :(  (ok but not perfect)
mysql-test/t/group_by.test:
  More complicated test to assure that rand() is only calulated once
sql/item.cc:
  Better bugfix for "HAVING when refering to RAND()"
  This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
  Generalize split_sum_func()
sql/item.h:
  Better bugfix for "HAVING when refering to RAND()"
  T
sql/item_cmpfunc.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_func.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_row.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_strfunc.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/sql_list.h:
  Add functions to concatenate lists
sql/sql_select.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
  This will ensure that any reference to these has a valid value.
2005-02-08 14:41:09 +02:00
unknown
8947628ca6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-08 10:55:06 +02:00
unknown
7814366660 Merge mysql.com:/home/jimw/my/mysql-5.0-6368
into mysql.com:/home/jimw/my/mysql-5.0-clean


sql/sql_lex.cc:
  Auto merged
2005-02-07 12:20:08 -08:00
unknown
0b5e42eaa8 merge
sql/sp_head.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_cache.cc:
  marge
2005-02-07 21:39:37 +02:00
unknown
f9e0e5a7c5 Merge with 4.1 to get bug fix
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
sql/item_row.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/unireg.h:
  Auto merged
sql/item_cmpfunc.cc:
  manual merge
sql/item_func.cc:
  no changes
2005-02-07 19:42:03 +02:00
unknown
edae64f4cb Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
2005-02-07 18:14:31 +02:00
unknown
d6ed8cd709 Fixed bug in HAVING when refering to RAND() through alias
(BUG 8216)


mysql-test/r/group_by.result:
  New test case
mysql-test/r/user_var.result:
  Test changed (to be more correct) with bug fix
mysql-test/t/group_by.test:
  Added test for HAVING bug
sql/item_cmpfunc.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_func.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_row.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_strfunc.cc:
  Fixed bug in HAVING when refering to RAND()
sql/unireg.h:
  Added PSEUDO_TABLES_BITS for easy testing of real table reference
2005-02-07 18:13:57 +02:00
unknown
5b3d102f15 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2005-02-07 13:26:45 +01:00
unknown
fc16a8769e ndb_basic.test:
corrected typo


mysql-test/t/ndb_basic.test:
  corrected typo
2005-02-07 13:26:44 +01:00
unknown
c6cf17187d Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2005-02-07 13:15:40 +01:00
unknown
0fcfaa6c66 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2005-02-07 13:15:39 +01:00
unknown
6241e12ba5 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2005-02-07 11:44:17 +01:00
unknown
2984b0e4bd small testcase update
BitKeeper/etc/ignore:
  Added support-files/ndb-config-2-node.ini to the ignore list
2005-02-07 11:17:24 +01:00
unknown
7eedc24466 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2005-02-07 10:26:09 +01:00
unknown
2359f1fa3e Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0


sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
2005-02-07 11:57:14 +03:00
unknown
6d074320e8 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2005-02-07 07:32:29 +01:00
unknown
6016f23f75 WL# 2094
This patch contains all that my previous patch (1.1814) contained, with the addition of using cli_fetch_lengths for
handling binary data (Bar noted this on the review of 1.1814, Guilhem suggested using cli_fetch_lenghts by 
making available via removal of static in method definition and declaration in mysql.h, but
Konstantin had some reservations, but he said to commit the patch using this anyway,
and I suppose this can be discussed. I abandoned 1.1814 because Monty made a couple
fixes to my code as well as formatting changes, and I thought it would just be easier
to hand-edit my changes into a fresh clone and then make a patch. 

The reason for using cli_fetch_lengths is so that I can correctly get the length of
the field I am setting into the field. I was previously using 'strlen' but Bar pointed out this
won't correctly get the length of binary data and is also less effecient. Upon testing,
it was in fact verified that binary data in a blob table was being inserted correctly,
but not being retrieved correctly, all due to not having the correct value for the
field:

(*field)->store(row[x], strlen(row[x]), &my_charset_bin);

was changed to:

(*field)->store(row[x], lengths[x], &my_charset_bin);

lengths being a unsigned long pointer to the values of the field lengths from a 
MYSQL_ROW.

Since the server doesn't have the function "mysql_fetch_lengths" available, I tried 
to use "result->lengths", but this isn't set, so I finally successfully used 
cli_fetch_lenghts, which does give the correct lengths, and now the binary data gets
retrieved correctly.

I've also run the code through indent-ex and am using Brian's vimrc to ensure correct formatting!

This code passes the entire test suite, without any errors or warning on both my 
workstation and build.mysql.com


include/mysql.h:
  added cli_fetch_lengths to mysql.h in order to use this function in the federated handler
mysql-test/r/federated.result:
  - Moved countries to be created and inserted prior to federated test table
  - Added a test of inserting binary values into a blob table
mysql-test/t/federated.test:
  - Moved order of countries table creation to prior to test table creation
  - Test insertion of binary values in a blob table
sql-common/client.c:
  removed 'static' to allow cli_fetch_lengths to be used in the federated handler
sql/ha_federated.cc:
  1. share->scheme that was created in parse_url was not being freed
  2. HASH federated_open_tables was being deleted, but not freed
  3. 'result' from mysql_store_result was not being free in several instances
  4. Fixed the problem where a table scan was being performed after
  index_read_idx, which didn't cause a problem because the result set from
  idx_read_idx was not being freed, but once the result set was properly freed,
  it broke update_row. Now, I'm using the bool 'scan' to determine if I need to
  perform a table scan, which it magically is false when the query is an update
  with an index.
  5. Changed all stings containing the query to perform in mysql_real_query
  calls from string.c_ptr_quick() to string.ptr() per Monty's suggestion
  (better performance)
  6. Fixed various cast/type/truth compile warnings.
  7. Removed 'load_conn_info' and just let 'parse_url' handle it.
  8. Added the use of cli_fetch_lengths, needed to fix binary values being retrieved 
  from the database in rnd_next/convert_row_to_internal_format
  9. Formatting changes by using indent-ex!
sql/ha_federated.h:
  added scan flag, setting defaults for result and scan_flag
2005-02-06 09:40:07 -08:00
unknown
16eb7e7b6c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2005-02-06 15:08:25 +02:00
unknown
7be3efb397 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-5.0


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2005-02-06 13:17:12 +02:00
unknown
3455bc5398 fixed test 'subselect' in case when innodb is not compiled in (thanks HF who niticed it)
mysql-test/r/subselect.result:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect_innodb.result:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect.test:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect_innodb.test:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
2005-02-06 13:06:12 +02:00
unknown
2b2645d94c Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0


configure.in:
  Auto merged
2005-02-06 10:41:59 +01:00
unknown
d0f71a1186 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2005-02-06 10:39:48 +01:00
unknown
57902c74ec Merge
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
  Auto merged
configure.in:
  Auto merged
include/mysql.h:
  Auto merged
scripts/Makefile.am:
  Auto merged
mysql-test/r/drop_temp_table.result:
  SCCS merged
sql/sql_base.cc:
  SCCS merged
2005-02-05 18:07:50 +01:00
unknown
5c8b5f2146 Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean


sql/item_func.cc:
  Auto merged
2005-02-05 07:52:55 -08:00
unknown
18dcc5ddcc Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean
2005-02-05 15:29:38 +01:00
unknown
df1dc7759b Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0


mysql-test/mysql-test-run.sh:
  Auto merged
2005-02-05 07:17:53 +01:00
unknown
4d1441dac4 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1


configure.in:
  Auto merged
2005-02-05 07:16:07 +01:00
unknown
df1fab9d45 Fix for BUG#7519: Index statistics is not displayed after ANALYZE for temporary tables:
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys.
The fix will not be merged into 4.1/5.0 because they don't have this problem already.


mysql-test/r/show_check.result:
  Testcase for BUG#7519
mysql-test/t/show_check.test:
  Testcase for BUG#7519
sql/sql_show.cc:
  Fix for BUG#7519: Index statistics is not displayed after ANALYZE for temporary tables:
  When handling "SHOW INDEX" the call file->extra(HA_STATUS_CONST | ...) is made for regular tables 
  but bypassed for temporary tables. 
  Call file->extra() with HA_STATUS_CONST in mysqld_show_keys to make sure we're always using the 
  current index cardinality values.
2005-02-05 06:23:23 +03:00
unknown
a27e68a8fb Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug7816
2005-02-05 01:53:12 +03:00
unknown
65cd36fc88 Merge mysql.com:/home/psergey/mysql-4.1-bug7816
into mysql.com:/home/psergey/mysql-5.0-bug7716


sql/item_cmpfunc.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
2005-02-05 01:52:17 +03:00
unknown
ededf83143 Fix for BUG#8055 "Trouble with replication from temporary tables and ignores":
when we close the session's temp tables at session end, we automatically write to binlog *one* DROP TEMPORARY TABLE *per tmp table*.


mysql-test/r/drop_temp_table.result:
  result update (note: one DROP TEMPORARY TABLE per tmp table)
mysql-test/t/drop_temp_table.test:
  checking that we have one DROP TEMPORARY TABLE per tmp table now, not one multi-table DROP.
  Hiding columns Log_pos/End_log_pos per Monty's request.
sql/sql_base.cc:
  When we close the session's temp tables at session end, we automatically write to binlog one DROP TEMPORARY TABLE per tmp table, 
  not one single multi-table DROP TEMPORARY TABLE (because it causes problems if slave has --replicate*table rules).
2005-02-04 22:43:54 +01:00
unknown
1be345edc0 Merge changes
client/mysqlcheck.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/ft_static.c:
  Auto merged
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/ha_myisam.h:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/field.cc:
  Clean up merge
2005-02-04 11:59:02 -08:00
unknown
38114e1c97 Merge mysql.com:/home/jimw/my/mysql-4.1-6067
into mysql.com:/home/jimw/my/mysql-4.1-clean


sql/field.cc:
  Auto merged
2005-02-04 10:39:13 -08:00
unknown
74ad9e8f1e Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/mysqldev/tulin/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.cc:
  Auto merged
2005-02-04 17:32:18 +01:00
unknown
c1d06b3cfa Merge neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0
into neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0-cluster-extra


BitKeeper/etc/logging_ok:
  auto-union
sql/ha_innodb.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2005-02-04 15:13:45 +01:00
unknown
00a71ae83a Bug#7853 (mysqlbinlog does not accept input from stdin)
The utility 'mysqlbinlog' now accepts input from stdin. It can 
  now be used to read the output from, e.g., 'zcat' or other utility.


client/mysqlbinlog.cc:
  Reading from stdin instead of stdout [sic].
  Not repositioning manually since my_b_read does that correctly.
mysql-test/r/mysqlbinlog.result:
  Adding tests for reading from stdin.
mysql-test/t/mysqlbinlog.test:
  Adding tests for reading from stdin.
2005-02-04 14:29:54 +01:00
unknown
f7d8d75366 Merge bk-internal:/home/bk/mysql-4.1
into mysql.com:/home/mysqldev/tulin/mysql-4.1
2005-02-04 14:29:52 +01:00
unknown
24250e33be resolved merge conflict
BitKeeper/etc/logging_ok:
  auto-union
sql/sql_yacc.yy:
  Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2005-02-04 14:27:09 +01:00
unknown
61232616d9 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2005-02-04 14:27:08 +01:00
unknown
48e2d22404 added test to trigger drifferent fragmentations in ndb
corrected documentation on fragmentation
    set "fragmentation medium" to mean 2 fragments per node instead of 1
    set default fragmentation to small instead of medium
    bug#8284 adjust fragmentation to max_rows


mysql-test/r/ndb_basic.result:
  added test to trigger drifferent fragmentations in ndb
mysql-test/t/ndb_basic.test:
  added test to trigger drifferent fragmentations in ndb
ndb/include/ndbapi/NdbDictionary.hpp:
  corrected documentation on fragmentation
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  set "fragmentation medium" to mean 2 fragments per node instead of 1
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  set default fragmentation to small instead of medium
sql/ha_ndbcluster.cc:
  bug#8284 adjust fragmentation to max_rows
2005-02-04 14:25:08 +01:00
unknown
d716cb9440 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-4.1
2005-02-04 15:47:12 +03:00
unknown
66eb71f3fc A fix: bug#6931: Date Type column problem when using UNION-Table
bug#7833:  Wrong datatype of aggregate column is returned


mysql-test/r/func_group.result:
  Test case for bug 7833:  Wrong datatype of aggregate column is returned
mysql-test/r/union.result:
  Test case for bug 6931: Date Type column problem when using UNION-Table.
mysql-test/t/func_group.test:
  Test case for bug 7833:  Wrong datatype of aggregate column is returned
mysql-test/t/union.test:
  Test case for bug 6931: Date Type column problem when using UNION-Table.
2005-02-04 15:31:36 +03:00
unknown
d5023070b5 Merge mysql.com:/home/timka/mysql/src/4.1-dbg
into mysql.com:/home/timka/mysql/src/4.1-bug-8023
2005-02-04 11:58:59 +02:00
unknown
03bc599706 Merge of query cache from 4.1 to 5.0
mysql-test/r/ndb_cache.result:
  Added 'order by' to select's
mysql-test/r/ndb_cache2.result:
  Added 'order by' to select's
mysql-test/t/ndb_cache.test:
  Added 'order by' to select's
mysql-test/t/ndb_cache2.test:
  Added 'order by' to select's
sql/ha_innodb.h:
  Changed function name
sql/ha_ndbcluster.cc:
  Merge from query cache from 4.1 to 5.0
  Added better comments
  ndb_get_table_statistics had changed, so there where some adaptions to make
sql/ha_ndbcluster.h:
  Changed name of function
sql/handler.h:
  Changed name of function
sql/sql_cache.cc:
  Changed name of function
2005-02-04 10:56:53 +01:00
unknown
02fadb6d7c Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0


sql/sql_yacc.yy:
  Auto merged
2005-02-04 12:37:18 +03:00
unknown
dbf8329576 Merge
BitKeeper/etc/logging_ok:
  auto-union
sql/item_func.cc:
  Auto merged
ndb/src/common/util/NdbSqlUtil.cpp:
  merge
2005-02-04 10:35:09 +01:00
unknown
ebda548d0d Fix for BUG#7716: in in_string::set() take into account that the value returned
by item->val_str() may be a substring of the passed string. 
Disallow string=its_substring assignment in String::operator=().


mysql-test/r/func_misc.result:
  Testcase for BUG#7716
mysql-test/t/func_misc.test:
  Testcase for BUG#7716
sql/item_cmpfunc.cc:
  Fix for BUG#7716: in in_string::set() take into account that the string returned 
  by item->val_str(S) may be not S but use the buffer owned by S.
sql/sql_string.h:
  * Added assert: String& String::operator=(const String&) may not be used to do 
    assignments like str = string_that_uses_buffer_owned_by_str
  * Added String::uses_buffer_owned_by().
2005-02-04 09:14:22 +03:00
unknown
3a7f82ef3c Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0


configure.in:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
ndb/test/src/NDBT_Test.cpp:
  Auto merged
2005-02-04 06:10:56 +01:00
unknown
ef5c8dbf7b Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1


configure.in:
  Auto merged
ndb/test/src/NDBT_Test.cpp:
  Auto merged
2005-02-04 06:09:43 +01:00
unknown
3443fdf954 Handle backslashes correctly in strings that also have doubled quotes when
we are using the NO_BACKSLASH_ESCAPES SQL mode. (Bug #6368)


mysql-test/t/sql_mode.test:
  Add regression test for Bug #6368
mysql-test/r/sql_mode.result:
  Add new results
sql/sql_lex.cc:
  Handle NO_BACKSLASH_ESCAPES mode when copying string that
  also has escapes due to doubled quotes
2005-02-03 16:14:02 -08:00