Commit graph

16338 commits

Author SHA1 Message Date
unknown
e981c83610 take into accound end \0 in decimal_string_size 2004-11-03 22:30:37 +01:00
unknown
9aa4871c0d Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-03 19:08:29 +01:00
unknown
3693aa4715 After merge fixes
libmysqld/lib_sql.cc:
  After merge fix
sql/handler.cc:
  Cleanup
2004-11-03 20:07:17 +02:00
unknown
e50a3099aa Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-03 18:46:17 +01:00
unknown
c41f992dea error codes chaged to bitmap (for easier testing with masks)
two more round() modes - CEILING and FLOOR
2004-11-03 18:43:48 +01:00
unknown
4fb5d78d5e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/sql_yacc.yy:
  Auto merged
2004-11-03 18:52:03 +02:00
unknown
ebbe5e39ed Various syntax fixes in sql/sql_yacc.yy for stored procedures:
- No RESTICT|CASCADE in DROP SP (since it's not implemented)
  - Added optional "noise" to FETCH: [[NEXT] FROM]
  - At least one statement required in all block constructs except BEGIN-END
    (where zero is allowed)


mysql-test/r/sp.result:
  Modified test cases for optional [[NEXT] FROM] in FETCH.
mysql-test/t/sp.test:
  Modified test cases for optional [[NEXT] FROM] in FETCH.
sql/sql_yacc.yy:
  Various syntax fixes for stored procedures:
    - No RESTICT|CASCADE in DROP SP (since it's not implemented)
    - Added optional "noise" to FETCH: [[NEXT] FROM]
    - At least one statement required in all block constructs except BEGIN-END
      (where zero is allowed)
2004-11-03 13:49:54 +01:00
unknown
614cda698a Merge on pull
BitKeeper/etc/ignore:
  auto-union
mysql-test/r/grant2.result:
  Auto merged
mysql-test/r/sql_mode.result:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-11-03 13:01:38 +02:00
unknown
f5a47f156b Fixes after merge with 4.1
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete


BUILD/SETUP.sh:
  Portability fix
client/mysqltest.c:
  Portability fix
mysql-test/r/drop.result:
  updated results
mysql-test/r/func_str.result:
  New warnings (after merge)
mysql-test/r/insert.result:
  Updated tests
mysql-test/r/join_nested.result:
  Updated results (because of new column types in 5.0)
mysql-test/r/lock_multi.result:
  Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
mysql-test/r/multi_update.result:
  Temporary fix until Sanja fixes multi-update locking
mysql-test/r/ps_1general.result:
  Update of results after merge
mysql-test/r/ps_2myisam.result:
  Update of results after merge
mysql-test/r/ps_3innodb.result:
  Update of results after merge
mysql-test/r/ps_4heap.result:
  Update of results after merge
mysql-test/r/ps_5merge.result:
  Update of results after merge
mysql-test/r/ps_6bdb.result:
  Update of results after merge
mysql-test/r/query_cache.result:
  Update of results after merge
mysql-test/r/range.result:
  New results for new tests
mysql-test/r/rpl_auto_increment.result:
  Update with new 4.0 information
mysql-test/r/rpl_charset.result:
  After merge fixes
mysql-test/r/subselect.result:
  After merge fixes
mysql-test/r/view.result:
  Temporary fix until multi-update-locking is fixed
mysql-test/t/drop.test:
  Safety fix
mysql-test/t/multi_update.test:
  Temporary fix until multi-update-locking is fixed
mysql-test/t/rpl_charset.test:
  More comments
mysql-test/t/sp-error.test:
  Updated comments
mysql-test/t/view.test:
  Temporary fix until multi-update-locking is fixed
scripts/mysql_fix_privilege_tables.sh:
  Better error message
sql-common/client.c:
  More debugging
sql/ha_ndbcluster.cc:
  After merge fixes
sql/handler.cc:
  After merge fixes
sql/item.cc:
  Simple optimization of creating item
  After merge fixed
  Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
  The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
sql/item.h:
  Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
sql/item_cmpfunc.cc:
  Mark fields compared as binary to not be substituted.
sql/item_func.cc:
  After merge fix
sql/log_event.cc:
  After merge fix
sql/mysql_priv.h:
  After merge fix
sql/opt_range.cc:
  After merge fix
sql/protocol.cc:
  Made flags uint instead of int (as it's used as a bit mask)
sql/protocol.h:
  Made flags uint instead of int (as it's used as a bit mask)
sql/protocol_cursor.cc:
  Made flags uint instead of int (as it's used as a bit mask)
  Indentation cleanups
sql/sp.cc:
  After merge fixes
  Removed compiler warnings
sql/sp_head.cc:
  After merge fixes
sql/sql_base.cc:
  After merge fixes
  Removed 'send_error' from 'insert_fields()' as the error is sent higher up
sql/sql_class.cc:
  Give assert if set_n_backup_item_arena is used twice
sql/sql_class.h:
  Give assert if set_n_backup_item_arena is used twice
  After merge fixes
  Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
sql/sql_handler.cc:
  After merge fixes
sql/sql_parse.cc:
  After merge fixes
sql/sql_prepare.cc:
  After merge fixes
sql/sql_select.cc:
  After merge fixes
  Moved 'build_equal_items' to optimize_cond() (logical place)
sql/sql_table.cc:
  After merge fixes
sql/sql_trigger.cc:
  After merge fixes
sql/sql_update.cc:
  After merge fixes
  (This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
sql/sql_view.cc:
  After merge fixes
sql/sql_yacc.yy:
  After merge fixes
  Don't have FOUND as a reserved keyword
2004-11-03 12:39:38 +02:00
unknown
09e0503538 Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-02 20:46:51 +01:00
unknown
8b33a4536d allocate temp array big enough for not to worry about bound checking in look-aheads 2004-11-02 20:45:55 +01:00
unknown
4fda18b3c0 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0
2004-11-02 17:46:19 +03:00
unknown
efa50b5c03 WL#1437 :don't create new users with GRANT 2004-11-02 17:45:26 +03:00
unknown
023314bc5f different (hopefully, correct) fix for bin2decimal bug
tests added
2004-11-02 13:55:44 +01:00
unknown
81ef1a41d7 s/sint/uint/ - no sign extend for signed bytes 2004-11-02 12:17:58 +01:00
unknown
7e788724af ROUND_UP(negative_number) doesn't work 2004-11-02 09:45:03 +01:00
unknown
076420c8d5 one more pre-division bug 2004-11-01 23:44:05 +01:00
unknown
40edf5bc6e yet another s/>/>=/ typo 2004-11-01 14:47:18 +01:00
unknown
8af37ddc67 correct test for 1/3
more tests
2004-11-01 13:58:28 +01:00
unknown
2cb55007e5 Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-01 11:31:17 +01:00
unknown
b715986b73 stript end zeros before comparison 2004-11-01 11:28:36 +01:00
unknown
4a23117fb9 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-dbg
2004-11-01 10:13:16 +02:00
unknown
de691e1705 Minor fixes of the patch for BUG#6303
mysql-test/r/group_min_max.result:
  Test results for BUG#6303
mysql-test/t/group_min_max.test:
  Ucommented tests for BUG#6303
sql/opt_range.cc:
  Comment fix
2004-11-01 10:12:39 +02:00
unknown
a2e7a90bbb compare with DIG_BASE corectly
rounding bugs fixed
2004-10-31 21:30:19 +01:00
unknown
6924450368 new round mode - half_up 2004-10-31 13:15:44 +01:00
unknown
bb72d0a06e small optimization 2004-10-31 12:29:38 +01:00
unknown
b4d0ae2966 two more places with the same zero-stripping bug 2004-10-31 00:02:13 +02:00
unknown
2aebffaac7 sanity checks for decimal result buffers 2004-10-30 19:27:54 +02:00
unknown
669897cb33 bugfix and test case 2004-10-30 18:31:35 +02:00
unknown
f095274fe8 merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/triggers/post-commit:
  Auto merged
Docs/Support/texi2html:
  Auto merged
Makefile.am:
  Auto merged
client/Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_base.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/buf/buf0buf.c:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/examples/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/include/ps_modify.inc:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/ctype_latin1_de.result:
  Auto merged
mysql-test/r/ctype_recoding.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/func_if.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
mysql-test/t/insert.test:
  merge with 4.1
  Fixed test case to not use 'if exists' when it shouldn't
mysql-test/t/range.test:
  merge with 4.1
  Added missing drop table
sql/ha_ndbcluster.cc:
  merge with 4.1
  Simple optimization: use max() instead of ? :
sql/item_func.cc:
  merge with 4.1
  (Added back old variable names for easier merges)
sql/opt_range.cc:
  merge with 4.1
  Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used
  Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this
  Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query
sql/sql_handler.cc:
  merge with 4.1
  change variable 'err' to 'error' as same function had a label named 'err'
sql/sql_update.cc:
  Use multi-update code from 5.0 instead of 4.1
  We will fix the locking code shortly in 5.0 to be faster than in 4.1
2004-10-29 19:26:52 +03:00
unknown
4cdb957bf6 Fix for BUG#6303 + fix for discovered bug with sub-queries when analyzin queries for MIN/MAX optimization (WL#1724).
BitKeeper/etc/ignore:
  Added stamp-h1.in stamp-h2.in to the ignore list
mysql-test/t/group_min_max.test:
  - Added test for BUG#6303
  - Added test for MIN/MAX optimizable queries with subqueries
sql/opt_range.cc:
  - check_group_min_max_predicates should not be called when there is no MIN/MAX function
  - skip queries from GROUP BY with MIN/MAX optimization when there is a subselect in the WHERE clause
2004-10-29 18:20:09 +03:00
unknown
bbfb40404f new api per hf request:
string2decimal_fixed
  decimal_round(from, to)
  decimal_make_zero
  decimal_string_size
  decimal_neg


strings/decimal.c:
  new api per hf request:
    string2decimal_fixed
    decimal_round(from, to)
    decimal_make_zero
2004-10-29 00:22:54 +02:00
unknown
2260f6d8e0 Merge bk-internal:/home/bk/mysql-5.0/
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/handler.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-10-28 21:22:15 +02:00
unknown
5be6c328f5 Produce a "truncated" warning if a value cannot be converted
into the column character set on INSERT/UPDATE.


sql/sql_string.cc:
  New argument to report an error.
sql/sql_string.h:
  New argument to report an error.
2004-10-28 15:21:20 +05:00
unknown
9b041682cc Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/M41/mysql-4.1
2004-10-28 11:35:27 +02:00
unknown
7dcd331692 Merge mysql.com:/M41/mysql-4.1 into mysql.com:/M41/push-4.1 2004-10-28 11:32:19 +02:00
unknown
a5087248e3 An extra "separator" class member was removed from Item_func_concat_ws.
args[0] is now used instead.
2004-10-28 11:43:31 +05:00
unknown
b97048498a Making the latest fix for Bug#6166 (key.test) work in prepared statements.
sql/sql_prepare.cc:
  Catch another class of errors possible during yyparse:
  if thd->net.report_error is set, we need to send the message and 
  abort.
2004-10-28 02:54:32 +04:00
unknown
fbabd08534 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps-4.1
2004-10-27 23:31:24 +03:00
unknown
616b7460aa Fix for bug#5385 ("Text files have unix line break"):
Windows style line end \r\n on README, license, and similar essential plaintext files.


scripts/make_win_src_distribution.sh:
  Some plain text files (which a Windows user might view in any editor) should have 
  Windows style line end \r\n (bug#5385). The tool is changed to do a systematic pass 
  over all files, find all relevant ones (especially "README*", "ChangeLog", "INSTALL*", 
  license text), and adapt them.
  Included are two minor cleanups ("useless use of cat" avoided, variable setting 
  moved to more sensible place).
2004-10-27 21:59:34 +02:00
unknown
447fef48fd A fix and test case for Bug#6096 "field.max_length is always zero for
numeric columns (stmt_resultset_metadata)"


libmysql/libmysql.c:
  A fix for Bug#6096 "field.max_length is always zero for numeric columns
   (stmt_resultset_metadata)": set field->max_lenght for numeric
  columns when we set up skip_result functions. A minor drawback for this 
  approach is that field->max_length  can be not zero even if 
  STMT_ATTR_UPDATE_MAX_LENGTH is not set.
sql-common/my_time.c:
  Fix valgrind warning.
tests/client_test.c:
  A test case for Bug#6096 "field.max_length is always zero for numeric 
  columns (stmt_resultset_metadata)
2004-10-27 23:46:22 +04:00
unknown
8ace53109e Fixed access to freed memory
innobase/srv/srv0srv.c:
  after merge fix
sql/set_var.cc:
  after merge fix
sql/sql_cache.cc:
  after merge fix
2004-10-27 21:56:17 +03:00
unknown
a94c7639da Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps-4.1
2004-10-27 21:17:31 +03:00
unknown
464da8f13a removed incorrect error message about aggregate functions
improved mechanisn of detection posibility to be NULL for single row queries
switched off substitution optimisation for single row subqueries in PS due to problem in resolving substituted expressions
(changes to make subselects test working with PS protocol)


mysql-test/r/subselect.result:
  removed incorrect error message about aggregate functions
  improved mechanisn of detection posibility to be NULL for single row queries
mysql-test/t/subselect.test:
  removed incorrect error message about aggregate functions
sql/item_subselect.cc:
  removed incorrect error message about aggregate functions
  switched off substitution optimisation for single row subqueries in PS due to problem in resolving substituted expressions
  improved mechanisn of detection posibility to be NULL for single row queries
sql/item_subselect.h:
  new method to help in NULL ability detection
2004-10-27 21:11:06 +03:00
unknown
e646f8f2d1 Merge with 4.0
BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
  Auto merged
innobase/include/trx0sys.h:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0rseg.c:
  Auto merged
mysql-test/r/innodb-lock.result:
  Auto merged
mysql-test/t/innodb-lock.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/mysqld.cc:
  Use local version during merge
2004-10-27 19:52:41 +03:00
unknown
3bdd7e77fd Fix when compiling without InnoDB
BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
  Delete: mysql-test/t/innodb-lock-master.opt
2004-10-27 18:57:49 +03:00
unknown
f41bba8c61 btr0sea.c, buf0lru.c, buf0buf.c, ha0ha.c, hash0hash.h, ha0ha.h, buf0buf.h:
Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index memory overhead grows by 67 %, maybe we have to tune this later somehow


innobase/include/buf0buf.h:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/include/ha0ha.h:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/include/hash0hash.h:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/ha/ha0ha.c:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/buf/buf0buf.c:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/buf/buf0lru.c:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
innobase/btr/btr0sea.c:
  Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
2004-10-27 15:45:10 +03:00
unknown
743597ea96 Backport innodb_max_purge_lag from 4.1
innobase/include/srv0srv.h:
  Add configuration parameter srv_max_purge_lag.
  Add global variable srv_dml_needed_delay.
innobase/include/trx0sys.h:
  Add trx_sys->rseg_history_len
innobase/row/row0mysql.c:
  Add row_mysql_delay_if_needed() for delaying INSERTs, UPDATEs and
  DELETEs for srv_dml_needed_delay microseconds.
innobase/srv/srv0srv.c:
  Define global variable srv_dml_needed_delay.
  Define configuration parameter srv_max_purge_lag.
innobase/trx/trx0purge.c:
  Update trx_sys->rseg_history_len.
  trx_purge(): Compute srv_dml_needed_delay from srv_max_purge_lag
  and trx_sys->rseg_history_len.
innobase/trx/trx0rseg.c:
  Initialize trx_sys->rseg_history_len at InnoDB start-up.
sql/ha_innodb.h:
  Add configuration parameter srv_max_purge_lag.
sql/mysqld.cc:
  Add startup option innodb_max_purge_lag,
  with default value 0 (meaning infinite, disabling the feature).
sql/set_var.cc:
  Add global variable innodb_max_purge_lag.
2004-10-27 13:33:11 +03:00
unknown
55833fb49b after merge fix 2004-10-26 22:41:45 +02:00
unknown
dec8b3c3e7 merged
sql/field.cc:
  Auto merged
2004-10-26 21:12:14 +02:00