Loading BUILD/compile-ia64-debug-max 0 → 100755 +13 −0 Original line number Diff line number Diff line gmake -k clean || true /bin/rm -f */.deps/*.P config.cache aclocal && autoheader && aclocal && automake && autoconf (cd bdb/dist && sh s_all) (cd innobase && aclocal && autoheader && aclocal && automake && autoconf) if [ -d gemini ] then (cd gemini && aclocal && autoheader && aclocal && automake && autoconf) fi CC=ecc CFLAGS="-w1 -DEXTRA_DEBUG -DSAFEMALLOC -DSAFE_MUTEX -O2" CXX=ecc CXXFLAGS="-w1 -DEXTRA_DEBUG -DSAFEMALLOC -DSAFE_MUTEX -O2" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-debug --with-innodb --with-embedded-server gmake Build-tools/Do-compile +15 −0 Original line number Diff line number Diff line Loading @@ -105,8 +105,23 @@ $|=1; safe_cd("$host"); if ($opt_stage == 0 && ! $opt_use_old_distribution) { my ($name); safe_system("gunzip < $opt_distribution | $tar xf -"); # Fix file times; This is needed because the time for files may be # in the future system("touch timestamp; find $var -newer timestamp -print | xargs touch; rm -f timestamp"); sleep(2); # Ensure that files we don't want to rebuild are newer than other files foreach $name ("configure", "Docs/include.texi", "Docs/*.html", "Docs/manual.txt", "Docs/mysql.info", "sql/sql_yacc.h", "sql/sql_yacc.cc") { system("touch $name"); } } safe_cd($ver); if ($opt_stage <= 1) { Loading Docs/manual.texi +50 −6 Original line number Diff line number Diff line Loading @@ -770,9 +770,11 @@ databases that contain 50,000,000 records and we know of users that uses MySQL with 60,000 tables and about 5,000,000,000 rows @item All columns have default values. You can use @code{INSERT} to insert a subset of a table's columns; those columns that are not explicitly given values are set to their default values. @cindex default values All columns have default values. You can use @code{INSERT} to insert a subset of a table's columns; those columns that are not explicitly given values are set to their default values. @item Uses GNU Automake, Autoconf, and Libtool for portability. Loading Loading @@ -7905,8 +7907,11 @@ The initial download of the source tree may take a while, depending on the speed of your connection; be patient. @item You will need GNU @code{autoconf}, @code{automake}, @code{libtool}, and @code{m4} to run the next set of commands. You will need GNU @code{autoconf 2.13}, @code{automake 1.4}, @code{libtool}, and @code{m4} to run the next set of commands. Note that the new versions of @code{autoconf} (2.52) and @code{automake} (1.5) do not work. If you get some strange error during this stage, check that you really have @code{libtool} installed! Loading Loading @@ -24278,6 +24283,37 @@ takes more effort and hardware. We are also working on some extensions to solve this problem for some common application niches. MySQL can work with both transactional and not transactional tables. To be able to work smoothly with not transactional tables (which can't rollback if something goes wrong), MySQL has the following rules: @cindex default values @itemize @bullet @item All columns has default values. @item If you insert a 'wrong' value in a column like a @code{NULL} in a @code{NOT NULL} column or a too big numerical value in a numerical column, MySQL will instead of giving an error instead set the column to the 'best possible value'. For numerical values this is 0, the smallest possible values or the largest possible value. For strings this is either the empty string or the longest possible string that can be in the column. @item All calculated expressions returns a value that can be used instead of signaling an error condition. For example 1/0 returns @code{NULL} @end itemize The reason for the above rules is that we can't check these conditions before the query starts to execute. If we encounter a problem after updating a few rows, we can't just rollback as the table type may not support this. We can't stop because in that case the update would be 'half done' which is probably the worst possible scenario. In this case it's better to 'do the best you can' and then continue as if nothing happened. The above means that one should not use MySQL to check fields content, but one should do this in the application. @node Portability, Internal use, Design Limitations, Optimize Overview @subsection Portability Loading Loading @@ -32550,11 +32586,18 @@ If you specify no column list for @code{INSERT ... VALUES} or @code{INSERT the columns in the table, use @code{DESCRIBE tbl_name} to find out. @item @cindex default values Any column not explicitly given a value is set to its default value. For example, if you specify a column list that doesn't name all the columns in the table, unnamed columns are set to their default values. Default value assignment is described in @ref{CREATE TABLE, , @code{CREATE TABLE}}. MySQL always has a default value for all fields. This is something that is imposed on MySQL to be able to work with both transactional and not transactional tables. Our view is that checking of fields content should be done in the application and not in the database server. @item An @code{expression} may refer to any column that was set earlier in a value list. For example, you can say this: Loading Loading @@ -33795,6 +33838,7 @@ as setting it to @code{NULL}, because @code{0} is a valid @code{TIMESTAMP} value. @item @cindex default values If no @code{DEFAULT} value is specified for a column, MySQL automatically assigns one. Loading Loading @@ -53360,7 +53404,7 @@ in the @code{mysql} mail archive, you should report the bug to online at the @uref{http://www.mysql.com/documentation/, MySQL documentation page}. If you have started @code{mysqld} with @code{--with-myisam-recover}, If you have started @code{mysqld} with @code{myisam-recover}, MySQL will automatically check and try to repair @code{MyISAM} tables if they are marked as 'not closed properly' or 'crashed'. If this happens, MySQL will write an entry in the acinclude.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -726,7 +726,7 @@ AC_MSG_CHECKING(for OpenSSL) openssl_includes="-I/usr/local/ssl/include" AC_DEFINE(HAVE_OPENSSL) else AC_MSG_RESULT(disabled because --with-vio wasn not used) AC_MSG_RESULT(disabled because --with-vio was not used) fi else AC_MSG_RESULT(no) Loading client/mysqlbinlog.cc +0 −9 Original line number Diff line number Diff line Loading @@ -23,15 +23,6 @@ #define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES) #ifndef OS2 extern "C" { int simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg, uint length, my_bool skipp_check); uint net_safe_read(MYSQL* mysql); } #endif char server_version[SERVER_VERSION_LENGTH]; uint32 server_id = 0; Loading Loading
BUILD/compile-ia64-debug-max 0 → 100755 +13 −0 Original line number Diff line number Diff line gmake -k clean || true /bin/rm -f */.deps/*.P config.cache aclocal && autoheader && aclocal && automake && autoconf (cd bdb/dist && sh s_all) (cd innobase && aclocal && autoheader && aclocal && automake && autoconf) if [ -d gemini ] then (cd gemini && aclocal && autoheader && aclocal && automake && autoconf) fi CC=ecc CFLAGS="-w1 -DEXTRA_DEBUG -DSAFEMALLOC -DSAFE_MUTEX -O2" CXX=ecc CXXFLAGS="-w1 -DEXTRA_DEBUG -DSAFEMALLOC -DSAFE_MUTEX -O2" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-debug --with-innodb --with-embedded-server gmake
Build-tools/Do-compile +15 −0 Original line number Diff line number Diff line Loading @@ -105,8 +105,23 @@ $|=1; safe_cd("$host"); if ($opt_stage == 0 && ! $opt_use_old_distribution) { my ($name); safe_system("gunzip < $opt_distribution | $tar xf -"); # Fix file times; This is needed because the time for files may be # in the future system("touch timestamp; find $var -newer timestamp -print | xargs touch; rm -f timestamp"); sleep(2); # Ensure that files we don't want to rebuild are newer than other files foreach $name ("configure", "Docs/include.texi", "Docs/*.html", "Docs/manual.txt", "Docs/mysql.info", "sql/sql_yacc.h", "sql/sql_yacc.cc") { system("touch $name"); } } safe_cd($ver); if ($opt_stage <= 1) { Loading
Docs/manual.texi +50 −6 Original line number Diff line number Diff line Loading @@ -770,9 +770,11 @@ databases that contain 50,000,000 records and we know of users that uses MySQL with 60,000 tables and about 5,000,000,000 rows @item All columns have default values. You can use @code{INSERT} to insert a subset of a table's columns; those columns that are not explicitly given values are set to their default values. @cindex default values All columns have default values. You can use @code{INSERT} to insert a subset of a table's columns; those columns that are not explicitly given values are set to their default values. @item Uses GNU Automake, Autoconf, and Libtool for portability. Loading Loading @@ -7905,8 +7907,11 @@ The initial download of the source tree may take a while, depending on the speed of your connection; be patient. @item You will need GNU @code{autoconf}, @code{automake}, @code{libtool}, and @code{m4} to run the next set of commands. You will need GNU @code{autoconf 2.13}, @code{automake 1.4}, @code{libtool}, and @code{m4} to run the next set of commands. Note that the new versions of @code{autoconf} (2.52) and @code{automake} (1.5) do not work. If you get some strange error during this stage, check that you really have @code{libtool} installed! Loading Loading @@ -24278,6 +24283,37 @@ takes more effort and hardware. We are also working on some extensions to solve this problem for some common application niches. MySQL can work with both transactional and not transactional tables. To be able to work smoothly with not transactional tables (which can't rollback if something goes wrong), MySQL has the following rules: @cindex default values @itemize @bullet @item All columns has default values. @item If you insert a 'wrong' value in a column like a @code{NULL} in a @code{NOT NULL} column or a too big numerical value in a numerical column, MySQL will instead of giving an error instead set the column to the 'best possible value'. For numerical values this is 0, the smallest possible values or the largest possible value. For strings this is either the empty string or the longest possible string that can be in the column. @item All calculated expressions returns a value that can be used instead of signaling an error condition. For example 1/0 returns @code{NULL} @end itemize The reason for the above rules is that we can't check these conditions before the query starts to execute. If we encounter a problem after updating a few rows, we can't just rollback as the table type may not support this. We can't stop because in that case the update would be 'half done' which is probably the worst possible scenario. In this case it's better to 'do the best you can' and then continue as if nothing happened. The above means that one should not use MySQL to check fields content, but one should do this in the application. @node Portability, Internal use, Design Limitations, Optimize Overview @subsection Portability Loading Loading @@ -32550,11 +32586,18 @@ If you specify no column list for @code{INSERT ... VALUES} or @code{INSERT the columns in the table, use @code{DESCRIBE tbl_name} to find out. @item @cindex default values Any column not explicitly given a value is set to its default value. For example, if you specify a column list that doesn't name all the columns in the table, unnamed columns are set to their default values. Default value assignment is described in @ref{CREATE TABLE, , @code{CREATE TABLE}}. MySQL always has a default value for all fields. This is something that is imposed on MySQL to be able to work with both transactional and not transactional tables. Our view is that checking of fields content should be done in the application and not in the database server. @item An @code{expression} may refer to any column that was set earlier in a value list. For example, you can say this: Loading Loading @@ -33795,6 +33838,7 @@ as setting it to @code{NULL}, because @code{0} is a valid @code{TIMESTAMP} value. @item @cindex default values If no @code{DEFAULT} value is specified for a column, MySQL automatically assigns one. Loading Loading @@ -53360,7 +53404,7 @@ in the @code{mysql} mail archive, you should report the bug to online at the @uref{http://www.mysql.com/documentation/, MySQL documentation page}. If you have started @code{mysqld} with @code{--with-myisam-recover}, If you have started @code{mysqld} with @code{myisam-recover}, MySQL will automatically check and try to repair @code{MyISAM} tables if they are marked as 'not closed properly' or 'crashed'. If this happens, MySQL will write an entry in the
acinclude.m4 +1 −1 Original line number Diff line number Diff line Loading @@ -726,7 +726,7 @@ AC_MSG_CHECKING(for OpenSSL) openssl_includes="-I/usr/local/ssl/include" AC_DEFINE(HAVE_OPENSSL) else AC_MSG_RESULT(disabled because --with-vio wasn not used) AC_MSG_RESULT(disabled because --with-vio was not used) fi else AC_MSG_RESULT(no) Loading
client/mysqlbinlog.cc +0 −9 Original line number Diff line number Diff line Loading @@ -23,15 +23,6 @@ #define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES) #ifndef OS2 extern "C" { int simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg, uint length, my_bool skipp_check); uint net_safe_read(MYSQL* mysql); } #endif char server_version[SERVER_VERSION_LENGTH]; uint32 server_id = 0; Loading