Re: MySQL 4.0 released
Hi! First, please don't email things directly to me or to the announce list. The best way to get help for a problem, is to write an email only to [EMAIL PROTECTED]; In the future, please also change the subject line to something that is appropriate and don't respond to an email that has nothing to do with the problem! Huang-Ming == Huang-Ming [EMAIL PROTECTED] writes: Huang-Ming Hello, Huang-Ming I'm encountering a serious program fault at using MySQL Win32 client library Huang-Ming LIBMYSQL.DLL. Huang-Ming I found LIBMYSQL.DLL not thread-safe. When 10 threads are launched to run Huang-Ming the following two blocks of C statements, very quickly a program fault Huang-Ming window pops up to LIBMYSQL.DLL. Huang-Ming block #1 - Huang-Ming EnterCriticalSection(dcs); Huang-Ming mysql_real_query(db,stmt,strlen(stmt)); Huang-Ming res=mysql_store_result(db); Huang-Ming LeaveCriticalSection(dcs); Huang-Ming block #1 - (in another C function) Huang-Ming EnterCriticalSection(dcs); Huang-Ming row=mysql_fetch_row(res); Huang-Ming nfld=mysql_num_fields(res); Huang-Ming flds=mysql_fetch_fields(res); Huang-Ming LeaveCriticalSection(dcs); If this block is done by another thread that did the original query, you will get a problem if you didn't initialize the thread for MySQL usage. Please read the MySQL manual section 'Threaded clients' and the documentation for the MySQL API 'mysql_thread_init()' or more information about this Regards, Monty - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: MySQL 4.0 released
Hello, I'm encountering a serious program fault at using MySQL Win32 client library LIBMYSQL.DLL. I found LIBMYSQL.DLL not thread-safe. When 10 threads are launched to run the following two blocks of C statements, very quickly a program fault window pops up to LIBMYSQL.DLL. block #1 - EnterCriticalSection(dcs); mysql_real_query(db,stmt,strlen(stmt)); res=mysql_store_result(db); LeaveCriticalSection(dcs); block #1 - (in another C function) EnterCriticalSection(dcs); row=mysql_fetch_row(res); nfld=mysql_num_fields(res); flds=mysql_fetch_fields(res); LeaveCriticalSection(dcs); But, if I merged the two blocks into one as: EnterCriticalSection(dcs); mysql_real_query(db,stmt,strlen(stmt)); res=mysql_store_result(db); row=mysql_fetch_row(res); nfld=mysql_num_fields(res); flds=mysql_fetch_fields(res); LeaveCriticalSection(dcs); then, the threads run fine for hours without any program fault pop up. HOWEVER, the second scenario is irrelevant to my (and most multithreaded) application where there are many nested queries of rows. Is there any thread-safe LIBMYSQL.DLL downloadable on mysql.com?? or is there any other solution to make SQL queries by simultaneous threads safe? Thank You! Best Regards, Peter - Original Message - From: Michael Widenius [EMAIL PROTECTED] To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Tuesday, October 16, 2001 6:29 AM Subject: MySQL 4.0 released Hi! MySQL 4.0.0-alpha is now available at: http://www.mysql.com/downloads/mysql-4.0.html You can find information about upgrading from MySQL 3.23 to 4.0 at: http://www.mysql.com/doc/U/p/Upgrading-from-3.23.html The MySQL 4.0 release includes a lot of new exciting features, like MySQL as an embedded library, InnoDB (transactions) as standard table type, UNION, multi table delete and much more. MySQL 4.0 is basically a 'reconstruction release' that will enable us to easier add new features to MySQL in the future. The intention is to quickly add features list at: http://www.mysql.com/doc/T/O/TODO_MySQL_4.0.html and then start to work on the 4.1 branch while 4.0 stabilizes. Changes in release 4.0.0 * Added documentation for `libmysqld', the embedded MySQL server library. Also added example programs (a `mysql' client and `mysqltest' test program) which use `libmysqld'. * Removed all Gemini hooks from MySQL. * Removed `my_thread_init()' and `my_thread_end()' from mysql_com.h, and added `mysql_thread_init()' and `mysql_thread_end()' to mysql.h. * Secure connections (with SSL). * Unsigned `BIGINT' constants now work. `MIN()' and `MAX()' now handles signed and unsigned `BIGINT' numbers correctly. * New character set `latin_de' which provides correct German sorting. * `TRUNCATE TABLE' and `DELETE FROM table_name' are now separate functions. One bonus is that `DELETE FROM table_name' now returns the number of deleted rows. * `DROP DATABASE' now executes a `DROP TABLE' on all tables in the database, which fixes a problem with InnoDB tables. * Added support for `UNION'. * A new `HANDLER' interface to `MyISAM' tables. * Added support for `INSERT' on `MERGE' tables. Patch from Benjamin Pflugmann. * Changed `WEEK(#,0)' to match the calender in the USA. * `COUNT(DISTINCT)' is about 30% faster. * Speed up all internal list handling. * Speed up `IS NULL()' and some other internal primitives. * Creating full text indexes are now much faster. * Tree-like cache to speed up bulk inserts and `myisam_bulk_insert_tree_size' variable. * Searching on packed (`CHAR'/`VARCHAR') keys are now much faster. * Optimized queries of type: `SELECT DISTINCT * from table_name ORDER by key_part1 LIMIT #' * `SHOW CREATE TABLE' now shows all table attributes. * `ORDER BY ... DESC' can now use keys. * `LOAD DATA FROM MASTER' auto-magically sets up a slave. * Renamed `safe_mysqld' to `mysqld_safe'. * Added support for symbolic links to `MyISAM' tables. Symlink handling is now enabled by default for Windows. * `LOAD DATA FROM MASTER' auto-magically sets up a slave. * Added `SQL_CALC_FOUND_ROWS' and `FOUND_ROWS()'. This makes it possible to know how many rows a query would have returned without a `LIMIT' clause. * Changed output format of `SHOW OPEN TABLES'. * Allow `SELECT expression LIMIT ...'. * Added `IDENTITY' as a synonym for `AUTO_INCREMENT' (like Sybase). * Added `ORDER BY' syntax to `UPDATE' and `DELETE'. * `SHOW INDEXES' is now a synonym for `SHOW INDEX'. * Added `ALTER TABLE table_name DISABLE KEYS' and `ALTER TABLE table_name ENABLE KEYS' commands. * Allow one to use `IN' instead of `FROM' in `SHOW' commands. * Allow ANSI SQL syntax `X'hexadecimal-number
Re: MySQL 4.0 released
Hi! Michael == Michael Furgal [EMAIL PROTECTED] writes: cut Michael Monty and all: Michael I have re-applied all the Gemini table handler support and Michael ported it to MySQL 4.0. It is too large to send as an email Michael so the patch can be found at: Michael ftp://ftp.nusphere.com/MySQL40/mysql40+gemini-patches.tar.gz Michael There are 2 files in the patch, once for the configuration files Michael and the other for the source code changes. Both need to be Michael applied. Michael The table handler files themselves (ha_gemini.cc and ha_gemini.h) Michael have our (NuSphere) copyright on them, however as it has been Michael mentioned many time previously, these files are based on the Berkeley Michael table handler, so we can hold a shared copyright on the handler files. Michael The remaining changes in support of the Gemini component are made to Michael existing files that MySQL AB already holds the copyright to. Michael You are welcome to the copyright of these changes too (even though I Michael believe you already have it, as we have made no claim to it). Michael The bottom line is that you are welcome to the copyright on the code Michael for all the files/changes in the patch. Thanks! As soon as I get this in writing we will re-apply the patch. Personally I think this email is fine, but our lawyers require us to get this in writing. This is in line with the recommendations by FSF, who also require to get things in writing for larger patches like this. We have actively been communication with the CEO of NuSphere to get this done, but haven't yet got this. I hope we will get this in good time for 4.0.1. Michael Please accept this patch so we can move beyond this issue and continue Michael to have a technical relationship. The business issues between our two Michael companies should not prevent the development and maturing of the Michael excellent MySQL Open Source product. Regards, Monty - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: MySQL 4.0 released
Hi! Britt == Britt Johnston [EMAIL PROTECTED] writes: Britt Now that the patch for Gemini has been created and made Britt available for the new MySQL 4.0 alpha release we are Britt back whole again. I wouldn't really agree with this. Britt I am told that binaries for the complete MySQL 4.0 Britt with support for Gemini tables are now available via Britt mysql.org for everyone to use (MyISAM and InnoDB also). Britt These MySQL server binaries can be used as-is under the Britt GPL without any requirement for a commercial license Britt under any circumstances regardless of the specifics Britt of the application. NuSphere lawyers have said that the GPL is not enforcable, but we don't belive that this true. Because NuSphere has violated the MySQL GPL license, NuSphere has lost all benefits that the GPL gives, like the right to distribute the MySQL server. This means that every download of MySQL from mysql.org and selling of the boxed products from NuSphere that contains MySQL is a violation of the rights of MySQL AB. The GPL also puts restrictions of how a commercial, not open source product can use the code; Any open source/GPL product can use MySQL under the GPL license. If your product that uses MySQL is not open source and you don't want to make it open source, you can't normally use MySQL under GPL but should get MySQL under an normal commercial license from MySQL AB. You can find out more about this at: http://www.mysql.com/doc/U/s/Using_the_MySQL_server_under_a_commercial_license.html Britt As for as 4.0 features you can add the following to Britt the list: Britt o Lock optimization - MySQL executor acquired Britt more locks than required for common queries. Just a note: The extra locks are only relevant for Gemini and BDB tables, not for MyISAM or InnoDB tables. cut Britt BTW, MySQL will be a major topic at the Linux Lunacy Britt Geek Cruise next week. NuSphere is the major sponsor Britt for the event helping make it possible for speakers Britt like Richard Stallman, Eric Raymond and Monty along Britt with myself to further the open source revolution. Britt Drop me a note if you plan on being there! Britt, it's ok to email this list that people can meet you on Linux Lunacy. However, If you have a commercial message that you believe is valuable to our users, then please do as everyone else does: Email the list maintainers and ask for permission to post. Regards, Monty - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: MySQL 4.0 released
Hi! First I have to apologize to the email list for this discussion: It certainly doesn't belong here. On the other hand, as the creator of MySQL and one who has personally sued by NuSphere corporation I can't let things like this go unanswered. Britt == Britt Johnston [EMAIL PROTECTED] writes: Britt NuSphere is a strong believer in the GPL. Our history Britt and the 150,000 lines of code we have licensed under the Britt GPL reinforce that fact. Britt http://nusphere.com/releases/062800b.htm - June 28, 2000 Britt http://nusphere.com/releases/013001.htm - January, 30, 2001 Britt Please feel free to contact me directly if you would like Britt to discuss this further. Britt, this is not the right forum to discuss things like this. You can't go around the fact that NuSphere violated the MySQL GPL license by distributing MySQL staticly linked with Gemini without giving the users access to all the source code. You also forbid anyone to use this distribution without having a license from NuSphere. On your website you even had the following explanation for this: -- Q: Can I copy NuSphere's products freely and distribute them? A: No, NuSphere's software products are all proprietary, copyrighted works with licenses that limit distribution. They cannot be freely copied. The download and CDROM versions of our products, including NuSphere MySQL and the entire Advantage product line, cannot be freely copied. Q: I think all software should be completely free - why isn't NuSphere's? A: NuSphere believes all software cannot be completely free. We contribute to Open Source projects that provide free versions of their software. Individuals who do not wish to pay to use specific software are encouraged to join those communities. -- NuSphere also didn't release Gemini under GPL until MySQL AB sued them about violating the GPL license and misusing our trademark. Releasing Gemini under GPL doesn't however cure the GPL violation, (see http://www.gnu.org/copyleft/gpl-faq.html). Until all holders of any of the violated GPL code has given NuSphere forgiveness, they have lost all the rights that GPL gives them to the violated code. Britt, If you want discuss this, you know how to reach me. I am, as always, ready to discuss ways to solve our differences. Regards, Monty - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: MySQL 4.0 released
Britt o Lock optimization - MySQL executor acquired Britt more locks than required for common queries. Just a note: The extra locks are only relevant for Gemini and BDB tables, not for MyISAM or InnoDB tables. The extra locks issue does apply to InnoDB for update statements and select for update statements. Of course it does not apply to MyISAM since MyISAM has neither row level locking or transactions. -regards Richard Tuckerhttp://www.nusphere.com Gemini team member - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: MySQL 4.0 released
Hi! Michael == Michael T Babcock [EMAIL PROTECTED] writes: Michael On Wed, Oct 17, 2001 at 12:49:26AM +0300, Michael Widenius wrote: We agreed a long time ago with NuSphere that the small hooks would be copyrighted by MySQL AB, but as the concrete paperwork has not been signed, we felt we had to remove them. Michael For the sake of those who wish to use Gemini tables, would you Michael consider offering the patch, as 'pushed into bitkeeper' on the Michael downloads page seperately? The problem with this is that it would be very hard for us to keep this up to date 'outside of MySQL' as we are just now doing some major redesign of how tables are used inside MySQL; We are doing this to get MySQL to reuse memory better, get more speed and remove a 'not that nice' block around 'open table'. We have however to consider this, if we can't get the copyright assignment from NuSphere in the near future. Michael Michael T. Babcock Michael CTO, FibreSpeed Ltd. Regards, Monty Monty and all: I have re-applied all the Gemini table handler support and ported it to MySQL 4.0. It is too large to send as an email so the patch can be found at: ftp://ftp.nusphere.com/MySQL40/mysql40+gemini-patches.tar.gz There are 2 files in the patch, once for the configuration files and the other for the source code changes. Both need to be applied. The table handler files themselves (ha_gemini.cc and ha_gemini.h) have our (NuSphere) copyright on them, however as it has been mentioned many time previously, these files are based on the Berkeley table handler, so we can hold a shared copyright on the handler files. The remaining changes in support of the Gemini component are made to existing files that MySQL AB already holds the copyright to. You are welcome to the copyright of these changes too (even though I believe you already have it, as we have made no claim to it). The bottom line is that you are welcome to the copyright on the code for all the files/changes in the patch. Please accept this patch so we can move beyond this issue and continue to have a technical relationship. The business issues between our two companies should not prevent the development and maturing of the excellent MySQL Open Source product. Thank You. MikeF -- Mike Furgal Manager - Gemini Technology http://www.nusphere.com - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: MySQL 4.0 released
Now that the patch for Gemini has been created and made available for the new MySQL 4.0 alpha release we are back whole again. I am told that binaries for the complete MySQL 4.0 with support for Gemini tables are now available via mysql.org for everyone to use (MyISAM and InnoDB also). These MySQL server binaries can be used as-is under the GPL without any requirement for a commercial license under any circumstances regardless of the specifics of the application. As for as 4.0 features you can add the following to the list: o SHOW LOCKS statement o Gemini performance improvements in checkpoint processing and cluster reuse (recovery log). o Lock optimization - MySQL executor acquired more locks than required for common queries. o General bug fixes to core MySQL function that benefit Gemini. We have done recent benchmarks with IBM and OSDL on MySQL with Gemini which we presented preliminary results at Open Source Database summit conference a few weeks ago. If anyone is interested in those slides please let me know. BTW, MySQL will be a major topic at the Linux Lunacy Geek Cruise next week. NuSphere is the major sponsor for the event helping make it possible for speakers like Richard Stallman, Eric Raymond and Monty along with myself to further the open source revolution. Drop me a note if you plan on being there! Britt... -- *** NuSphere Advantage *** Winner Best Developer Tool *** LinuxWorld 2001 D. Britton Johnston 603-578-6707 Nashua Chief Technology Officer 781-280-4954 Bedford NuSphere Corporation 781-280-4600 Main 14 Oak Park 781-280-4646 Fax Bedford, MA 01730 www.nusphere.com - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php