diff options
-rw-r--r-- | Docs/manual.texi | 167 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | myisam/mi_rprev.c | 2 | ||||
-rw-r--r-- | mysys/mf_format.c | 2 | ||||
-rw-r--r-- | sql/handler.cc | 2 |
5 files changed, 154 insertions, 21 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 33e046fba53..8decd49b4c5 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -156,6 +156,7 @@ version see the relevant distribution. General Information About MySQL * What-is:: What is @strong{MySQL}? +* What is MySQL AB:: * Manual-info:: About this manual * History:: History of @strong{MySQL} * MySQL-Books:: Books about MySQL @@ -574,7 +575,7 @@ Replication in MySQL * Replication Options:: Replication Options in my.cnf * Replication SQL:: SQL Commands related to replication * Replication FAQ:: Frequently Asked Questions about replication -* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. +* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Getting Maximum Performance from MySQL @@ -1046,6 +1047,7 @@ Debugging a MySQL server @menu * What-is:: What is @strong{MySQL}? +* What is MySQL AB:: * Manual-info:: About this manual * History:: History of @strong{MySQL} * MySQL-Books:: Books about MySQL @@ -1142,9 +1144,14 @@ see @ref{General-SQL}. For books that focus more specifically on @cindex MySQL, defined @cindex MySQL, introduction -@node What-is, Manual-info, Introduction, Introduction +@node What-is, What is MySQL AB, Introduction, Introduction @section What Is MySQL +@strong{MySQL}, the most popular Open Source SQL database, is provided +by @strong{MySQL AB}. @strong{MySQL AB} is a commercial company that +builds is business providing services around the @code{MySQL} database. +@xref{What is MySQL AB}. + @table @asis @item @strong{MySQL} is a database management system. @@ -1207,6 +1214,10 @@ a client/server system that consists of a multi-threaded SQL server that supports different backends, several different client programs and libraries, administrative tools, and a programming interface. +We also provide @strong{MySQL} as a multi-threaded library which you can +link into your application to get a smaller, faster, easier to manage +product. + @item @strong{MySQL} has a lot of contributed software available. It is very likely that you will find that your favorite @@ -1220,9 +1231,75 @@ application/language already supports @strong{MySQL}. The official way to pronounce @strong{MySQL} is ``My Ess Que Ell'' (not MY-SEQUEL). But we try to avoid correcting people who say MY-SEQUEL. +@cindex MySQL AB, defined +@node What is MySQL AB, Manual-info, What-is, Introduction +@section What Is MySQL AB + +@strong{MySQL AB} is the Swedish company owned and run by the @strong{MySQL} +founders and main developers. We are dedicated to developing +@strong{MySQL} and spreading our database to new users. @strong{MySQL AB} +owns the copyright to the @strong{MySQL} server source code and the +@strong{MySQL} trademark. A significant amount of revenues from our +services goes to developing @strong{MySQL}. @xref{What-is}. + +@strong{MySQL AB} has been profitable providing MySQL AB from the start. +We don't get any outside funding, but have earned all our money ourselves. + +We are searching after partners that would like to support our +development of @strong{MySQL} so that we could accelerate the +development pace. If you are interested in doing this, you can email +@email{partner@@mysql.com} about this! +@strong{MYSQL AB} has currently 20+ people on it's payroll and is +growing rapidly. @uref{http://www.mysql.com/development/team.html}. -@strong{MySQL} core values +Our main streams of income are + +@itemize @bullet +@item +Commercial high quality support for @strong{MySQL} provided by +@strong{MySQL} developers. If you are interested in getting support, +please visit @uref{https://order.mysql.com/} to view our support options +or to order support. +@item +Consulting services. We have developers/consults in 12 countries and +partners in many other countries that can help you with almost any +@strong{MySQL} related issues. If you need consulting services, please +email a good description of your needs to @email{info@@mysql.com}! If we +can't handle this ourselves we can usually find a partner or a developer +that can help you with your problems. +@item +We sell licenses for using @strong{MySQL} as an embedded +database. @xref{Cost}. If you have a commercial product for which you +need a fast high quality database but you can't afford to make your +product Open Source, you can buy the right to use the @strong{MySQL} server +under a normal commercial copyright. If you are interested in this you can +buy @strong{MySQL} licenses at @uref{https://order.mysql.com/} or contact +us at @email{licensing@@mysql.com}. +@item +Advertising; @uref{http://www.mysql.com} is a very popular web site with +more than 10,000,000 page views per months (January 2001). By putting a +banner on this you are guaranteed to reach a lot of potential customers +in the Open source, Linux and database community. If you are interested +in this email @email{advertising@@mysql.com}. +@item +We are building a partner program to be able to provide @strong{MySQL} +services in every country. If you are interested in becomming a partner +of @strong{MySQL AB} please visit +@uref{http://ww.mysql.com/information/partners.html} or email +@email{partner@@mysql.com}. +@item +We provide @strong{MySQL} training through our partner programs. For more +information, please email @email{info@@mysql.com}. +@item +The @strong{MySQL} brand has since 1995 been associated with speed, +reliability and is known to be something you can depend upon. If you are +interested in using the @strong{MySQL} trademark in your marketing, you +can email @email{info@@mysql.com} about this. +@end itemize + +The @strong{MySQL} core values shows our dedication to @strong{MySQL} and +Open Source: We want @strong{MySQL} to be: @@ -1258,7 +1335,7 @@ Are a virtual company, networking with others Work against software patents @end itemize -@node Manual-info, History, What-is, Introduction +@node Manual-info, History, What is MySQL AB, Introduction @section About This Manual @menu @@ -1269,7 +1346,7 @@ This manual is currently available in Texinfo, plain text, Info, HTML, PostScript, and PDF versions. The primary document is the Texinfo file. The HTML version is produced automatically using a modified version of @code{texi2html}. The plain text and Info versions are produced with - @code{makeinfo}. The Postscript version is produced using @code{texi2dvi} +@code{makeinfo}. The Postscript version is produced using @code{texi2dvi} and @code{dvips}. The PDF version is produced with @code{pdftex}. @cindex manual, available formats @@ -3639,15 +3716,23 @@ EURO (European Union Euro). One EURO is about 1.17 USD. @multitable @columnfractions .5 .5 @item @strong{Type of support} @tab @strong{Cost per year} -@item Basic e-mail support @tab EURO 170 -@item Extended e-mail support @tab EURO 1000 -@item Login support @tab EURO 2000 -@item Extended login support @tab EURO 5000 +@item Basic e-mail support. @xref{Basic email support}. @tab EURO 170 +@item Extended e-mail support @xref{Extended email support}. @tab EURO 1000 +@item Login support @xref{Login support}. @tab EURO 2000 +@item Extended login support @xref{Extended login support}. @tab EURO 5000 @end multitable -You may upgrade from any -lower level of support to a higher level of support for the difference -in price between the two support levels. +You may upgrade from any lower level of support to a higher level of +support for the difference in price between the two support levels. + +We do also provide telephone support (mostly emergency support but also +24/7 support). This support option doesn't however have a fixed price +but is negotiated for case to case. If you are interested in this option +you can email @email{sales@@mysql.com} and tell us about your needs. + +Note that as our sales staff is very busy, it may take some time until +your request is handled. Our support staff does however always answer +promptly to support questions! @cindex payment information @node Payment information, Contact information, Cost, Cost @@ -5883,7 +5968,6 @@ shell> ./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock Note that the given file must be an absolute pathname! @cindex socket location - @item If you want to compile statically linked programs (for example, to make a binary distribution, to get more speed, or to work around problems with some @@ -5914,6 +5998,43 @@ shell> CC=gcc CXX=gcc ./configure When you use @code{gcc} as your C++ compiler, it will not attempt to link in @code{libg++} or @code{libstdc++}. +Here is some common environment variables to set depending on +the compiler you are using: + +@tindex CXXFLAGS environment variable +@tindex Environment variable, CXXFLAGS +@multitable @columnfractions .20 .80 +@item gcc 2.7.2.1 @tab +CC=gcc CXX=gcc CXXFLAGS="-O6 -felide-constructors" +@item egcs 1.0.3a @tab +CC=gcc CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti" +@item gcc 2.95.2 @tab +CFLAGS="-O6 -mpentiumpro" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" +@item pgcc 2.90.29 or newer @tab +CFLAGS="-O6 -mpentiumpro -mstack-align-double" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti" +@end multitable + +In most cases you can get a resonable optimal @code{MySQL} binary +picking the options from the above and add the following options to the +configure line: + +@example +--prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static +@end example + +The full configure line would in other words be something like the +following for all recent gcc versions: + +@example +CFLAGS="-O6 -mpentiumpro" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static +@end example + +The binaries we provide at on the MySQL home site +@uref{http://www.mysql.com}, are all compiled with full optimization and +should be ok for most users. @xref{MySQL binaries}. There is some +things one can tweak to make an even faster binary, but this is only for +advanced users. @xref{Compile and link options}. + If the build fails and produces errors about your compiler or linker not being able to create the shared library @file{libmysqlclient.so.#} (@samp{#} is a version number), you can work around this problem by giving the @@ -5936,7 +6057,6 @@ shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure @cindex default values, suppression @cindex suppression, default values - @item By default, @strong{MySQL} uses the ISO-8859-1 (Latin1) character set. To change the default set, use the @code{--with-charset} option: @@ -7747,6 +7867,19 @@ The symptom is that you can't execute any client programs, for example, @code{mysqladmin}. In this case you need to reconfigure not to use shared libraries with the @code{--disable-shared} option to configure. +Some customers have had problems on BSDI 4.0.1 that the @code{mysqld} +binary after a while can't open tables. This is because some +library/system related bug causes @code{mysqld} to change current +directory without asking for this! + +The fix is to either upgrade to 3.23.34 or after running @code{configure} +remove the line @code{#define HAVE_REALPATH} from @code{config.h} +before running make. + +Note that the above means that you can't symbolic link a database directories +to another database directory or symbolic link a table to another database +on BSDI! (Making a symbolic link to another disk is ok). + @node SCO, SCO Unixware, BSDI, Source install system issues @subsection SCO Notes @@ -8780,7 +8913,7 @@ following compilers and options: @table @asis @item SunOS 4.1.4 2 sun4c with @code{gcc} 2.7.2.1 -@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex} +@code{CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assembler} @item SunOS 5.5.1 sun4u with @code{egcs} 1.0.3a @code{CC=gcc CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex} @@ -26090,7 +26223,7 @@ tables}. * Replication Options:: Replication Options in my.cnf * Replication SQL:: SQL Commands related to replication * Replication FAQ:: Frequently Asked Questions about replication -* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. +* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. @end menu @node Replication Intro, Replication Implementation, Replication, Replication @@ -40454,7 +40587,7 @@ New version of netadmin. See above for details. Home page for this can be found at: @uref{http://www.artronic.hr}. @item @uref{http://www.mysql.com/Downloads/Win32/mysqlfront.zip, mysqlfront} -Home page: @uref{http://my.mysqlfront.de/}. +Home page: @uref{http://www.mysqlfront.de/}. Win32-Client for accessing and managing dbs, tables, table-data, indexes, import-/export-files. (Freeware). By Ansgar Becker. diff --git a/configure.in b/configure.in index 4ca04cf11ff..64524fd20d8 100644 --- a/configure.in +++ b/configure.in @@ -746,7 +746,7 @@ case $SYSTEM_TYPE in ;; *bsdi*) echo "Adding fix for BSDI" - CFLAGS="$CFLAGS -D__BSD__" + CFLAGS="$CFLAGS -D__BSD__ -DHAVE_BROKEN_REALPATH" AC_DEFINE_UNQUOTED(SOCKOPT_OPTLEN_TYPE, size_t) ;; *sgi-irix6*) diff --git a/myisam/mi_rprev.c b/myisam/mi_rprev.c index 69d18b10287..fff2d2257b6 100644 --- a/myisam/mi_rprev.c +++ b/myisam/mi_rprev.c @@ -54,7 +54,7 @@ int mi_rprev(MI_INFO *info, byte *buf, int inx) if (!error) { - while (info->lastpos > info->state->data_file_length) + while (info->lastpos >= info->state->data_file_length) { /* Skip rows that are inserted by other threads since we got a lock */ if ((error=_mi_search_next(info,share->keyinfo+inx,info->lastkey, diff --git a/mysys/mf_format.c b/mysys/mf_format.c index bb784ff08fe..c4425806e01 100644 --- a/mysys/mf_format.c +++ b/mysys/mf_format.c @@ -110,7 +110,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk, (void) strmov(pos,ext); /* Don't convert extension */ } /* Purify gives a lot of UMR errors when using realpath */ -#if defined(HAVE_REALPATH) && !defined(HAVE_purify) +#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH) if (flag & 16) { struct stat stat_buff; diff --git a/sql/handler.cc b/sql/handler.cc index 9023e8e9908..0f73a214934 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -112,7 +112,7 @@ handler *get_new_handler(TABLE *table, enum db_type db_type) return new ha_berkeley(table); #endif #ifdef HAVE_INNOBASE_DB - case DB_TYPE_INNOBASE_DB: + case DB_TYPE_INNOBASE: return new ha_innobase(table); #endif case DB_TYPE_HEAP: |