diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 63acc19a75c..52fff02a21d 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -83,3 +83,4 @@ zak@balfor.local zak@linux.local zgreant@mysql.com tfr@beta.frontier86.ee +Administrador@light. diff --git a/Docs/manual.texi b/Docs/manual.texi index 7d49abb034a..ec525bbf15a 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -16051,7 +16051,9 @@ Values in the scope fields may be specified as follows: @itemize @bullet @item The wildcard characters @samp{%} and @samp{_} can be used in the @code{Host} -and @code{Db} fields of either table. +and @code{Db} fields of either table. If you wish to use for instance a +@samp{_} character as part of a database name, specify it as @samp{\_} in +the @code{GRANT} command. @item A @code{'%'} @code{Host} value in the @code{db} table means ``any host.'' A @@ -16676,6 +16678,13 @@ database privileges by using @code{ON db_name.*} syntax. If you specify that database. (@strong{Warning}: if you specify @code{ON *} and you @strong{don't} have a current database, you will affect the global privileges!) +@strong{Please note}: the @samp{_} and @samp{%} wildcards are allowed when +specifying database names in @code{GRANT} commands. This means that if you +wish to use for instance a @samp{_} character as part of a database name, +you should specify it as @samp{\_} in the @code{GRANT} command, to prevent +the user from being able to access additional databases matching the +wildcard pattern, e.g., @code{GRANT ... ON `foo\_bar`.* TO ...}. + In order to accommodate granting rights to users from arbitrary hosts, MySQL supports specifying the @code{user_name} value in the form @code{user@@host}. If you want to specify a @code{user} string @@ -16684,8 +16693,8 @@ containing special characters or wildcard characters (such as @samp{%}), you can quote the user or host name (for example, @code{'test-user'@@'test-hostname'}). You can specify wildcards in the hostname. For example, -@code{user@@"%.loc.gov"} applies to @code{user} for any host in the -@code{loc.gov} domain, and @code{user@@"144.155.166.%"} applies to @code{user} +@code{user@@'%.loc.gov'} applies to @code{user} for any host in the +@code{loc.gov} domain, and @code{user@@'144.155.166.%'} applies to @code{user} for any host in the @code{144.155.166} class C subnet. The simple form @code{user} is a synonym for @code{user@@"%"}. @@ -19931,7 +19940,7 @@ cache. The value of the @code{--bdb-home} option. @item @code{bdb_max_lock} -The maximum number of locks (1000 by default) you can have active on a +The maximum number of locks (10,000 by default) you can have active on a BDB table. You should increase this if you get errors of type @code{bdb: Lock table is out of available locks} or @code{Got error 12 from ...} when you have do long transactions or when @code{mysqld} has to examine @@ -20030,15 +20039,15 @@ The maximum length of the word to be included in a @code{FULLTEXT} index. @strong{Note: @code{FULLTEXT} indexes must be rebuilt after changing this variable.} (This option is new for MySQL 4.0.) -@item @code{ft_max_word_len_sort} +@item @code{ft_max_word_len_for_sort} The maximum length of the word in a @code{FULLTEXT} index to be used in fast index recreation method in @code{REPAIR}, @code{CREATE INDEX}, or @code{ALTER TABLE}. Longer words are inserted the slow way. The rule of the thumb is as follows: with -@code{ft_max_word_len_sort} increasing, @strong{MySQL} will create bigger +@code{ft_max_word_len_for_sort} increasing, @strong{MySQL} will create bigger temporary files (thus slowing the process down, due to disk I/O), and will put fewer keys in one sort block (again, decreasing the efficiency). When -@code{ft_max_word_len_sort} is too small, instead, @strong{MySQL} will insert a +@code{ft_max_word_len_for_sort} is too small, instead, @strong{MySQL} will insert a lot of words into index the slow way, but short words will be inserted very quickly. @@ -24212,7 +24221,7 @@ ignore, use the directive multiple times, once for each database. You should not use this directive if you are using cross table updates and you don't want these update to be replicated. -The main reason for this behavior is that it's hard from the command +The main reason for this behaviour is that it's hard from the command alone know if a query should be replicated or not; For example if you are using multi-table-delete or multi-table-update commands in MySQL 4.x that goes across multiple databases. It's also very fast to just check @@ -31231,7 +31240,7 @@ mysql> SELECT IF(STRCMP('test','test1'),'no','yes'); If @code{expr2} or @code{expr3} is explicitely @code{NULL} then the result type of the @code{IF()} function is the type of the not -@code{NULL} column. (This behavior is new in MySQL 4.0.3). +@code{NULL} column. (This behaviour is new in MySQL 4.0.3). @code{expr1} is evaluated as an integer value, which means that if you are testing floating-point or string values, you should do so using a comparison @@ -35217,6 +35226,9 @@ In other words, you can't access the values of the old row from a @code{REPLACE} statement. In some old MySQL versions it appeared that you could do this, but that was a bug that has been corrected. +To be able to use @code{REPLACE} you must have @code{INSERT} and +@code{DELETE} privileges for the table. + When you use a @code{REPLACE} command, @code{mysql_affected_rows()} will return 2 if the new row replaced an old row. This is because one row was inserted and then the duplicate was deleted. @@ -36604,7 +36616,7 @@ deleted due to duplication of unique key values. The @code{FOREIGN KEY}, @code{CHECK}, and @code{REFERENCES} clauses don't actually do anything, except for InnoDB type tables which support @code{ADD CONSTRAINT FOREIGN KEY (...) REFERENCES ... (...)}. -Note that InnoDB does not allow a constraint @code{symbol} or @code{index_name} +Note that InnoDB does not allow an @code{index_name} to be specified. @xref{InnoDB}. The syntax for other table types is provided only for compatibility, to make it easier to port code from other SQL servers and to run applications @@ -39257,7 +39269,7 @@ constraints to guard the integrity of your data. The syntax of a foreign key constraint definition in InnoDB: @example -FOREIGN KEY (index_col_name, ...) +[CONSTRAINT symbol] FOREIGN KEY (index_col_name, ...) REFERENCES table_name (index_col_name, ...) [ON DELETE CASCADE | ON DELETE SET NULL] @end example @@ -39316,7 +39328,7 @@ Starting from version 3.23.50 InnoDB allows you to add a new foreign key constraint to a table through @example ALTER TABLE yourtablename - ADD CONSTRAINT FOREIGN KEY (...) REFERENCES anothertablename(...) +ADD [CONSTRAINT symbol] FOREIGN KEY (...) REFERENCES anothertablename(...) @end example Remember to create the required indexes first, though. @@ -50830,6 +50842,8 @@ Fixed some @code{ORDER BY ... DESC} problems with InnoDB. Fixed an inadvertently changed option (@code{--ignore-space}) back to the original @code{--ignore-spaces} in @code{mysqlclient}. (Both syntaxes will work). +@item +Don't require @code{UPDATE} privilege when using @code{REPLACE}. @end itemize @node News-4.0.4, News-4.0.3, News-4.0.5, News-4.0.x @@ -50996,7 +51010,7 @@ that can be used as data values in queries. Changed variable @code{DELAY_KEY_WRITE} to an enum to allow one set @code{DELAY_KEY_WRITE} for all tables without taking down the server. @item -Changed behavior of @code{IF(condition,column,NULL)} so that it returns +Changed behaviour of @code{IF(condition,column,NULL)} so that it returns the value of the column type. @item Made @code{safe_mysqld} a symlink to @code{mysqld_safe} in binary distribution. @@ -54017,7 +54031,7 @@ T @item Fixed optimiser problem on @code{SELECT} when using many overlapping indexes. MySQL should now be able to choose keys even better when there -is many keys to choose from. +are many keys to choose from. @item Changed optimiser to prefer a range key instead of a ref key when the range key can uses more columns than the ref key (which only can use @@ -58264,25 +58278,25 @@ Instead of using row level locks one can use application level locks only in well-behaved applications. In many cases one can do an educated guess which locking type is best -for the application but generally it's very hard to say that a given +for the application, but generally it's very hard to say that a given lock type is better than another; everything depends on the application and different part of the application may require different lock types. Here are some tips about locking in MySQL: -On web application most applications do lots of selects, very few -deletes, updates mainly on keys and inserts in some specific tables. +Most web applications do lots of selects, very few +deletes, updates mainly on keys, and inserts in some specific tables. The base MySQL setup is very well tuned for this. -Concurrent users is not a problem if one doesn't mix updates and selects -that needs to examine many rows in the same table. +Concurrent users are not a problem if one doesn't mix updates with selects +that need to examine many rows in the same table. If one mixes inserts and deletes on the same table then @code{INSERT DELAYED} may be of great help. One can also use @code{LOCK TABLES} to speed up things (many updates within a single lock is much faster than updates without locks). Splitting -thing to different tables will also helps. +thing to different tables will also help. If you get speed problems with the table locks in MySQL, you may be able to solve these by converting some of your tables to @code{InnoDB} @@ -58290,7 +58304,7 @@ or @code{BDB} tables. @xref{InnoDB}. @xref{BDB}. The optimisation section in the manual covers a lot of different aspects of -how to tune ones application. @xref{Tips}. +how to tune applications. @xref{Tips}. @node RTS-threads, Thread packages, Locking methods, Porting diff --git a/VC++Files/client/mysqlclient.dsp b/VC++Files/client/mysqlclient.dsp index 4d70971a363..d03623cedb9 100644 --- a/VC++Files/client/mysqlclient.dsp +++ b/VC++Files/client/mysqlclient.dsp @@ -398,7 +398,7 @@ SOURCE=.\mysys_priv.h # End Source File # Begin Source File -SOURCE=..\libmysql\net.c +SOURCE=..\sql\net_serv.cpp # End Source File # Begin Source File diff --git a/VC++Files/innobase/innobase.dsp b/VC++Files/innobase/innobase.dsp index a65f607e738..a9dd33217be 100644 --- a/VC++Files/innobase/innobase.dsp +++ b/VC++Files/innobase/innobase.dsp @@ -19,6 +19,8 @@ CFG=INNOBASE - WIN32 RELEASE !MESSAGE !MESSAGE "innobase - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE "innobase - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - Win32 nt" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - Win32 Max nt" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project @@ -74,12 +76,60 @@ LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" # ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" +!ELSEIF "$(CFG)" == "innobase - Win32 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___Win32_nt" +# PROP BASE Intermediate_Dir "innobase___Win32_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "innobase___Win32_nt" +# PROP Intermediate_Dir "innobase___Win32_nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - Win32 Max nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___Win32_Max_nt" +# PROP BASE Intermediate_Dir "innobase___Win32_Max_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "innobase___Win32_Max_nt" +# PROP Intermediate_Dir "innobase___Win32_Max_nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + !ENDIF # Begin Target # Name "innobase - Win32 Debug" # Name "innobase - Win32 Release" +# Name "innobase - Win32 nt" +# Name "innobase - Win32 Max nt" # Begin Source File SOURCE=.\btr\btr0btr.c diff --git a/VC++Files/libmysql/libmysql.dsp b/VC++Files/libmysql/libmysql.dsp index 4dc0f86a6e9..ea5ef096561 100644 --- a/VC++Files/libmysql/libmysql.dsp +++ b/VC++Files/libmysql/libmysql.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 @@ -59,7 +59,7 @@ LINK32=link.exe # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Desc=Move DLL export lib -PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /v +PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /y # End Special Build Tool !ELSEIF "$(CFG)" == "libmySQL - Win32 Debug" @@ -76,7 +76,7 @@ PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /v # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "." /I "..\include" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /FD /c +# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "." /I "..\include" /I "../zlib" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 @@ -92,7 +92,7 @@ LINK32=link.exe # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Desc=Move DLL export lib -PostBuild_Cmds=xcopy ..\lib_debug\libmysql.dll C:\winnt\system32\ /v xcopy debug\libmysql.lib ..\lib_debug\ /v +PostBuild_Cmds=xcopy ..\lib_debug\libmysql.dll C:\winnt\system32\ /y xcopy debug\libmysql.lib ..\lib_debug\ /y # End Special Build Tool !ENDIF @@ -375,7 +375,7 @@ SOURCE=..\client\mysys_priv.h # End Source File # Begin Source File -SOURCE=.\net.c +SOURCE=..\sql\net_serv.cpp # End Source File # Begin Source File diff --git a/VC++Files/myisampack/myisampack.dsp b/VC++Files/myisampack/myisampack.dsp index 5ea392e1b41..f576a93faf2 100644 --- a/VC++Files/myisampack/myisampack.dsp +++ b/VC++Files/myisampack/myisampack.dsp @@ -88,7 +88,7 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File -SOURCE=.\myisampack.c +SOURCE=..\myisam\myisampack.c # End Source File # End Group # Begin Group "Header Files" diff --git a/VC++Files/mysql.dsw b/VC++Files/mysql.dsw index a6c3b4e7334..b576730b500 100644 --- a/VC++Files/mysql.dsw +++ b/VC++Files/mysql.dsw @@ -30,6 +30,18 @@ Package=<4> ############################################################################### +Project: "comp_err"=".\comp_err\comp_err.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Project: "dbug"=".\dbug\dbug.dsp" - Package Owner=<4> Package=<5> @@ -186,6 +198,27 @@ Package=<4> ############################################################################### +Project: "my_print_defaults"=".\my_print_defaults\my_print_defaults.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + Project: "myisam"=".\myisam\myisam.dsp" - Package Owner=<4> Package=<5> @@ -426,14 +459,26 @@ Package=<4> Project_Dep_Name myisammrg End Project Dependency Begin Project Dependency - Project_Dep_Name innobase - End Project Dependency - Begin Project Dependency Project_Dep_Name bdb End Project Dependency Begin Project Dependency Project_Dep_Name vio End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency +}}} + +############################################################################### + +Project: "mysqldemb"=".\mysqldemb\mysqldemb.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ }}} ############################################################################### @@ -468,6 +513,51 @@ Package=<4> ############################################################################### +Project: "mysqlserver"=".\mysqlserver\mysqlserver.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency + Begin Project Dependency + Project_Dep_Name merge + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqldemb + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + Project: "mysqlshow"=".\client\mysqlshow.dsp" - Package Owner=<4> Package=<5> @@ -624,7 +714,7 @@ Package=<4> ############################################################################### -Project: "thr_insert_test"=".\thr_insert_test\thr_insert_test.dsp" - Package Owner=<4> +Project: "test_libmysqld"=".\libmysqld\examples\test_libmysqld.dsp" - Package Owner=<4> Package=<5> {{{ @@ -633,7 +723,19 @@ Package=<5> Package=<4> {{{ Begin Project Dependency - Project_Dep_Name mysqlclient + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name libmysqld + End Project Dependency + Begin Project Dependency + Project_Dep_Name vio + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib End Project Dependency }}} diff --git a/VC++Files/mysqldemb/mysqldemb.dsp b/VC++Files/mysqldemb/mysqldemb.dsp index a637c486574..7b844a68511 100644 --- a/VC++Files/mysqldemb/mysqldemb.dsp +++ b/VC++Files/mysqldemb/mysqldemb.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /YX /FD /c # ADD BASE RSC /l 0x416 /d "NDEBUG" # ADD RSC /l 0x416 /d "NDEBUG" BSC32=bscmake.exe @@ -64,7 +64,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /YX /FD /GZ /c # ADD BASE RSC /l 0x416 /d "_DEBUG" # ADD RSC /l 0x416 /d "_DEBUG" BSC32=bscmake.exe @@ -110,10 +110,6 @@ SOURCE=..\libmysql\get_password.c # End Source File # Begin Source File -SOURCE=..\sql\ha_berkeley.cpp -# End Source File -# Begin Source File - SOURCE=..\sql\ha_heap.cpp # End Source File # Begin Source File @@ -190,10 +186,6 @@ SOURCE=..\sql\key.cpp # End Source File # Begin Source File -SOURCE=..\libmysqld\lib_load.cpp -# End Source File -# Begin Source File - SOURCE=..\libmysqld\lib_sql.cpp # End Source File # Begin Source File diff --git a/VC++Files/mysqlserver/mysqlserver.dsp b/VC++Files/mysqlserver/mysqlserver.dsp index dda50cd5538..7991131c3a8 100644 --- a/VC++Files/mysqlserver/mysqlserver.dsp +++ b/VC++Files/mysqlserver/mysqlserver.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "MYSQL_SERVER" /D "__WIN__" /YX /FD /c # ADD BASE RSC /l 0x416 /d "NDEBUG" # ADD RSC /l 0x416 /d "NDEBUG" BSC32=bscmake.exe @@ -64,7 +64,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /YX /FD /GZ /c # ADD BASE RSC /l 0x416 /d "_DEBUG" # ADD RSC /l 0x416 /d "_DEBUG" BSC32=bscmake.exe @@ -80,5 +80,13 @@ LIB32=link.exe -lib # Name "mysqlserver - Win32 Release" # Name "mysqlserver - Win32 Debug" +# Begin Source File + +SOURCE=..\sql\set_var.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_load.cpp +# End Source File # End Target # End Project diff --git a/VC++Files/pack_isam/pack_isam.dsp b/VC++Files/pack_isam/pack_isam.dsp index 20c832c96d0..1b377c0b68e 100644 --- a/VC++Files/pack_isam/pack_isam.dsp +++ b/VC++Files/pack_isam/pack_isam.dsp @@ -88,7 +88,7 @@ LINK32=link.exe # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File -SOURCE=.\pack_isam.c +SOURCE=..\isam\pack_isam.c # End Source File # End Group # Begin Group "Header Files" diff --git a/VC++Files/sql/mysqld.dsp b/VC++Files/sql/mysqld.dsp index 093cfb0d925..ac5550ad2b2 100644 --- a/VC++Files/sql/mysqld.dsp +++ b/VC++Files/sql/mysqld.dsp @@ -28,7 +28,7 @@ CFG=mysqld - Win32 Release # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" -CPP=xicl6.exe +CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "mysqld - Win32 Release" @@ -45,14 +45,14 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x410 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo -LINK32=xilink6.exe +LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-opt.exe" # SUBTRACT LINK32 /debug @@ -71,14 +71,14 @@ LINK32=xilink6.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../regex" /I "../bdb/build_win32" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../include" /I "../regex" /I "../bdb/build_win32" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # SUBTRACT CPP /Fr /YX # ADD BASE RSC /l 0x410 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo -LINK32=xilink6.exe +LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld.exe" /pdbtype:sept @@ -98,14 +98,14 @@ LINK32=xilink6.exe # PROP Target_Dir "" # ADD BASE CPP /nologo /G5 /MT /W3 /O2 /I "../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "__WIN32__" /D "DBUG_OFF" /FD /c # SUBTRACT BASE CPP /YX -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x410 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo -LINK32=xilink6.exe +LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\dbug.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe" # SUBTRACT LINK32 /pdb:none /debug @@ -126,14 +126,14 @@ LINK32=xilink6.exe # PROP Target_Dir "" # ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c # SUBTRACT BASE CPP /YX -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo -LINK32=xilink6.exe +LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe" # SUBTRACT BASE LINK32 /pdb:none /debug # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib ..\lib_release\bdb.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-max-nt.exe" @@ -155,14 +155,14 @@ LINK32=xilink6.exe # PROP Target_Dir "" # ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c # SUBTRACT BASE CPP /YX -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo -LINK32=xilink6.exe +LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"../client_release/mysqld-opt.exe" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\bdb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-max.exe" # SUBTRACT LINK32 /debug @@ -218,6 +218,10 @@ SOURCE=.\derror.cpp # End Source File # Begin Source File +SOURCE=..\client\errmsg.c +# End Source File +# Begin Source File + SOURCE=.\field.cpp !IF "$(CFG)" == "mysqld - Win32 Release" @@ -638,10 +642,6 @@ SOURCE=.\mini_client.cpp # End Source File # Begin Source File -SOURCE=.\mini_client_errors.c -# End Source File -# Begin Source File - SOURCE=.\mysqld.cpp !IF "$(CFG)" == "mysqld - Win32 Release" @@ -1167,6 +1167,10 @@ SOURCE=.\sql_test.cpp # End Source File # Begin Source File +SOURCE=.\sql_udf.cpp +# End Source File +# Begin Source File + SOURCE=.\sql_union.cpp # End Source File # Begin Source File diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 2617a7971dc..e5d7f20c6df 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -54,10 +54,13 @@ mkdir $BASE $BASE/bin $BASE/data $BASE/data/mysql $BASE/data/test \ chmod o-rwx $BASE/data $BASE/data/* -for i in sql/ChangeLog COPYING COPYING.LIB README Docs/INSTALL-BINARY \ - Docs/manual.html Docs/manual.txt Docs/manual_toc.html +for i in ChangeLog COPYING COPYING.LIB README Docs/INSTALL-BINARY \ + LICENSE Docs/manual.html Docs/manual.txt Docs/manual_toc.html do - $CP $i $BASE + if [ -f $i ] + then + $CP $i $BASE + fi done for i in extra/comp_err extra/replace extra/perror extra/resolveip \ diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 9e834e3cab9..d6e40889eed 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1878,10 +1878,10 @@ mysql_execute_command(void) lex->lock_option); break; case SQLCOM_REPLACE: - if (check_access(thd,INSERT_ACL | UPDATE_ACL | DELETE_ACL, + if (check_access(thd,INSERT_ACL | DELETE_ACL, tables->db,&tables->grant.privilege)) goto error; /* purecov: inspected */ - if (grant_option && check_grant(thd,INSERT_ACL | UPDATE_ACL | DELETE_ACL, + if (grant_option && check_grant(thd,INSERT_ACL | DELETE_ACL, tables)) goto error; @@ -1899,7 +1899,7 @@ mysql_execute_command(void) */ { ulong privilege= (lex->sql_command == SQLCOM_INSERT_SELECT ? - INSERT_ACL : INSERT_ACL | UPDATE_ACL | DELETE_ACL); + INSERT_ACL : INSERT_ACL | DELETE_ACL); TABLE_LIST *save_next=tables->next; tables->next=0; if (check_access(thd, privilege,