summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Docs/manual.texi10
-rw-r--r--isam/_dbug.c2
-rw-r--r--sql/sql_acl.cc6
-rw-r--r--support-files/make_mysql_pkg.sh159
4 files changed, 170 insertions, 7 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 8acfbeeef7e..97dceadb8e4 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -34127,7 +34127,7 @@ mysql> select * from bar;
For each row in table @code{foo}, a row is inserted in @code{bar} with
the values from @code{foo} and default values for the new columns.
-@code{CREATE TABLE ... SELECT} will not automaticly create any indexes
+@code{CREATE TABLE ... SELECT} will not automatically create any indexes
for you. This is done intentionally to make the command as flexible as
possible. If you want to have indexes in the created table, you should
specify these before the @code{SELECT} statement:
@@ -41970,7 +41970,7 @@ MySQL function. This initializes some global variables that MySQL
needs. If you are using a thread safe client library, this will also
call @code{my_thread_init()} for this thread.
-This is automaticly called by @code{mysql_init()}
+This is automatically called by @code{mysql_init()}
and @code{mysql_connect()}.
@subsubheading Return Values
@@ -41987,7 +41987,7 @@ none.
This function needs to be called for each created thread to initialize
thread specific variables.
-This is automaticly called by @code{my_init()} and @code{mysql_connect()}.
+This is automatically called by @code{my_init()} and @code{mysql_connect()}.
@subsubheading Return Values
@@ -42003,7 +42003,7 @@ none.
This function needs to be called before calling @code{pthread_exit()} to
freed memory allocated by @code{my_thread_init()}.
-Note that this function is NOT invoked automaticly be the client
+Note that this function is NOT invoked automatically by the client
library!
@subsubheading Return Values
@@ -47113,6 +47113,8 @@ as @code{NULL}.
Fixed problem with @code{myisampack} when using pre-space filled CHAR columns.
@item
Applied patch from Yuri Dario for OS2.
+@item
+Fixed bug in @code{--safe-user-create}
@end itemize
@node News-3.23.42, News-3.23.41, News-3.23.43, News-3.23.x
diff --git a/isam/_dbug.c b/isam/_dbug.c
index d632d5931a5..18e671793ed 100644
--- a/isam/_dbug.c
+++ b/isam/_dbug.c
@@ -89,7 +89,7 @@ void _nisam_print_key(FILE *stream, register N_KEYSEG *keyseg, const uchar *key)
key=end;
break;
case HA_KEYTYPE_UINT24:
- VOID(fprintf(stream,"%ld",uint3korr(key)));
+ VOID(fprintf(stream,"%ld",(long) uint3korr(key)));
key=end;
break;
case HA_KEYTYPE_FLOAT:
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index bc2222ffa48..4c128a882c6 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -1624,6 +1624,7 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
List_iterator <LEX_USER> str_list (user_list);
LEX_USER *Str;
TABLE_LIST tables[3];
+ bool create_new_users=0;
DBUG_ENTER("mysql_table_grant");
if (!initialized)
@@ -1691,6 +1692,8 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
DBUG_RETURN(-1); /* purecov: deadcode */
}
+ if (!revoke_grant)
+ create_new_users= test_if_create_new_users(thd);
int result=0;
pthread_mutex_lock(&LOCK_grant);
MEM_ROOT *old_root=my_pthread_getspecific_ptr(MEM_ROOT*,THR_MALLOC);
@@ -1716,8 +1719,7 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
*Str,
0,
revoke_grant ? 'N' : 'Y',
- (revoke_grant ? 0 :
- test_if_create_new_users(thd))))
+ create_new_users))
{
result= -1; // Remember error
continue; // Add next user
diff --git a/support-files/make_mysql_pkg.sh b/support-files/make_mysql_pkg.sh
new file mode 100644
index 00000000000..b0eb817fff4
--- /dev/null
+++ b/support-files/make_mysql_pkg.sh
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+# make_mysql_pkg.sh
+#
+# This script creates a Mac OS X installation package
+# for Apple's Installer application.
+#
+# To use it:
+#
+# 1.) unpack the MySQL source tarball
+# 2.) cd to into the resulting directory and stay there for the next steps
+# 3.) "configure" the source (preferably with --mandir=/usr/local/share/man)
+# 4.) "make" the package
+# 5.) invoke this script with superuser privileges (sudo or in a root shell)
+#
+# Written by Marc Liyanage (http://www.entropy.ch)
+#
+# History:
+#
+# When Who What
+# -------------------------------------------------------------
+# 2001-09-13 Marc Liyanage First version
+
+
+# Find the version number of this particular MySQL build
+#
+OLDWD=`pwd`
+VERSION_H_FILE=$OLDWD/include/mysql_version.h
+
+if [ ! -e $VERSION_H_FILE ]
+then
+echo $VERSION_H_FILE not found, make sure you are in the mysql source dir
+exit 1
+fi
+
+MYSQLVERSION=`egrep 'MYSQL_SERVER_VERSION' $VERSION_H_FILE | perl -e '$_ = <>; $_ =~ /"(.+?)"/; print $1'`
+
+
+
+# We will temporarily rename /usr/local to this name
+# and then mkdir a new, empty /usr/local
+#
+LOCAL_TMPDIR=/usr/local.tmp
+
+# At the end, we'll keep our temporary /usr/local
+# to this name
+#
+LOCAL_BACKUPDIR=/usr/local.mysql-package
+
+# Where do we create the package directory
+#
+PKG_DIR=/tmp/mysql-$MYSQLVERSION.pkg
+
+# Where is the resources directory within the
+# package directory
+#
+PKG_RESOURCES_DIR=$PKG_DIR/Contents/Resources
+
+# Check if old stuff is in our way
+#
+if [ -e $LOCAL_BACKUPDIR ]
+then
+echo $LOCAL_BACKUPDIR exists, please remove first...
+exit 1
+fi
+
+if [ -e $LOCAL_TMPDIR ]
+then
+echo $LOCAL_TMPDIR exists, please remove first...
+exit 1
+fi
+
+if [ -e $PKG_DIR ]
+then
+echo $PKG_DIR exists, please remove first...
+exit 1
+fi
+
+# Now create the package dir
+#
+mkdir -p $PKG_RESOURCES_DIR
+
+# Move the existing /usr/local out of our way
+#
+mv /usr/local $LOCAL_TMPDIR
+
+# Now create our new empty temporary /usr/local
+#
+mkdir /usr/local
+
+# And install MySQL there
+#
+make install
+
+
+# cd there so the next few commands will use it
+# as base directory
+#
+cd /usr/local
+
+# First, create the gzipped pax archive file
+# which contains the actual files
+#
+pax -w . | gzip -c > $PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.pax.gz
+
+# Create the bom ("Bill Of Materials") file
+#
+mkbom . $PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.bom
+
+# Create the sizes file with the package space
+# requirement numbers and file count
+#
+SIZE_UNCOMPRESSED=`du -sk /usr/local | cut -f 1`
+SIZE_COMPRESSED=`du -sk $PKG_DIR | cut -f 1`
+NUMFILES=`find /usr/local | wc -l | perl -e '$_ = <>; $_ =~ /\s+(\d+)/; print $1 - 1'`
+
+echo NumFiles $NUMFILES >> $PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.sizes
+echo InstalledSize $SIZE_UNCOMPRESSED >> $PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.sizes
+echo CompressedSize $SIZE_COMPRESSED >> $PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.sizes
+
+
+# Finally create the info file which drives the "Installer" application
+#
+cat >$PKG_RESOURCES_DIR/mysql-$MYSQLVERSION.info <<- EOF
+ Title MySQL
+ Version $MYSQLVERSION
+ Description The MySQL database server in a convenient Mac OS X package. Some additional configuration is necessary, please see http://www.entropy.ch/software/macosx/mysql/
+ DefaultLocation /usr/local
+ Diskname (null)
+ DeleteWarning
+ NeedsAuthorization YES
+ DisableStop NO
+ UseUserMask NO
+ Application NO
+ Relocatable NO
+ Required NO
+ InstallOnly NO
+ RequiresReboot NO
+ InstallFat NO
+EOF
+
+# Create a .tar.gz file for the package directory
+#
+cd $PKG_DIR
+cd ..
+DIRNAME=`dirname $PKG_DIR`
+BASENAME=`basename $PKG_DIR`
+FILENAME=$BASENAME.tar.gz
+tar -cvzf $FILENAME $BASENAME
+
+# Move our temporary /usr/local out of the way
+# and the original one back
+#
+mv /usr/local $LOCAL_BACKUPDIR
+mv $LOCAL_TMPDIR /usr/local
+
+echo output package is in $DIRNAME/$FILENAME
+
+