1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-19 01:41:20 +03:00

14463 Commits

Author SHA1 Message Date
unknown
77115cddc9 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-20 13:48:27 +02:00
unknown
e878be4cc9 Merge pilot.(none):/data/msvensson/mysql/work/my50-work
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2007-08-20 13:46:57 +02:00
unknown
78d62e87d9 Only install second master db if using second master 2007-08-20 13:46:42 +02:00
unknown
ab723047c5 Merge lzhou@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb-bj
into  dev3-63.(none):/home/zhl/mysql/mysql-5.0/bug29674
2007-08-20 10:59:14 +00:00
unknown
073f950808 BUG#29674 add install data of the new test case in makefile.am
mysql-test/Makefile.am:
  Add install info of new test case data in makefile.am
2007-08-20 10:47:09 +00:00
unknown
d48e35b983 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-08-20 11:25:45 +05:00
unknown
29ee5ed0a0 Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements
added SUPER_ACL check for I_S.TRIGGERS


mysql-test/r/information_schema.result:
  result fix
mysql-test/r/information_schema_db.result:
  result fix
mysql-test/t/information_schema.test:
  test case
sql/sql_show.cc:
  added SUPER_ACL check for I_S.TRIGGERS
2007-08-20 11:23:08 +05:00
unknown
c68c271a5f Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-18 00:35:41 -06:00
unknown
3ff2699500 Merge adventure.(none):/home/thek/Development/cpp/bug30269/my50-bug30269
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
2007-08-17 17:27:41 +02:00
unknown
bd80048fdb Bug #30269 Query cache eats memory
Although the query cache doesn't support retrieval of statements containing
column level access control, it was still possible to cache such statements
thus wasting memory.

This patch extends the access control check on the target tables to avoid
caching a statement with column level restrictions. 


mysql-test/r/query_cache.result:
  Added test
mysql-test/t/query_cache.test:
  Added test
sql/sql_cache.cc:
  The function check_table_access leaves the artifact
  grant.want_privileges= 1, if a statement refers to tables with column level
  privileges. To avoid the statement from being stored into the query cache,
  it is enough to check this flag and set 'safe_to_cache_query' to zero.
sql/sql_cache.h:
  - Removed 'static' attribute or class methods
  - Added THD parameter to process_and_count_tables
2007-08-17 16:55:20 +02:00
unknown
d280a06e36 Bug#30245: A wrong type of a BIT field is reported when grouped by it.
HEAP tables can't index BIT fields. Due to this when grouping by such fields is
needed they are converted to a fields of the LONG type when temporary table
is being created. But a side effect of this is that a wrong type of BIT
fields is returned to a client.

Now the JOIN::prepare and the create_distinct_group functions are create
additional hidden copy of BIT fields to preserve original fields untouched.
New hidden fields are used for grouping instead.


mysql-test/t/type_bit.test:
  Added a test case for the bug#30245: A wrong type of a BIT field is reported when grouped by it.
mysql-test/r/type_bit.result:
  Added a test case for the bug#30245: A wrong type of a BIT field is reported when grouped by it.
sql/sql_select.cc:
  Bug#30245: A wrong type of a BIT field is reported when grouped by it.
  Now the JOIN::prepare and the create_distinct_group functions are create
  additional hidden copy of BIT fields to preserve original fields untouched.
  New hidden fields are used for grouping instead.
2007-08-17 18:30:41 +04:00
unknown
92abaeee0c Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396
2007-08-16 21:04:28 -07:00
unknown
f4a163c3a5 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  dl145s.mysql.com:/data0/mhansson/my50-bug28570


sql/opt_range.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Bug#28570: Manual Merge
mysql-test/t/innodb_mysql.test:
  Bug#28570: Manual Merge
2007-08-16 14:13:07 +02:00
unknown
7ea03f33bd Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
2007-08-16 11:06:41 +08:00
unknown
0739c70ecd Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-15 15:48:03 -06:00
unknown
c6f10a562d Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-08-15 21:26:47 +02:00
unknown
a8f8e5483e Fixed bug #30396.
The bug caused memory corruption for some queries with top OR level
in the WHERE condition if they contained equality predicates and 
other sargable predicates in disjunctive parts of the condition.

The corruption happened because the upper bound of the memory
allocated for KEY_FIELD and SARGABLE_PARAM internal structures
containing info about potential lookup keys was calculated incorrectly
in some cases. In particular it was calculated incorrectly when the
WHERE condition was an OR formula with disjuncts being AND formulas
including equalities and other sargable predicates.


mysql-test/r/select.result:
  Added a test case for bug #30396.
mysql-test/t/select.test:
  Added a test case for bug #30396.
sql/item_cmpfunc.h:
  Removed max_members from the COND_EQUAL class as not useful anymore.
sql/sql_base.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.h:
  Added the max_equal_elems field to the st_select_lex structure.
  The field contains the maximal number of elements in multiple equalities
  built for the query conditions.
sql/sql_select.cc:
  Fixed bug #30396.
  The bug caused memory corruption for some queries with top OR level
  in the WHERE condition if they contained equality predicates and 
  other sargable predicates in disjunctive parts of the condition.
  
  The corruption happened because the upper bound of the memory
  allocated for KEY_FIELD and SARGABLE_PARAM internal structures
  containing info about potential lookup keys was calculated incorrectly
  in some cases. In particular it was calculated incorrectly when the
  WHERE condition was an OR formula with disjuncts being AND formulas
  including equalities and other sargable predicates.
   
  The max_equal_elems field to the st_select_lex structure is used now
  to calculate the above mentioned upper bound. The field contains the
  maximal number of elements in multiple equalities built for the query
  conditions.
2007-08-15 10:24:18 -07:00
unknown
9b460fb47c Merge lzhou@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb-bj
into  dev3-63.(none):/home/zhl/mysql/mysql-5.0/bug29674
2007-08-15 16:28:27 +00:00
unknown
9c1ffac09a Bug#25856 (HANDLER table OPEN in one connection lock DROP TABLE in another one)
mysql_ha_open calls mysql_ha_close on the error path (unsupported) to close the (opened) table before inserting it into the tables hash list handler_tables_hash) but mysql_ha_close only closes tables which are on the hash list, causing the table to be left open and locked.

This change moves the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close (mysql_ha_close).


mysql-test/r/handler.result:
  Bug#25856 test result
mysql-test/t/handler.test:
  Bug#25856 test case
sql/sql_handler.cc:
  Move the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close
2007-08-15 12:13:34 -03:00
unknown
01f8130aa6 bug#28570: handler::index_read() is called with different find_flag when
ORDER BY is used

The range analysis module did not correctly signal to the 
handler that a range represents a ref (EQ_RANGE flag). This causes 
non-range queries like 
SELECT ... FROM ... WHERE keypart_1=const, ..., keypart_n=const 
ORDER BY ... FOR UPDATE
to wait for a lock unneccesarily if another running transaction uses
SELECT ... FOR UPDATE on the same table.

Fixed by setting EQ_RANGE for all range accesses that represent 
an equality predicate. 


mysql-test/r/innodb_mysql.result:
  bug#28570: Test Result
mysql-test/t/innodb_mysql.test:
  bug#28570: Test Case
sql/handler.cc:
  bug#28570: Updated comment
sql/opt_range.cc:
  bug#28570: Removed the criterion that key has to be unique (HA_NOSAME) in 
  order for the EQ_RANGE flag to be set. It is sufficient that the range 
  represent a ref access.
2007-08-15 09:23:44 +02:00
unknown
b76fd3ed3b Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-08-14 15:34:04 +02:00
unknown
80aa720a89 Remove unused variable 2007-08-14 11:10:23 +02:00
unknown
53587e3e64 Remove unused variables 2007-08-14 11:05:42 +02:00
unknown
6656d39c72 Backport Magnus' fix from 5.1
ChangeSet@1.2575, 2007-08-07 19:16:06+02:00, msvensson@pilot.(none) +2 -0
  Bug#26793 mysqld crashes when doing specific query on information_schema
   - Drop the newly created user user1@localhost
   - Cleanup testcase


mysql-test/r/ndb_bug26793.result:
    mysql-test/r/ndb_bug26793.result@1.3, 2007-08-07 19:16:04+02:00, msvensson@pilot.(none)
  +1 -6
      Update test result
mysql-test/t/ndb_bug26793.test:
    mysql-test/t/ndb_bug26793.test@1.3, 2007-08-07 19:16:04+02:00, msvensson@pilot.(none) +8
  -11
      - Remove the drop/restore of anonymous users - there are no such users
      by default anymore(if there were, they would probably be in mysql.user)
      - Switch back to default connection before cleanup 
      - Drop user1@localhost as part of cleanup
2007-08-14 15:07:17 +10:00
unknown
db53902678 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-13 12:46:02 -06:00
unknown
a40202e696 bug#30337 DELETE ... WHERE PK IN (..) and AFTER DELETE trigger crashes API node: Added testcase 2007-08-13 15:59:08 +02:00
unknown
65fa527a27 Improve error messages
Write test results to var/log
Add test for "source" and variable expansion


client/mysqltest.c:
  Improve error messages
  Write .reject file to the location specified by --logdir
mysql-test/mysql-test-run.pl:
  Pass logdir to mysqltest, to get test results written to var/log
mysql-test/r/mysqltest.result:
  Update test results
mysql-test/t/mysqltest.test:
  Add test for "source" and variable expansion
  Update test after writing result in var/log
2007-08-13 15:46:11 +02:00
unknown
c2f6f8b6aa Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2007-08-13 11:29:58 +02:00
unknown
5c5233cd2b Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-11 01:32:04 +05:00
unknown
ff985f0690 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
2007-08-08 18:03:56 +02:00
unknown
ddbf9fdc1c Don't require a space between "if" and "(". This should
also fix "while" and "connect"
It's now possible to write "if("


client/mysqltest.c:
  Don't require a space between for example "if" and "(". This should
  also fix "while" and "connect"
mysql-test/t/mysqltest.test:
  Remove space between if and ( to check it works
2007-08-08 18:03:44 +02:00
unknown
365b21b307 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/r/mysqltest.result:
  SCCS merged
2007-08-08 16:47:35 +02:00
unknown
5501f528f5 Remove extra newline added to files created by write_file and append_file
client/mysqltest.c:
  - Remove the extra newline first in the file produced by
    write_file and append_file
  - Add check for too many arguments passed to 'check_command_args'
mysql-test/r/mysqltest.result:
  Update test result
mysql-test/t/mysqltest.test:
  Add test to check that no extra newline is created
2007-08-08 16:44:01 +02:00
unknown
0193dbd7f9 Improve comments and log messages in lib/mtr_timer.pl 2007-08-08 10:04:26 +02:00
unknown
e6701d746d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime


mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
sql/item.cc:
  Auto merged
2007-08-08 11:34:35 +04:00
unknown
4c23e5f373 BUG#29674 Restore/backup are endian compatible in 5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Twiddle the "replicaCount" and "fragCount" variable when restore data from different endian.
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Add byte order variable
ndb/tools/restore/Restore.cpp:
  Twiddle blob, datatime,timestamp when do restore in different endian.
mysql-test/r/ndb_restore_different_endian_data.result:
  Test case result for restore data from different endian
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.1.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.2.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.1.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.2.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.log:
  Test case data
mysql-test/t/ndb_restore_different_endian_data.test:
  Test case for restore data from different endian
2007-08-07 18:07:57 +00:00
unknown
c6e8889946 Reversing additional change suggested by Serg
under terms of bug#28875 for better performance.
The change appeared to require more changes in item_cmpfunc.cc,
which is dangerous in 5.0.
    
Conversion between a latin1 column and an ascii string constant
stopped to work.


mysql-test/r/ctype_recoding.result:
  Adding test case.
mysql-test/t/ctype_recoding.test:
  Adding test case.
2007-08-07 19:25:45 +05:00
unknown
db73e34fb8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


strings/ctype-extra.c:
  Auto merged
2007-08-07 06:53:40 -04:00
unknown
81536446cd Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27562/my50-bug27562
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-08-07 06:52:34 -04:00
unknown
26e4ea620b Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
2007-08-07 11:58:00 +02:00
unknown
04e8c93c20 Bug#20037 mysqltest requires cygwin on windows(part 1, new mysqltest commands)
- Update comments
 - Make "write_file" fail if file already exist
 - Remove temporary files created by test cases


client/mysqltest.c:
  Improve function comments
  Make write_file fail if file already exist
mysql-test/r/mysqltest.result:
  Update test result after adding new test and updating description
  of argumements to chmod
mysql-test/t/bootstrap.test:
  Remove temporary file created by testcase
mysql-test/t/mysql.test:
  Remove temporary file created by testcase
mysql-test/t/mysqladmin.test:
  Remove temporary file created by testcase
mysql-test/t/mysqltest.test:
  Remove temporary file created by testcase 
  Add test to show that "write_file" fails if file already exist
mysql-test/t/sp-destruct.test:
  Remove temporary file created by testcase
2007-08-07 11:40:03 +02:00
unknown
cfd34fe232 Bug#27562: ascii.xml invalid?
Two character mappings were way off (backtick and tilde were "E"
and "Y"!), and three others were slightly rotated.  The first 
would cause collisions, and the latter was probably benign.

Now, assign the character mappings exactly to their normal values.


sql/share/charsets/ascii.xml:
  Change the character mapping for 
   "`" to "`" (was "E") and 
   "[" to "[" (was "\") and 
   "\" to "\" (was "]") and
   "]" to "]" (was "[") and 
   "~" to "~" (was "Y").
strings/ctype-extra.c:
  Generated from charsets directory.
mysql-test/r/ctype_ascii.result:
  Add new test file.
  
  Test all combinations of printable letter comparisons for 
  similarity.
mysql-test/t/ctype_ascii.test:
  Add new test file.
  
  Test all combinations of printable letter comparisons for 
  similarity.
2007-08-07 05:35:20 -04:00
unknown
2d49f43750 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29536-5.0-opt
2007-08-06 06:37:05 -07:00
unknown
1f83b35181 Bug #29536: timestamp inconsistent in replication around 1970
MySQL replicates the time zone only when operations that involve
it are performed. This is controlled by a flag. But this flag
is set only on successful operation.
The flag must be set also when there is an error that involves
a timezone (so the master would replicate the error to the slaves). 

Fixed by moving the setting of the flag before the operation
(so it apples to errors as well).


mysql-test/r/rpl_timezone.result:
  Bug #29536: test case
mysql-test/t/rpl_timezone.test:
  Bug #29536: test case
sql/field.cc:
  Bug #29536: move setting of the flag before the operation
  (so it apples to errors as well).
sql/time.cc:
  Bug #29536: move setting of the flag before the operation
  (so it apples to errors as well).
2007-08-06 04:57:28 -07:00
unknown
050256c2d7 Remove NOT_YET code
Update comments
Add more tests for "let from query"


client/mysqltest.c:
  Remove NOT_YET code
  Update comments
mysql-test/r/mysqltest.result:
  Add more tests for "let from query"
mysql-test/t/mysqltest.test:
  Add more tests for "let from query"
2007-08-06 11:20:36 +02:00
unknown
1d139a6565 Removed a query from the test case for bug 39219 that displayed in valgrind
a problem for BIT type values different from the one reported for the bug.
2007-08-06 01:01:22 -07:00
unknown
b75ff08194 Merge bk-internal:/home/bk/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
2007-08-06 09:41:24 +02:00
unknown
57e225bbc4 mysql-test-run.pl:
Search "relwithdebinfo" directory in CMake Visual Studio build
  Search for "mysqld-debug" even in source tree


mysql-test/mysql-test-run.pl:
  Search "relwithdebinfo" directory in CMake Visual Studio build
  Search for "mysqld-debug" even in source tree
2007-08-06 01:29:53 +02:00
unknown
e106b09ad3 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30219
2007-08-05 14:21:36 -07:00
unknown
4e6e122061 Fix bug #30219.
This bug manifested itself for queries with grouping by columns of
the BIT type. It led to wrong comparisons of bit-field values and
wrong result sets.
Bit-field values never cannot be compared as binary values. Yet
the class Field_bit had an implementation of the cmp method that
compared bit-fields values as binary values. 
Also the get_image and set_image methods of the base class Field 
cannot be used for objects of the Field_bit class. 
Now these methods are declared as virtual and specific implementations
of the methods are provided for the class Field_bit.


mysql-test/r/type_bit.result:
  Added a test case for bug #30219.
mysql-test/t/type_bit.test:
  Added a test case for bug #30219.
sql/field.h:
  Fix bug #30219.
  This bug manifested itself for queries with grouping by columns of
  the BIT type. It led to wrong comparisons of bit-field values and
  wrong result sets.
  Bit-field values never cannot be compared as binary values. Yet
  the class Field_bit had an implementation of the cmp method that
  compared bit-fields values as binary values.
  Also the get_image and set_image methods of the base class Field
  cannot be used for objects of the Field_bit class. 
  Now these methods are declared as virtual and specific implementations
  of these methods are provided for the class Field_bit.
2007-08-05 14:16:49 -07:00