mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
5c68c9042a
Fixed bug with ALTER TABLE on HEAP tables mysql-test/r/alter_table.result: Turn off SCCS flag mysql-test/r/analyse.result: Turn off SCCS flag mysql-test/r/auto_increment.result: Turn off SCCS flag mysql-test/r/bdb.result: Turn off SCCS flag mysql-test/r/bigint.result: Turn off SCCS flag mysql-test/r/binary.result: Turn off SCCS flag mysql-test/r/case.result: Turn off SCCS flag mysql-test/r/comments.result: Turn off SCCS flag mysql-test/r/compare.result: Turn off SCCS flag mysql-test/r/count_distinct.result: Turn off SCCS flag mysql-test/r/create.result: Turn off SCCS flag mysql-test/r/delayed.result: Turn off SCCS flag mysql-test/r/distinct.result: Turn off SCCS flag mysql-test/r/empty_table.result: Turn off SCCS flag mysql-test/r/explain.result: Turn off SCCS flag mysql-test/r/ft0000001.a.result: Turn off SCCS flag mysql-test/r/ft0000001.b.result: Turn off SCCS flag mysql-test/r/ft0000001.c.result: Turn off SCCS flag mysql-test/r/ft0000001.d.result: Turn off SCCS flag mysql-test/r/ft0000001.e.result: Turn off SCCS flag mysql-test/r/ft0000002.a.result: Turn off SCCS flag mysql-test/r/ft0000002.b.result: Turn off SCCS flag mysql-test/r/ft0000002.c.result: Turn off SCCS flag mysql-test/r/fulltext.result: Turn off SCCS flag mysql-test/r/func_crypt.result: Turn off SCCS flag mysql-test/r/func_date_add.result: Turn off SCCS flag mysql-test/r/func_equal.result: Turn off SCCS flag mysql-test/r/func_group.result: Turn off SCCS flag mysql-test/r/func_in.result: Turn off SCCS flag mysql-test/r/func_like.result: Turn off SCCS flag mysql-test/r/func_math.result: Turn off SCCS flag mysql-test/r/func_misc.result: Turn off SCCS flag mysql-test/r/func_op.result: Turn off SCCS flag mysql-test/r/func_regexp.result: Turn off SCCS flag mysql-test/r/func_set.result: Turn off SCCS flag mysql-test/r/func_str.result: Turn off SCCS flag mysql-test/r/func_system.result: Turn off SCCS flag mysql-test/r/func_test.result: Turn off SCCS flag mysql-test/r/func_time.result: Turn off SCCS flag mysql-test/r/group_by.result: Turn off SCCS flag mysql-test/r/heap.result: Turn off SCCS flag mysql-test/r/ins000001.result: Turn off SCCS flag mysql-test/r/insert.result: Turn off SCCS flag mysql-test/r/insert_select.result: Turn off SCCS flag mysql-test/r/join.result: Turn off SCCS flag mysql-test/r/join_outer.result: Turn off SCCS flag mysql-test/r/key.result: Turn off SCCS flag mysql-test/r/key_diff.result: Turn off SCCS flag mysql-test/r/key_primary.result: Turn off SCCS flag mysql-test/r/keywords.result: Turn off SCCS flag mysql-test/r/limit.result: Turn off SCCS flag mysql-test/r/merge.result: Turn off SCCS flag mysql-test/r/null.result: Turn off SCCS flag mysql-test/r/null_key.result: Turn off SCCS flag mysql-test/r/odbc.result: Turn off SCCS flag mysql-test/r/order_by.result: Turn off SCCS flag mysql-test/r/raid.result: Turn off SCCS flag mysql-test/r/range.result: Turn off SCCS flag mysql-test/r/rename.result: Turn off SCCS flag mysql-test/r/replace.result: Turn off SCCS flag mysql-test/r/rollback.result: Turn off SCCS flag mysql-test/r/rpl000001.a.result: Turn off SCCS flag mysql-test/r/rpl000001.b.result: Turn off SCCS flag mysql-test/r/rpl000002.result: Turn off SCCS flag mysql-test/r/rpl000003.result: Turn off SCCS flag mysql-test/r/rpl000004.a.result: Turn off SCCS flag mysql-test/r/rpl000004.b.result: Turn off SCCS flag mysql-test/r/rpl000005.result: Turn off SCCS flag mysql-test/r/rpl000006.result: Turn off SCCS flag mysql-test/r/rpl000007.result: Turn off SCCS flag mysql-test/r/rpl000008.result: Turn off SCCS flag mysql-test/r/rpl000009.result: Turn off SCCS flag mysql-test/r/rpl000010.result: Turn off SCCS flag mysql-test/r/rpl000011.result: Turn off SCCS flag mysql-test/r/rpl000012.result: Turn off SCCS flag mysql-test/r/rpl000012.status.result: Turn off SCCS flag mysql-test/r/rpl000013.result: Turn off SCCS flag mysql-test/r/rpl000013.status.result: Turn off SCCS flag mysql-test/r/rpl000014.result: Turn off SCCS flag mysql-test/r/rpl000015.result: Turn off SCCS flag mysql-test/r/rpl000016.result: Turn off SCCS flag mysql-test/r/sel000001.result: Turn off SCCS flag mysql-test/r/sel000002.result: Turn off SCCS flag mysql-test/r/sel000003.result: Turn off SCCS flag mysql-test/r/sel000031.result: Turn off SCCS flag mysql-test/r/sel000032.result: Turn off SCCS flag mysql-test/r/sel000033.result: Turn off SCCS flag mysql-test/r/sel000100.result: Turn off SCCS flag mysql-test/r/select_safe.result: Turn off SCCS flag mysql-test/r/show_check.result: Turn off SCCS flag mysql-test/r/shw000001.result: Turn off SCCS flag mysql-test/r/slave-running.result: Turn off SCCS flag mysql-test/r/slave-stopped.result: Turn off SCCS flag mysql-test/r/tablelock.result: Turn off SCCS flag mysql-test/r/temp_table.result: Turn off SCCS flag mysql-test/r/truncate.result: Turn off SCCS flag mysql-test/r/type_blob.result: Turn off SCCS flag mysql-test/r/type_date.result: Turn off SCCS flag mysql-test/r/type_datetime.result: Turn off SCCS flag mysql-test/r/type_enum.result: Turn off SCCS flag mysql-test/r/type_float.result: Turn off SCCS flag mysql-test/r/type_ranges.result: Turn off SCCS flag mysql-test/r/type_time.result: Turn off SCCS flag mysql-test/r/type_timestamp.result: Turn off SCCS flag mysql-test/r/type_uint.result: Turn off SCCS flag mysql-test/r/type_year.result: Turn off SCCS flag mysql-test/r/update.result: Turn off SCCS flag mysql-test/r/varbinary.result: Turn off SCCS flag mysql-test/r/variables.result: Turn off SCCS flag Docs/manual.texi: Changelog client/my_readline.h: Added read length to readline() client/mysql.cc: cleanup client/mysqladmin.c: cleanup client/mysqldump.c: Added handling of hexadecimal constants client/mysqlimport.c: Version change client/mysqltest.c: Don't append the .reject extension, instead replace the old extension client/readline.cc: Added read length to readline() heap/hp_open.c: extra debug merge/rrnd.c: Fix bug in merge tables mysql-test/install_test_db.sh: Portability fixes mysql-test/mysql-test-run.sh: Portability fixes Added --ddd and --debug options scripts/mysqld_multi.sh: Add pathname to mysqladmin sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha: New benchmark results sql/mysqld.cc: Some fixes for gemini sql/sql_table.cc: Fixed bug with ALTER TABLE on HEAP tables
220 lines
7.2 KiB
Bash
Executable file
220 lines
7.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Copyright (C) 1997, 1998, 1999 TCX DataKonsult AB & Monty Program KB & Detron HB
|
|
# For a more info consult the file COPYRIGHT distributed with this file
|
|
|
|
# This scripts creates the privilege tables db, host, user, tables_priv,
|
|
# columns_priv in the mysql database, as well as the func table.
|
|
|
|
if [ x$1 = x"-bin" ]; then
|
|
shift 1
|
|
execdir=../bin
|
|
bindir=../bin
|
|
BINARY_DIST=1
|
|
fix_bin=mysql-test
|
|
else
|
|
execdir=../sql
|
|
bindir=../client
|
|
fix_bin=.
|
|
fi
|
|
|
|
vardir=var
|
|
logdir=$vardir/log
|
|
if [ x$1 = x"-slave" ]
|
|
then
|
|
shift 1
|
|
data=var/slave-data
|
|
ldata=$fix_bin/var/slave-data
|
|
else
|
|
data=var/lib
|
|
ldata=$fix_bin/var/lib
|
|
fi
|
|
|
|
mdata=$data/mysql
|
|
|
|
|
|
if test ! -x $execdir/mysqld
|
|
then
|
|
echo "mysqld is missing - looked in $execdir"
|
|
exit 1
|
|
fi
|
|
|
|
# On IRIX hostname is in /usr/bsd so add this to the path
|
|
PATH=$PATH:/usr/bsd
|
|
hostname=`hostname` # Install this too in the user table
|
|
|
|
resolved=127.0.0.1
|
|
|
|
|
|
#create the directories
|
|
[ -d $vardir ] || mkdir $vardir
|
|
[ -d $logdir ] || mkdir $logdir
|
|
|
|
# Create database directories mysql & test
|
|
if [ -d $data ] ; then rm -rf $data ; fi
|
|
mkdir $data $data/mysql $data/test
|
|
|
|
#for error messages
|
|
if [ x$BINARY_DIST = x1 ] ; then
|
|
basedir=..
|
|
else
|
|
basedir=.
|
|
rm -rf share
|
|
mkdir share
|
|
ln -sf ../../sql/share share/mysql
|
|
fi
|
|
|
|
# Initialize variables
|
|
c_d="" i_d=""
|
|
c_h="" i_h=""
|
|
c_u="" i_u=""
|
|
c_f="" i_f=""
|
|
c_t="" c_c=""
|
|
|
|
# Check for old tables
|
|
if test ! -f $mdata/db.frm
|
|
then
|
|
# mysqld --bootstrap wants one command/line
|
|
c_d="$c_d CREATE TABLE db ("
|
|
c_d="$c_d Host char(60) DEFAULT '' NOT NULL,"
|
|
c_d="$c_d Db char(64) DEFAULT '' NOT NULL,"
|
|
c_d="$c_d User char(16) DEFAULT '' NOT NULL,"
|
|
c_d="$c_d Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_d="$c_d PRIMARY KEY Host (Host,Db,User),"
|
|
c_d="$c_d KEY User (User)"
|
|
c_d="$c_d )"
|
|
c_d="$c_d comment='Database privileges';"
|
|
|
|
i_d="INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');
|
|
INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');"
|
|
fi
|
|
|
|
if test ! -f $mdata/host.frm
|
|
then
|
|
c_h="$c_h CREATE TABLE host ("
|
|
c_h="$c_h Host char(60) DEFAULT '' NOT NULL,"
|
|
c_h="$c_h Db char(64) DEFAULT '' NOT NULL,"
|
|
c_h="$c_h Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_h="$c_h PRIMARY KEY Host (Host,Db)"
|
|
c_h="$c_h )"
|
|
c_h="$c_h comment='Host privileges; Merged with database privileges';"
|
|
fi
|
|
|
|
if test ! -f $mdata/user.frm
|
|
then
|
|
c_u="$c_u CREATE TABLE user ("
|
|
c_u="$c_u Host char(60) DEFAULT '' NOT NULL,"
|
|
c_u="$c_u User char(16) DEFAULT '' NOT NULL,"
|
|
c_u="$c_u Password char(16) DEFAULT '' NOT NULL,"
|
|
c_u="$c_u Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u File_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
|
|
c_u="$c_u PRIMARY KEY Host (Host,User)"
|
|
c_u="$c_u )"
|
|
c_u="$c_u comment='Users and global privileges';"
|
|
|
|
i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
|
|
INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
|
|
|
|
REPLACE INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
|
|
REPLACE INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
|
|
|
|
INSERT INTO user VALUES ('localhost','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N');
|
|
INSERT INTO user VALUES ('$hostname','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N');"
|
|
fi
|
|
|
|
if test ! -f $mdata/func.frm
|
|
then
|
|
c_f="$c_f CREATE TABLE func ("
|
|
c_f="$c_f name char(64) DEFAULT '' NOT NULL,"
|
|
c_f="$c_f ret tinyint(1) DEFAULT '0' NOT NULL,"
|
|
c_f="$c_f dl char(128) DEFAULT '' NOT NULL,"
|
|
c_f="$c_f type enum ('function','aggregate') NOT NULL,"
|
|
c_f="$c_f PRIMARY KEY (name)"
|
|
c_f="$c_f )"
|
|
c_f="$c_f comment='User defined functions';"
|
|
fi
|
|
|
|
if test ! -f $mdata/tables_priv.frm
|
|
then
|
|
c_t="$c_t CREATE TABLE tables_priv ("
|
|
c_t="$c_t Host char(60) DEFAULT '' NOT NULL,"
|
|
c_t="$c_t Db char(64) DEFAULT '' NOT NULL,"
|
|
c_t="$c_t User char(16) DEFAULT '' NOT NULL,"
|
|
c_t="$c_t Table_name char(60) DEFAULT '' NOT NULL,"
|
|
c_t="$c_t Grantor char(77) DEFAULT '' NOT NULL,"
|
|
c_t="$c_t Timestamp timestamp(14),"
|
|
c_t="$c_t Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL,"
|
|
c_t="$c_t Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
|
|
c_t="$c_t PRIMARY KEY (Host,Db,User,Table_name),"
|
|
c_t="$c_t KEY Grantor (Grantor)"
|
|
c_t="$c_t )"
|
|
c_t="$c_t comment='Table privileges';"
|
|
fi
|
|
|
|
if test ! -f $mdata/columns_priv.frm
|
|
then
|
|
c_c="$c_c CREATE TABLE columns_priv ("
|
|
c_c="$c_c Host char(60) DEFAULT '' NOT NULL,"
|
|
c_c="$c_c Db char(64) DEFAULT '' NOT NULL,"
|
|
c_c="$c_c User char(16) DEFAULT '' NOT NULL,"
|
|
c_c="$c_c Table_name char(64) DEFAULT '' NOT NULL,"
|
|
c_c="$c_c Column_name char(64) DEFAULT '' NOT NULL,"
|
|
c_c="$c_c Timestamp timestamp(14),"
|
|
c_c="$c_c Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
|
|
c_c="$c_c PRIMARY KEY (Host,Db,User,Table_name,Column_name)"
|
|
c_c="$c_c )"
|
|
c_c="$c_c comment='Column privileges';"
|
|
fi
|
|
|
|
if $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \
|
|
--basedir=$basedir --datadir=$ldata << END_OF_DATA
|
|
use mysql;
|
|
$c_d
|
|
$i_d
|
|
|
|
$c_h
|
|
$i_h
|
|
|
|
$c_u
|
|
$i_u
|
|
|
|
$c_f
|
|
$i_f
|
|
|
|
$c_t
|
|
$c_c
|
|
END_OF_DATA
|
|
then
|
|
exit 0
|
|
else
|
|
exit 1
|
|
fi
|