Commit graph

1309 commits

Author SHA1 Message Date
tsmith@ramayana.hindu.god
091f6a4677 Bug #29992: syslog error logging does not flush
Don't use syslog by default; user will have to request it explicitly with the --syslog option.

Use "sed -u" to get unbuffered output from sed, if it's supported.

Otherwise, don't use sed at all - don't strip the timestamp from mysqld messages.

Also, add new --syslog-tag=FOO option, which adds "-FOO" to the tag used when logging messages to syslog (i.e., mysqld-FOO or mysqld_safe-FOO)

Also, explicitly mention where log messages are going, so user can more easily find them.

Also, check if 'logger' is in the PATH, and log to the error log file if it can't be found.
2007-07-27 17:20:43 -06:00
jperkin@production.mysql.com
87a297061c Merge production.mysql.com:/usersnfs/jperkin/bk/bug-28585-5.0
into  production.mysql.com:/usersnfs/jperkin/bk/bug-28585-5.1
2007-07-27 20:28:34 +02:00
jperkin@production.mysql.com
d5293e4584 More fixes and cleanups for bug#28585:
- make the 'dist-hook' from top-level Makefile work again.
  - we can find my_print_defaults from --basedir by parsing command
    line arguments prior to running my_print_defaults.
  - take advantage of additional command line parsing and allow the
    --no-defaults etc arguments to work anywhere rather than having
    to be the first argument.
  - find SQL files either from binary archive or source install.
  - consolidate and tidy code and error messages.
2007-07-27 15:14:21 +02:00
anozdrin/alik@ibm.
aee749d0d9 Fix for BUG#30029: mysql_upgrade fails for 5.0 -> 5.1.21,
5.1.20 -> 5.1.21 upgrades.

We generate mysql_fix_privilege.sql file, which contains SQL
statements required to upgrade the system database. This script
is generated by concatenation of mysql_system_tables.sql and
mysql_system_tables_fix.sql.

The problem was that
  - in order to create general_log and slow_log tables we use
    stored programs in mysql_system_tables.sql;
  - we upgrade mysql.proc table in mysql_system_tables_fix.sql;

So, if mysql.proc table needs to be upgraded, stored procedures
can not be used in mysql_system_tables.sql.

In other words, in mysql_system_tables.sql stored programs must
not be used because they may be unavailable at this point.

The fix is to use dynamic SQL instead of stored programs.

There is no test case for this bug because our test suite
is not suitable for such test cases. system_mysql_db_fix* test
cases play with the database "test". Here we need to modify
the system database and we can not do that in the test suite.
2007-07-26 20:05:01 +04:00
jperkin@production.mysql.com
d2936fad10 mysql_install_db.sh:
Fix error in previous change, correct --language argument.
2007-07-26 14:31:11 +02:00
jperkin@production.mysql.com
2c95b97787 Apply a few more cleanups to improve the robustness of mysql_install_db 2007-07-26 14:27:36 +02:00
jperkin@production.mysql.com
8f87bd6008 Clean up the mysql_install_db script to ensure that a sane environment is
available and reduce the chance of failure.  This should fix bug#28585
which is caused by the script being quite random in how it finds files it
requires and not giving very good feedback to the user about what went
wrong.

Also update make_binary_distribution so that it provides the correct path
to the required SQL scripts when generating mysql_install_db.  The script
only previously worked because of the permissive behaviour which looked
around the current working directory before the "correct" location.  This
could lead to severe problems if the user happened to run the script from
a location which contained older or even broken copies of the SQL scripts.

We now require either a complete binary release (and the mysql_install_db
script ran from inside the extracted archive), or an installed compiled
tree, as this is the only way we can be sure everything that we need is
available and ready to run.

While working on this fix, also clean up the mysql_install_db script a lot
to make it simpler, easier to read, and hopefully less prone to bugs in
the future.
2007-07-26 12:57:46 +02:00
df@pippilotta.erinye.com
3c2baf3e66 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
2007-07-20 11:41:25 +02:00
df@pippilotta.erinye.com
a51493a4a0 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.46
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-07-20 09:20:48 +02:00
joerg@trift2.
59588dff9a Merge trift2.:/MySQL/M50/bug21023-25486-5.0
into  trift2.:/MySQL/M51/bug21023-25486-5.1
2007-07-17 21:11:22 +02:00
joerg@trift2.
cb28594deb Ensure "mysql-stress-test.pl" is included in both "tar.gz" and RPM packages.
Fixing bug#21023:  "mysql-stress-test.pl" missing in builds
2007-07-17 16:25:32 +02:00
dfischer/mysqldev@mysql.com/production.mysql.com
0e98bed903 make_binary_distribution.sh:
BUG#29382
2007-07-17 10:25:48 +02:00
tsmith@sita.local
63dd4251e4 Bug #29634: mysqld_safe does not set err_log variable, error log file is not created
Dont touch & chmod the err_log file if using syslog (mysqld_safe)
2007-07-09 16:10:43 -06:00
tsmith@sita.local
e345a242f4 mysqld_safe.sh:
Fix a few typos in comments (from Paul DuBois)
2007-07-09 15:30:19 -06:00
tsmith@maint1.mysql.com
54253a0763 Merge maint1.mysql.com:/data/localhome/tsmith/bk/51
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
2007-07-04 22:38:53 +02:00
msvensson@pilot.(none)
ef80d45d0d Update make_win_bin_dist to also copy mysql-test/suite directory 2007-06-29 14:43:54 +02:00
anozdrin/alik@ibm.
9fae9ef66f Patch for the following bugs:
- BUG#11986: Stored routines and triggers can fail if the code
    has a non-ascii symbol
  - BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
  - BUG#19443: INFORMATION_SCHEMA does not support charsets properly
  - BUG#21249: Character set of SP-var can be ignored
  - BUG#25212: Character set of string constant is ignored (stored routines)
  - BUG#25221: Character set of string constant is ignored (triggers)

There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
   triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
   inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
   definition;

1. No query-definition-character set.

In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.

The context contains the following data:
  - client character set;
  - connection collation (character set and collation);
  - collation of the owner database;

The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).

2. Wrong mysqldump-output.

The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.

Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).

The solution is
  - to store definition queries in the original character set;
  - to change SHOW CREATE statement to output definition query in the
    binary character set (i.e. without any conversion);
  - introduce SHOW CREATE TRIGGER statement;
  - to dump special statements to switch the context to the original one
    before dumping and restore it afterwards.

Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.

3. INFORMATION_SCHEMA showed non-UTF8 strings

The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.

Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.

This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object.  Specialized SHOW CREATE statements should be
used for this.

The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).

Example:

  - original query:
    CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;

  - UTF8 query (for INFORMATION_SCHEMA):
    CREATE VIEW v1 AS SELECT 'Hello' AS c1;
2007-06-28 21:34:54 +04:00
df@pippilotta.erinye.com
6db1887a5c fix make_win_bin_dist typo 2007-06-13 19:19:11 +02:00
kent@mysql.com/kent-amd64.(none)
affeddbd8f make_win_bin_dist:
Aligned headers to include with Unix 'make install'
2007-06-12 19:49:02 +02:00
tsmith@quadxeon.mysql.com
c1c60a17dc Merge tsmith.mysql.internal:m/bk/maint/b4858/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-31 00:29:02 +02:00
tsmith@quadxeon.mysql.com
91c484339c Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-30 23:48:20 +02:00
msvensson@pilot.blaudden
7327f42060 Merge pilot.blaudden:/home/msvensson/mysql/bug28521/my51-bug28521
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.1-new-maint
2007-05-24 12:31:48 +02:00
df@pippilotta.erinye.com
d29eaed81a Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-05-24 09:22:00 +02:00
joerg@trift2.
b8e3fb1333 Merge trift2.:/MySQL/M50/bug26609-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-05-22 20:02:23 +02:00
joerg@trift2.
49dc9c5971 Merge trift2.:/MySQL/M50/bug26609-5.0
into  trift2.:/MySQL/M51/bug26609-5.1
2007-05-22 17:51:51 +02:00
joerg@trift2.
b0677f1ddc scripts/make_binary_distribution.sh :
Include all the additional test suites in the binary packages ("tar.gz").
This is the tar.gz part of the fixes for bug#26609; for RPMs it is already done.
2007-05-22 17:06:47 +02:00
tsmith@quadxeon.mysql.com
99488b31b9 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-21 20:50:08 +02:00
msvensson@pilot.blaudden
4215eb8a50 Bug#28521 Upgrade from 5.1.17 to 5.1.18 breaks events
- Add test for upgrading from 5.1.17 - it's a beta but anyway
   good to have a check oif upgrading new system tables for 5.1
 - Always put the "originator" column after "comment" to get correct
  order of columns in "events" table
2007-05-19 18:55:38 +02:00
msvensson@pilot.blaudden
a3bd588435 Merge pilot.blaudden:/home/msvensson/mysql/bug28401/my50-bug28401
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-05-19 18:22:08 +02:00
msvensson@pilot.blaudden
bc69d072f3 Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE
- The SQL commands used by mysql_upgrade are written to be run
    with sql_mode set to '' - thus the scripts should change sql_mode
    for the session to make sure the SQL is legal.
2007-05-19 18:15:08 +02:00
tsmith@siva.hindu.god
30bc713c77 Merge siva.hindu.god:/home/tsmith/m/bk/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50
2007-05-17 14:17:50 -06:00
joerg@trift2.
d84c807204 After-merge fix in "scripts/make_win_bin_dist":
Ensure the balanced use of 'x' guards in string comparisons also in the new 5.1 lines.
2007-05-16 21:00:35 +02:00
joerg@trift2.
b3f35b8be5 Manual merge. 2007-05-16 20:52:50 +02:00
joerg@trift2.
ae801bb0ae Fix bug#27833 "Bourne shell string comparison issue in scripts/make_win_bin_dist":
Several string comparisons could never yield true because they had an 'x' guard
added to the variable but not to the constant value. Fix that by guarding both sides.
2007-05-15 18:19:18 +02:00
acurtis/antony@ltamd64.xiphis.org
a4dbc0990c Merge xiphis.org:/home/antony/work2/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-engines.merge
2007-05-04 23:35:14 -07:00
tsmith@siva.hindu.god
fd4774c35c Bug #4858: mysql_safe logs to syslog instead of stderr
mysqld_safe.sh: Overhaul the logging design, to allow logging
mysqld messages to syslog.  Add --syslog and --skip-syslog
arguments for mysqld_safe.
2007-05-04 19:06:36 -06:00
joerg@trift2.
5558019733 Merge trift2.:/MySQL/M50/netware-cross-5.0
into  trift2.:/MySQL/M51/netware-cross-5.1
2007-05-03 18:08:06 +02:00
joerg@trift2.
6511b280ca Better distinction between "CLEANFILES" and "DISTCLEANFILES" for some generated files
(here: "scripts/mysql_fix_privilege_tables{.sql,_sql.c}"). Important for cross-builds.
2007-05-03 15:51:02 +02:00
joerg@trift2.
16dfab5e92 Resolve a possible timing issue with "scripts/mysql_fix_privilege_tables_sql.c" in the
source tarball, this is essential for cross builds, like for NetWare.
2007-05-02 20:07:01 +02:00
iggy@recycle.(none)
f4f9480785 Minor fix. 2007-05-02 12:41:36 -04:00
joerg@trift2.
489da2252c Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-05-02 17:19:30 +02:00
joerg@trift2.
0db7e9c4f1 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-05-02 17:15:48 +02:00
joerg@trift2.
f486530d2d Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M51/mysql-5.1
2007-05-02 14:08:43 +02:00
joerg@trift2.
bb2996f487 Format corrections for various "Makefile.am": Leading tab, no trailing blank. 2007-05-02 14:01:49 +02:00
joerg@trift2.
331902b792 Merge trift2.:/MySQL/M50/netware-cross-5.0
into  trift2.:/MySQL/M51/netware-cross-5.1
2007-04-30 20:29:57 +02:00
joerg@trift2.
8b0f68331b Necessary change for cross-builds: Include "mysql_fix_privilege_tables_sql.c" in the source tarball. 2007-04-30 17:01:00 +02:00
serg@sergbook.mysql.com
dbd683a7d9 mysql-test/mysql-test-run.pl: another mysqld --help fix
scripts/mysql_install_db.sh: don't fail if --skip-XXX is not recognized
2007-04-30 07:45:56 -07:00
tsmith@quadxeon.mysql.com
bfb0448a4d Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-04-28 01:36:09 +02:00
tsmith@quadxeon.mysql.com
33a74e41fc Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-04-28 01:31:15 +02:00
tsmith@quadxeon.mysql.com
b90b0c7eb2 Bug #27390: mysqld_multi --config-file= not working as documented
Recognize the --no-defaults, --defaults-file and --defaults-extra-file
options.  Treat old --config-file argument as if --defaults-extra-file
had been specified instead.

Plus a few other defaults-related cleanups.
2007-04-28 01:27:54 +02:00