diff options
author | monty@hundin.mysql.fi <> | 2001-11-03 21:33:11 +0200 |
---|---|---|
committer | monty@hundin.mysql.fi <> | 2001-11-03 21:33:11 +0200 |
commit | ccce9d031fa2305a8b108cc49c7a628e7279c8b8 (patch) | |
tree | a20ca6b4d7423d135752caf32d8b09358147421e /Docs | |
parent | abb7df2de126c96f6c8e7525f83a9fb1ac97f208 (diff) | |
download | mariadb-git-ccce9d031fa2305a8b108cc49c7a628e7279c8b8.tar.gz |
Added STDCALL to mysql_sever and mysql_thread variables
Merged error messages with 3.23.44
Fixed bug with DATA DIRECTORY on windows
Diffstat (limited to 'Docs')
-rw-r--r-- | Docs/internals.texi | 38 | ||||
-rw-r--r-- | Docs/manual.texi | 47 |
2 files changed, 47 insertions, 38 deletions
diff --git a/Docs/internals.texi b/Docs/internals.texi index f255a7ab6a6..72724a22ec0 100644 --- a/Docs/internals.texi +++ b/Docs/internals.texi @@ -183,24 +183,28 @@ and then we read the rows in the sorted order into a row buffer We are using @uref{http://www.bitkeeper.com/, BitKeeper} for source management. @item -You should use the @strong{MySQL} 3.23 or 4.0 source for all developments. +You should use the @strong{MySQL} 4.0 source for all developments. @item If you have any questions about the @strong{MySQL} source, you can post these -to @email{developers@@mysql.com} and we will answer them. -Note that we will shortly change the name of this list to -@email{internals@@mysql.com}, to more accurately reflect what should be -posted to this list. +to @email{dev-public@@mysql.com} and we will answer them. Please +remember to not use this internal email list in public! @item -Try to write code in a lot of black boxes that can be reused or at -least have a clean interface. +Try to write code in a lot of black boxes that can be reused or use at +least a clean, easy to change interface. @item Reuse code; There is already a lot of algorithms in MySQL for list handling, queues, dynamic and hashed arrays, sorting, etc. that can be reused. @item +Use the @code{my_*} functions like @code{my_read()}/@code{my_write()}/ +@code{my_malloc()} that you can find in the @code{mysys} library instead +of the direct system calls; This will make your code easier to debug and +more portable. + +@item Try to always write optimized code, so that you don't have to go back and rewrite it a couple of months later. It's better to spend 3 times as much time designing and writing an optimal function than @@ -222,7 +226,11 @@ Do not check the same pointer for @code{NULL} more than once. @item Use long function and variable names in English; This makes your code -easier to read. Use the 'varible_name' style instead of 'VariableName'. +easier to read. + +@item +Use my_var as opposed to myVar or MyVar (@samp{_} rather than dancing SHIFT +to seperate words in identifiers). @item Think assembly - make it easier for the compiler to optimize your code. @@ -232,14 +240,8 @@ Comment your code when you do something that someone else may think is not ''trivial''. @item -Use the @code{my_*} functions like @code{my_read()}/@code{my_write()}/ -@code{my_malloc()} that you can find in the @code{mysys} library instead -of the direct system calls; This will make your code easier to debug and -more portable. - -@item -Use @code{libstring} functions instead of standard libc string functions -whenever possible. +Use @code{libstring} functions (in the strings directory) +instead of standard libc string functions whenever possible. @item Avoid using @code{malloc()} (its REAL slow); For memory allocations @@ -254,10 +256,6 @@ easily discuss it thoroughly if some other developer thinks there is better way to do the same thing! @item -Use my_var as opposed to myVar or MyVar (@samp{_} rather than dancing SHIFT -to seperate words in identifiers). - -@item Class names start with a capital letter. @item diff --git a/Docs/manual.texi b/Docs/manual.texi index 29facaaa4b2..6064cbc636c 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -9592,8 +9592,8 @@ version 4.0; @item The old C API functions @code{mysql_drop_db}, @code{mysql_create_db} and @code{mysql_connect} are not supported anymore, unless one compiles -MySQL with @code{USE_OLD_FUNCTIONS}. Instead of doing this, one should -change the client to use the new 4.0 API. +MySQL with @code{CFLAGS=-DUSE_OLD_FUNCTIONS}. Instead of doing this, +one should change the client to use the new 4.0 API. @item In the @code{MYSQL_FIELD} structure, @code{length} and @code{max_length} has changed from @code{unsigned int} to @code{unsigned long}. This should not @@ -9616,6 +9616,10 @@ Format of @code{SHOW OPEN TABLE} has changed. @item Multithreaded clients should use @code{mysql_thread_init()} and @code{mysql_thread_end()}. @xref{Threaded clients}. +@item +If you want to recompile the perl DBD-MySQL module, you must get +Msql-Mysql-modules version 1.2218 or newer, because the older DBD modules +used the deprecated @code{drop_db()} call. @end itemize @node Upgrading-from-3.22, Upgrading-from-3.21, Upgrading-from-3.23, Upgrade @@ -9661,6 +9665,10 @@ some cases, for example in SQL scripts that use named commands without a semicolon! Long format commands still work from the first line. @item +Date functions that work on part of dates (like @code{MONTH()}) will now +return 0 for @code{0000-00-00} dates. (MySQL 3.22 returned @code{NULL}). + +@item If you are using the @code{german} character sort order, you must repair all your tables with @code{isamchk -r}, as we have made some changes in the sort order! @@ -10368,6 +10376,8 @@ You can avoid using @file{libg++.a} by running @code{configure} like this: shell> CXX=gcc ./configure @end example +If you are running gcc 3.0 and above, you can't use the above trick with +CXX=gcc, but you have to install libstd++. @node Linux-SPARC, Linux-Alpha, Linux-x86, Linux @subsubsection Linux SPARC Notes @@ -10950,6 +10960,10 @@ Because Windows doesn't allow you to drop files that are open, you first must flush all @code{MERGE} tables (with @code{FLUSH TABLES}) or drop the @code{MERGE} table before dropping the table. We will fix this at the same time we introduce @code{VIEW}s. +@item +@code{DATA DIRECTORY} and @code{INDEX DIRECTORY} directives in +@code{CREATE TABLE} is ignored on windows, because windows doesn't support +symbolic links. @end table Here are some open issues for anyone who might want to help us with the Windows @@ -11184,7 +11198,7 @@ When using the @code{--with-libwrap} configure option, you must also include the libraries that @file{libwrap.a} needs: @example ---with-libwrap="/opt/NUtcpwrapper-7.6/lib/libwrap.a -lnsl -lsocket +--with-libwrap="/opt/NUtcpwrapper-7.6/ -lnsl -lsocket @end example If you have problems with configure trying to link with @code{-lz} and @@ -35649,15 +35663,6 @@ indexes are created in a separate batch (like in @code{REPAIR}). This should make @code{ALTER TABLE} much faster when you have many indexes. @item -Since @strong{MySQL 4.0} this can be activated explicitly. -@code{ALTER TABLE ... DISABLE KEYS} makes MySQL to stop updating -non-unique indexes for @code{MyISAM} table. -@code{ALTER TABLE ... ENABLE KEYS} then should be used to recreate missing -indexes. As MySQL does it with special algorithm which is much -faster then inserting keys one by one, disabling keys could give a -considerable speedup on bulk inserts. - -@item @findex mysql_info() With the C API function @code{mysql_info()}, you can find out how many records were copied, and (when @code{IGNORE} is used) how many records were @@ -39091,7 +39096,14 @@ they roll back the corresponding SQL statement. @itemize @bullet -@item @code{SHOW TABLE STATUS} does not give accurate statistics +@item +@strong{WARNING:} Do @strong{NOT} convert MySQL system tables from +MyISAM TO InnoDB tables! This is not supported; If you do this MySQL +will not restart until you restore the old system tables from a backup +or re-generate them with the mysql_install_db script. + +@item +@code{SHOW TABLE STATUS} does not give accurate statistics on InnoDB tables, except for the physical size reserved by the table. The row count is only a rough estimate used in SQL optimization. @@ -47349,7 +47361,7 @@ chapter or for the proper operation of the programs listed herein. Perl @code{Data-Dumper} module. Useful with @code{DBI}/@code{DBD} support for older Perl installations. -@item @uref{http://www.mysql.com/Downloads/Contrib/DBI-1.15.tar.gz, DBI-1.15.tar.gz} +@item @uref{http://www.mysql.com/Downloads/Contrib/DBI-1.18.tar.gz, DBI-1.18.tar.gz} Perl @code{DBI} module. @item @uref{http://www.mysql.com/Downloads/Contrib/KAMXbase1.2.tar.gz,KAMXbase1.2.tar.gz} @@ -47358,7 +47370,7 @@ module written by Pratap Pereira @email{pereira@@ee.eng.ohio-state.edu}, extended by Kevin A. McGrail @email{kmcgrail@@digital1.peregrinehw.com}. This converter can handle MEMO fields. -@item @uref{http://www.mysql.com/Downloads/Contrib/Msql-Mysql-modules-1.2216.tar.gz, Msql-Mysql-modules-1.2216.tar.gz} +@item @uref{http://www.mysql.com/Downloads/Contrib/Msql-Mysql-modules-1.2218.tar.gz, Msql-Mysql-modules-1.2218.tar.gz} Perl @code{DBD} module to access mSQL and MySQL databases. @item @uref{http://www.mysql.com/Downloads/Contrib/Data-ShowTable-3.3.tar.gz, Data-ShowTable-3.3.tar.gz} @@ -47440,9 +47452,6 @@ A C++ database independent library that supports MySQL. @cindex Delphi @item Delphi @itemize @bullet -@item @uref{http://www.mysql.com/Downloads/Contrib/delphi-interface.gz, delphi-interface.gz} -Delphi interface to @code{libmysql.dll}, by Blestan Tabakov, -@email{root@@tdg.bis.bg}. @item @uref{http://www.mysql.com/Downloads/Contrib/DelphiMySQL2.zip, DelphiMySQL2.zip} Delphi interface to @code{libmysql.dll}, by @email{bsilva@@umesd.k12.or.us}. @@ -48656,6 +48665,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item +Ignore @code{DATA DIRECTORY} and @code{INDEX DIRECTORY} directives on windows. +@item Added boolean fulltext search code. It should be considered early alpha. @item Extended @code{MODIFY} and @code{CHANGE} in @code{ALTER TABLE} to accept |