Archive for January, 2007

Robocopy looks powerful

That’s what I get for not reading Matt’s blog more often.  I just noticed he posted an entry about Vista now including Robocopy.  I’ve heard about Robocopy for sometime now.  With features like job scheduling, monitoring folders for changes, and copying only changed files I wonder if I could use that for a simple network backup tool.  Hmm..

Now this is cool

http://tirania.org/blog/archive/2007/Jan-17.html

Great to see Mono appearing in some commerical products.

Building MySQL using Orcas

I downloaded and setup the VPC image for the new January CTP “Orcas” of Visual Studio.  I plan to use these bits to better integrate our provider into the new Entity Framework.  But before that can happen, what is any self-respecting developer going to do with a fresh install of the next version of Visual Studio?  Why try to build MySQL with it!

We use CMake as our project file generation tool and so the first step was to install it and a couple other items into the VPC.  That done, I tried to generate the project files.  CMake errored out saying that it could not find Visual Studio 8.  A quick edit of the VS8 template file for CMake and that was fixed. 

Ten minutes after booting the VPC for the first time, I’m happy to report that I have MySQL 5.1 happily compiling inside of Visual Studio “Orcas”.  I’ll work through fixing a couple of bugs using it and report back on it’s C++ stability.  [Not that I really care.  I'm here for the entity framework and LINQ]

MySQL Connector/Net 5.0.3 GA has been released

MySQL Connector/Net 5.0.3 GA has been released. MySQL Connector/Net is an all-managed ADO.Net provider for MySQL. This release is suitable for production use with MySQL versions 4 and higher.

It is now available in source and binary form from the Connector/Net download pages at [dev.mysql.com] and mirror sites (note that not all mirror sites may be up to date at this point of time – if you can’t find this version on some mirror, please try again later or choose another download site.)

Changes since 5.0.2

Bugs fixed
Bug #23687 Deleting a connection to a disconnected server causes a failed assertion
Bug #24565 Inferring DbType fails when reusing commands and the first time the value is null
Bug #24661 mysql-connector-net-5.0.2-beta Driver.IsTooOld() Error….
Bug #23905 Stored procedure usages is not thread safe
Bug #25033 Exception raised/ HANG if no SELECT privileges granted for stored procedure call
[this is a correction; a previous change log entry indicated that Connector/Net
no longer required select privs on mysql database. This is not true and select privs
are required. This will be fixed when the server exposes procedure parameters via
information schema.]
Bug #25013 Return Value parameter not found
Bug #25151 Reading from the stream has failed Exception in MySQL Connector 5.0.2
Bug #22400 Nested transactions

Other changes
SSL now working. [Thanks Alessandro Muzzetta]
Fixed ViewColumns GetSchema collection
Improved CommandBuilder.DeriveParameters to use the procedure cache if possible

* NEW CONNECTION STRING OPTION *
We have added a new connection string option named ‘Ignore Prepare’. It is
a boolean option and its default value is true. This option, when true,
instructs the provider to ignore any calls to MySqlCommand.Prepare(). We
decided to do this because we have discovered some inconsistencies with
server side prepared statements which can lead to incorrect or damaging
results. If you are sure you want to use server-side prepared statements,
then you can add ‘ignore prepare=false’ to your connection string and it
will behave as before.

Highlights of the 5.0.x Connector/Net releases: 

  • Support for ADO.Net 2.0 interfaces and subclasses
  • Re-architected to improve speed and flexibility
    The internals of the provider have been improved to allow column values to
    be retrieved without boxing in many cases. Also, the internal changes have
    enabled the future inclusion of embedded and client library support. 
  • Implemented Usage Advisor
    The Usage Advisor first appeared in Connector/J. We have now implemented
    that feature in Connector/Net. Enabling it causes the provider to check
    both your queries and how you read the results and report to you if it
    thinks you are using the provider in an inefficient manner. It checks such
    things as using a query without an index, not reading all the columns or
    rows from a resultset, etc. 
  • Implemented asynchronous query methods
    The MySqlCommand object now supports asynchronous queries. This is
    implemented using the BeginExecuteNonQuery and EndExecuteNonQuery methods.
    BeginExecuteReader and EndExecuteReader are now included. 
  • Implemented stored procedure metadata caching
    We now cache the metadata that is retrieved during stored procedure and
    stored function execution. This cache data is used for subsequent
    executions of that stored routine. 
  • Added PerfMon hooks
    This release includes PerfMon hooks to monitor stored procedure cache hits
    and misses. We are looking at adding additional hooks in the first beta
    release. 
  • Removed use of SharpZipLib library
    We have replaced use of the SharpZipLib library with the deflate support
    available with .NET 2.0.

Support for embedded server and client library has been removed
For those of you that have seen my presentations on 5.0, we decided to
remove these features to help get 5.0 out the door more quickly. These
features will reappear in a later version of the product.