﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Henrik "Mauritz" Johnson's Blog</title>
    <description>&lt;table&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;&lt;img height="183" width="139" alt="" src="/Portals/0/Blog/blog-henrik-johnson.png" /&gt;&lt;/td&gt;
            &lt;td valign="top"&gt;
            &lt;p&gt;Henrik joined Quest in 2004 when he also moved to the USA from Sweden. He brings over 15 years of experience of developing database centric applications and object oriented development.&amp;#160; At Quest he is now one of the lead architects of the Toad for SQL Server, Toad for DB2, Toad for MySQL and Toad for Data Analysis products.&lt;/p&gt;
            &lt;p&gt;Henrik's blog will focus on tips and tricks to get the most out your favorite database tool. It covers all Toads except for Toad for Oracle.&lt;/p&gt;
            &lt;p&gt;&lt;font color="#003366" size="3"&gt;&lt;strong&gt;Recent postings on the 'other' Toad products:&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
&lt;/table&gt;</description>
    <link>http://toadworld.com/BLOGS/tabid/67/BlogId/26/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>Henrik “Mauritz” Johnson</managingEditor>
    <webMaster>webmaster@toadworld.com</webMaster>
    <pubDate>Fri, 19 Mar 2010 02:49:27 GMT</pubDate>
    <lastBuildDate>Fri, 19 Mar 2010 02:49:27 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.15477</generator>
    <item>
      <title>Flow control for your script</title>
      <description>Undocumented functionality in TDA, Toad for SqlServer, Toad for DB2 and Toad for MySQL to use advanced flow control when executing scripts.</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/456/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/456/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=456</guid>
      <pubDate>Wed, 07 Oct 2009 19:16:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=456</trackback:ping>
    </item>
    <item>
      <title>Inside the application data directory</title>
      <description>If you have ever looked in the Toad data directory you were probably a little bit bewildered about all the stuff in there. This article will try to shed some light on what all the files in there are used for by the Toad application.</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/299/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/299/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=299</guid>
      <pubDate>Thu, 23 Oct 2008 07:28:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=299</trackback:ping>
    </item>
    <item>
      <title>Code completion revealed</title>
      <description>&lt;p&gt;From the first version of Toad we have always had some form of code completion (It was originally called Toad insight or something like that) but it has always been a fairly simple affair where you either got a list of columns in select statements or a long list of objects of many different types completely unaffected by the context in which you invoke the code completion.&lt;/p&gt; &lt;p&gt;Starting in 4.0 the code completion support was completely rewritten to be very context aware. Now Toad should know that if you are writing a select statement and are between SELECT and FROM you probably want a list of columns and if you write JOIN you probably want to join on a foreign key from tables already specified etc. There has been little bit of a backlash on this and I have to admit that this code did have some bugs and when that happened you usually didn't end up with any code completion at all which is worse than what we had in 3.x. Hopefully for the soon to be released 4.1 release most of these should have been fixed and you will really see the benefits of the new framework.&lt;/p&gt; &lt;p&gt;Handling code completion in this way is kind of complicated. The main problem is you can't do strict parsing because we are not dealing with complete statements. Instead we have to do our best at guessing what the you are aiming at writing.&lt;/p&gt; &lt;p&gt;So let me go through the changes in more detail what new features are introduced with this framework.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Smarter auto invocation&lt;/p&gt; &lt;p&gt;The most obvious change that people will immediately see is that as you start typing a select statement the moment you write "FROM" and then space you will be presented with a list of tables and views. Before 4.0 the only time we automatically invoked code completion was when you typed a dot. In 4.0 we have certain "hot tokens" that invoke code completion after you write a space as well. The full list of tokens isn't that important, but if you ever think we are missing something just let us know because it is very easy for us to change it.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Context sensitive object lists&lt;/p&gt; &lt;p&gt;We now look at the statement type to decide what kind of object list you probably are interested. For instance if you write "CALL" or "EXEC" you are probably interested in a list of procedures, when you are writing "UPDATE" you probably want a list of tables while when you are in the "FROM" clause of a select statement you probably want both tables, views and in case it's supported functions returning tables.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Context aware sub-select completion&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SP5AF6kQ78I/AAAAAAAAAJQ/NdYjQmKnwYs/s1600-h/subselect.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SP5AF6kQ78I/AAAAAAAAAJQ/NdYjQmKnwYs/s320/subselect.png" alt="" id="BLOGGER_PHOTO_ID_5259711885180202946" border="0" /&gt;&lt;/a&gt;Toad should now keep track of sub selects so that it knows which objects you can address when you are writing complex sub-selects as shown in the screenshot below.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Auto generated joins&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SP5A0o3JsjI/AAAAAAAAAJY/lxjWget5FWg/s1600-h/join.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: left; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SP5A0o3JsjI/AAAAAAAAAJY/lxjWget5FWg/s320/join.png" alt="" id="BLOGGER_PHOTO_ID_5259712687881433650" border="0" /&gt;&lt;/a&gt;When you are writing select statements we now automatically generate the full join statement based on foreign keys in the database. We can generate both the part following "JOIN", the part following "ON" or in case of a cross join the part in the "WHERE" clause.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Snippet code completion&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SP5BqIjnybI/AAAAAAAAAJg/EVAv8VKFZwA/s1600-h/snippet.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SP5BqIjnybI/AAAAAAAAAJg/EVAv8VKFZwA/s320/snippet.png" alt="" id="BLOGGER_PHOTO_ID_5259713606922521010" border="0" /&gt;&lt;/a&gt;In some cases the code completion generated still need you to fill in some extra data to be a valid statement. We now do this by inserting an auto generated code snippet. Specifically we use this when you are using code completion on code to let you fill in the parameters of the call we generate.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Complete statement generation&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SP5CUj4RRlI/AAAAAAAAAJo/nkC2LlxSE2k/s1600-h/statement.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SP5CUj4RRlI/AAAAAAAAAJo/nkC2LlxSE2k/s320/statement.png" alt="" id="BLOGGER_PHOTO_ID_5259714335811389010" border="0" /&gt;&lt;/a&gt;We can now generate the full statement for some statements after you have specified the database object to operate on. Specifically this includes update, insert and delete statements.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Good handling of owners&lt;/p&gt; &lt;p&gt;This only applies to SQL Server, but in 4.0 we really didn't have that good support for handling owners in code completion. As of 4.1 that we now handle owners in a really clever way. Basically it should now "just work". If SQL Server accepts the syntax we should handle it correctly.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Support for local variables in batches&lt;/p&gt; &lt;p&gt;On SQL Server we now keep track of local variables defined in a batch and includes these in the places where they make sense.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Options available for code completion&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p9o4pVLRGlA/SP5EATpBRGI/AAAAAAAAAJw/N4aMVcMdYII/s1600-h/options.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://3.bp.blogspot.com/_p9o4pVLRGlA/SP5EATpBRGI/AAAAAAAAAJw/N4aMVcMdYII/s400/options.png" alt="" id="BLOGGER_PHOTO_ID_5259716186878329954" border="0" /&gt;&lt;/a&gt;The option page for code completion has changed quite a bit between 3.x and 4.0.&lt;/p&gt; &lt;p&gt;First some things that haven't changed. The &lt;b&gt;auto list members&lt;/b&gt;, &lt;b&gt;quoting&lt;/b&gt;, &lt;b&gt;casing&lt;/b&gt;, &lt;b&gt;expand "*"&lt;/b&gt; and &lt;b&gt;include system objects&lt;/b&gt; work exactly as before so I will not go into these (And they should be pretty self explanatory).&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;Item sort order&lt;/p&gt; &lt;p&gt;This setting now has one more item which is the default and that is the "Each category". This means that the code completion list is sorted per type of items. For instance in a select statement we start with the "*" and then columns followed by variables, snippets and a bunch of other stuff. Chances are that you are looking for the columns and in this case they will be at the top instead of being lost in the list of hundreds of function snippets also included.&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;Merge secondary items&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p9o4pVLRGlA/SP5HrgKnelI/AAAAAAAAAJ4/F1uOmuRNl1Y/s1600-h/more.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://2.bp.blogspot.com/_p9o4pVLRGlA/SP5HrgKnelI/AAAAAAAAAJ4/F1uOmuRNl1Y/s320/more.png" alt="" id="BLOGGER_PHOTO_ID_5259720227509729874" border="0" /&gt;&lt;/a&gt;When you invoke code completion in some cases we have items that are common to choose from and some items that are not so common. Normally the not so common items are not included in the code completion, but if you want to get to them you can still do so by choosing the last item in the list which says (More).&lt;/p&gt; &lt;p&gt;If this option is checked this means that we should generate the code completion list with all items right away instead of separating this into two different lists. This is the default.&lt;/p&gt; &lt;p style="font-weight: bold; font-size: 130%;"&gt;Known issues&lt;/p&gt; &lt;p&gt;The one known issue in regards to code completion is that we currently do not honor the setting to separate statements with double newlines (On by default I think). For version control to function property with multiple statements in the editor you need to end you statements with ';' (Except for SQL Server which doesn't have this issue).&lt;/p&gt;</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/297/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/297/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=297</guid>
      <pubDate>Wed, 22 Oct 2008 00:44:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=297</trackback:ping>
    </item>
    <item>
      <title>Connection and transaction handling explained</title>
      <description>In an application like Toad connection and transaction handling will invariant become a complicate affair. During the years we have been working on this we have tried to make it as intuitive as possible so that you usually don't have to think about it. However, in some cases you can still run into problems so this post will try to explain how we handle connections and transactions so that you can avoid the pitfalls.</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/296/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/296/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=296</guid>
      <pubDate>Mon, 20 Oct 2008 19:10:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=296</trackback:ping>
    </item>
    <item>
      <title>Toad version numbers explained</title>
      <description>&lt;p&gt;Version numbers between the different components of the different products can be pretty confusing ever for us who work on it. Before 3.0 of the Core (The part of Toad that is shared between the products) each product had it's own release schedule and with that each had it's own release version of this. After release 3.0 we now try to coordinate releases between the different products (They are usually staggered with a few weeks, but they are all based off of the same core version now).&lt;/p&gt;

&lt;p&gt;When I talk about versions in this blog I will usually unless otherwise specified refer to the Core version. This should in most cases correspond to the version of the product except for TDA in which case you just reduce 2 major release version.&lt;/p&gt;

&lt;p&gt;Also to confuse matters even more a product can choose to skip a release (As for instance the DB2 product is doing now with the 4.1 release). Usually this happens because we need more time on that specific platform to get the features in that we want to have in a specific release.&lt;/p&gt;

&lt;p&gt;If you are interested in what Core version your Toad is currently running you can check the .Net assembly version of the ToadCore.dll assembly of your application.&lt;/p&gt;

&lt;p&gt;Here is a list of how the different versions of Toad relate to each others and the corresponding Core versions.&lt;/p&gt;

&lt;table width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center"&gt;Core&lt;/td&gt;&lt;td align="center"&gt;Toad for SqlServer&lt;/td&gt;&lt;td align="center"&gt;Toad for DB2&lt;/td&gt;&lt;td align="center"&gt;Toad for MySQL&lt;/td&gt;&lt;td align="center"&gt;Toad for Data Analysis&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;1.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;1.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;1.1&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;1.1&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;1.2&lt;/td&gt;&lt;td align="center"&gt;1.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;1.3&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;1.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;2.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;2.0
&lt;/td&gt;&lt;td align="center"&gt;-
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;2.1&lt;/td&gt;&lt;td align="center"&gt;2.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;2.2&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;2.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;3.0&lt;/td&gt;&lt;td align="center"&gt;3.0&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;3.0
&lt;/td&gt;&lt;td align="center"&gt;-
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;3.1&lt;/td&gt;&lt;td align="center"&gt;3.1&lt;/td&gt;&lt;td align="center"&gt;3.0&lt;/td&gt;&lt;td align="center"&gt;3.1
&lt;/td&gt;&lt;td align="center"&gt;1.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;3.2&lt;/td&gt;&lt;td align="center"&gt;3.2&lt;/td&gt;&lt;td align="center"&gt;3.1&lt;/td&gt;&lt;td align="center"&gt;3.2
&lt;/td&gt;&lt;td align="center"&gt;1.1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;4.0&lt;/td&gt;&lt;td align="center"&gt;4.0&lt;/td&gt;&lt;td align="center"&gt;4.0&lt;/td&gt;&lt;td align="center"&gt;4.0
&lt;/td&gt;&lt;td align="center"&gt;2.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;4.1 &lt;sup&gt;1&lt;/sup&gt;&lt;/td&gt;&lt;td align="center"&gt;4.1&lt;/td&gt;&lt;td align="center"&gt;-&lt;/td&gt;&lt;td align="center"&gt;4.1
&lt;/td&gt;&lt;td align="center"&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;4.5 &lt;sup&gt;1&lt;/sup&gt;&lt;/td&gt;&lt;td align="center"&gt;4.5&lt;/td&gt;&lt;td align="center"&gt;4.5&lt;/td&gt;&lt;td align="center"&gt;4.5&lt;/td&gt;&lt;td align="center"&gt;2.5&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Since these releases are not done yet this information is subject to change.&lt;/p&gt;</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/294/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/294/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=294</guid>
      <pubDate>Mon, 20 Oct 2008 19:08:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=294</trackback:ping>
    </item>
    <item>
      <title>Reducing startup time</title>
      <description>&lt;p&gt;For the upcoming 4.1 release I have actually been able to spend quite a lot of time to reduce startup time in Toad and hopefully there should be a quite noticeable difference. One of the changes made is to make the initialization multithreaded so the improvement should be even more pronounced if you have more than one CPU core.&lt;/p&gt;

&lt;p&gt;There are a couple of other things you can do yourself in both 4.1 and versions before that to reduce startup time if you are annoyed by it.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Keep auto connect's to a minimum.&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p9o4pVLRGlA/SPsSuovaoYI/AAAAAAAAAF8/Dj9uMHnD4Bo/s1600-h/startupoptions.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://2.bp.blogspot.com/_p9o4pVLRGlA/SPsSuovaoYI/AAAAAAAAAF8/Dj9uMHnD4Bo/s320/startupoptions.png" alt="" id="BLOGGER_PHOTO_ID_5258817582304764290" border="0" /&gt;&lt;/a&gt;Don't show the web page on startup (This one will shave several seconds off your startup time because we don't need to load the IE component).
&lt;/li&gt;&lt;li&gt;Disable the startup croak. This really doesn't save you much so if you don't mind it just leave it as is.&lt;/li&gt;&lt;li&gt;Don't both show connection manager tool window and new connection dialog on startup. The list of connections is a complicated control that takes a while to create so there really is no need to create two of them. Choose one way of opening your connections.
&lt;/li&gt;&lt;li&gt;Try not to have every open tool window showing. Tool windows that are showing are initialized on startup and makes the application startup slower. Tool windows are not created until they are first shown so if you can't see them we don't waste time on them. Auto hide is also your friend here as the tool window isn't actually created until you zoom it in when auto hidden.&lt;/li&gt;&lt;li&gt;I might also add a note that collecting usage statistics takes so little time I can hardly measure it when profiling. Please enable it, it is really useful for us to evaluate where to concentrate our efforts for future development.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;These two tips are only for advanced users who don't mind some more drastic methods to reduce startup time.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SPsRYvZ0alI/AAAAAAAAAF0/VvjcsmFoqPE/s1600-h/startupoptions2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SPsRYvZ0alI/AAAAAAAAAF0/VvjcsmFoqPE/s400/startupoptions2.png" alt="" id="BLOGGER_PHOTO_ID_5258816106624477778" border="0" /&gt;&lt;/a&gt; If you don't customize your toolbars and menues you can turn off saving and restoring these by unchecking this checkbox.&lt;/li&gt;&lt;li&gt;If you are ok with wasting some memory you can create a shortcut to run &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;toad /prestart=true&lt;/span&gt; and then put that in your startup program folder. This will make Toad start pretty much instantaneous but the feature is not that well tested and might have some issues (Especially in regards to automation and running multiple instances of Toad).
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Hopefully these tips will help you get to work faster in the future. As you can see from the previous post on the history of Toad for SqlServer we have already gone from 12 seconds to 5 seconds even though we have added tons of functionality.&lt;/p&gt;</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/295/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/295/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=295</guid>
      <pubDate>Mon, 20 Oct 2008 19:08:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=295</trackback:ping>
    </item>
    <item>
      <title>Toad nomenclature</title>
      <description>We have a bunch of terms referring to different aspects of the Toad application internally and I thought I would share some with you because it's not that uncommon that it slips out in the Yahoo Boards when we talk about it so why not just go through them and explain them.</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/293/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/293/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=293</guid>
      <pubDate>Mon, 20 Oct 2008 19:06:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=293</trackback:ping>
    </item>
    <item>
      <title>Command line reference</title>
      <description>&lt;p&gt;The documentation of what command line options are available on the Toad.exe is not necessarily that well covered in the documentation. True there is rarely any need to specify anything on it unless something goes wrong. I just thought I'd go through what is available.&lt;/p&gt;

&lt;p&gt;First of all the format. Toad allows any parameters to be specified regardless of if it knows what they are or not because some plugins might want to read it later on unbeknown to the original startup code. All parameters are specified using this format.&lt;/p&gt;

&lt;p&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;toad /{parameter name}={value} {files to open on startup}&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Also if you want to specify an option with space in it you can quote it like this.&lt;/p&gt;

&lt;p&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;toad "/{parameter name}={value}" "{A file to open}"&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Here are the following parameters that we support in Toad as of version 4.1.&lt;/p&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="font-weight: bold;" valign="top"&gt;Parameter&lt;/td&gt;&lt;td style="font-weight: bold;" valign="top"&gt;Value&lt;/td&gt;&lt;td style="font-weight: bold;" valign="top"&gt;Description&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;datadir&lt;/td&gt;&lt;td valign="top"&gt;Directory
&lt;/td&gt;&lt;td valign="top"&gt;Specify an alternative data directory for Toad to read it's settings from instead of the default location.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;profile&lt;/td&gt;&lt;td valign="top"&gt;"true"&lt;/td&gt;&lt;td valign="top"&gt;Start Toad and generate profiling information. This is sometimes used by us if you Toad is behaving very slow to track down what is wrong. The information generated is included in the support bundle if it is available.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;batch
&lt;/td&gt;&lt;td valign="top"&gt;"true"
&lt;/td&gt;&lt;td valign="top"&gt;Run toad in batch mode. This means that it will just open all available files without opening up the user interface and then exit. Used by automation.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;prestart
&lt;/td&gt;&lt;td valign="top"&gt;"true"
&lt;/td&gt;&lt;td valign="top"&gt;Pre start Toad. This means that toad is run in the background to be available to "pop up" when you actually want it. This feature is never actually used but if you are ok with pre loading on windows startup you can add &lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;toad /prestart=true&lt;/span&gt; to your startup menu and have lightning fast startups when you actually need Toad. Will use memory even if you are not using Toad. This is how a lot of other apps fake quick startup times like for instance Adobe Reader.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;installinit
&lt;/td&gt;&lt;td valign="top"&gt;"true"
&lt;/td&gt;&lt;td valign="top"&gt;Used by installation to initialize a cache of the available plugins of to the application. When run by this it needs to write to the install directory, but in case you have this which is normally the case you can rerun this as many times you want.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;feedback
&lt;/td&gt;&lt;td valign="top"&gt;"true"
&lt;/td&gt;&lt;td valign="top"&gt;Enable usage reporting.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;license
&lt;/td&gt;&lt;td valign="top"&gt;"edit"
&lt;/td&gt;&lt;td valign="top"&gt;Display the license entry form on startup.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;transpose
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Allow transposing when exporting grids. That means switching X and Y axises of the grid.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;exportbenchmark
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate a log file to help benchmarking the export engine. The file will be included in your next support bundle&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;excelverbose
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate a lot of verbose info when exporting into Excel.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;profilevc
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate a profiling log to help benchmarking the version control code. The file will be included in your next support bundle&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;debuglog
&lt;/td&gt;&lt;td valign="top"&gt;Filename
&lt;/td&gt;&lt;td valign="top"&gt;Generate a log of some debugging events. The file will always be placed in the application data directory.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;yukondebuglog
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generates debugging information for the SqlServer 2005 debugger. The file will be included in your next support bundle.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;dbmsverbose
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate very verbose DBMS_OUTPUT output.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;oraclelastplan
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Include the latest Oracle explain plan to your support bundle.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;db2debuglogreports
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate debugging information for the DB2 debugger. The file will be included in your next support bundle.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;db2debuglog
&lt;/td&gt;&lt;td valign="top"&gt;"1"
&lt;/td&gt;&lt;td valign="top"&gt;Generate debugging information for the db2 command line executions. The file will be included in your next support bundle.
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;


&lt;p&gt;To end with an example running Toad like this will enable usage reporting and using a new application data directory and then open a file on startup.&lt;/p&gt;

&lt;p&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;toad /feedback=true "/datadir=c:\Users\MyUser\My Documents\ToadDir" "c:\Users\MyUser\My Documents\A Sql File.sql"&lt;/span&gt;&lt;/p&gt;
</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/292/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/292/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=292</guid>
      <pubDate>Mon, 20 Oct 2008 19:03:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=292</trackback:ping>
    </item>
    <item>
      <title>The history of Toad for SQL Server</title>
      <description>&lt;p&gt;I recently took some time to look through the different releases we have made of Toad over the years since we started and just thought I would share it with you guys. I chose the &lt;a href="http://www.toadsoft.com/toadsqlserver/toad_sqlserver.htm"&gt;Toad for SQL Server&lt;/a&gt; release because that was the one which had made the most releases (For instance &lt;a href="http://www.toadsoft.com/toaddb2/index.html"&gt;Toad for DB2&lt;/a&gt; never made the 3.1 release). I have to say that looking at from where we have come Toad is becoming a lot more polished. Especially starting with 4.0 it seem that we have started putting more time into polishing stuff up than just trying to cram as much features as possible. It is also pretty remarkable how little Toad has changed from our first release. Even if you went straight from 1.0 to 4.0 you would probably feel pretty at home with the application even though there is a lot more functionality in it.&lt;/p&gt; &lt;p&gt;This only goes through some really superficial first impressions. There is tons of functionality that has been added all over the application which is not covered at all in this retrospect. Also this only covers the .Net based version of Toad (Everything except the original &lt;a href="http://www.toadsoft.com/toad_oracle.htm"&gt;Toad for Oracle&lt;/a&gt;). Finally the &lt;a href="http://tda.inside.quest.com/index.jspa"&gt;Toad for Data Analysis&lt;/a&gt; obviously has a very different look even though it is based on the same code and that isn't covered covered either and it isn't that interesting either since it did not join "the family" until version 3.0 of &lt;a href="http://www.toadsoft.com/toadsqlserver/toad_sqlserver.htm"&gt;Toad for SQL Server&lt;/a&gt; and as such hasn't seen that much change.&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server v1.0&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p9o4pVLRGlA/SPpu_gJNVxI/AAAAAAAAADY/c6V3Pq-jcF0/s1600-h/1.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://4.bp.blogspot.com/_p9o4pVLRGlA/SPpu_gJNVxI/AAAAAAAAADY/c6V3Pq-jcF0/s400/1.0.png" alt="" id="BLOGGER_PHOTO_ID_5258637552147846930" border="0" /&gt;&lt;/a&gt;When you start the app up you get nothing but the startup page (Which is interestingly a different page in this version than all the other versions) and a new connection dialog. Also fetching around a 200000 record long query takes over 1 minute in this release (It’s also N*Log N so fetching 500K takes over 5 minutes). This is also the only release we made that had the history node in the connection manager.&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server2.0&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p9o4pVLRGlA/SPpu_zghXdI/AAAAAAAAADg/zxrwNSFmyx8/s1600-h/2.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://1.bp.blogspot.com/_p9o4pVLRGlA/SPpu_zghXdI/AAAAAAAAADg/zxrwNSFmyx8/s400/2.0.png" alt="" id="BLOGGER_PHOTO_ID_5258637557345902034" border="0" /&gt;&lt;/a&gt;Very small visual changes for this release. We added the composite image manager for better icons in the object palette. Also switched out SandDock to UIDock for the tool windows. We also fixed the fetching speed when you fetch everything we are pretty fast in this release, you don’t get any updates until you fetched all the data though. When you fetch just the first 50 rows and then continue we are still really slow. If you look closely you can also see that we switched the tab control in the object palette, added filtering and the column list pane at the bottom. We also added the connection output to the editor. In this release we finally managed to get NGen to work properly so startup time went from 12 seconds in 1.0 to around 9 seconds in this release. &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server 3.0&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p9o4pVLRGlA/SPpu_0_fXnI/AAAAAAAAADo/-wRaGLBveSI/s1600-h/3.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://3.bp.blogspot.com/_p9o4pVLRGlA/SPpu_0_fXnI/AAAAAAAAADo/-wRaGLBveSI/s400/3.0.png" alt="" id="BLOGGER_PHOTO_ID_5258637557744230002" border="0" /&gt;&lt;/a&gt;This is the first release that figured out that my installed SQL Server instance is called SQLEXPRESS automatically. It also the first with FastData in it so fetching is now pretty fast (Pretty much as fast as before but with updates as you are fetching. This is also the only release which has indication of not null (The blue column header).&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server 3.1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p9o4pVLRGlA/SPpvANSMEVI/AAAAAAAAADw/FK6IGLxQmyI/s1600-h/3.1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://1.bp.blogspot.com/_p9o4pVLRGlA/SPpvANSMEVI/AAAAAAAAADw/FK6IGLxQmyI/s400/3.1.png" alt="" id="BLOGGER_PHOTO_ID_5258637564265107794" border="0" /&gt;&lt;/a&gt;The most obvious changes here is the new connection tool bar (Which replaced the old connection bar). We also have the new quick search functionality implemented here. We have also added spooling to FastData so we now fetch the 200000 row query in about 5 seconds. This is the first release which doesn’t limit results in the editor by default any more.&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server 3.2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p9o4pVLRGlA/SPpvAU4xI5I/AAAAAAAAAD4/AUx3CO_5I_Y/s1600-h/3.2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://3.bp.blogspot.com/_p9o4pVLRGlA/SPpvAU4xI5I/AAAAAAAAAD4/AUx3CO_5I_Y/s400/3.2.png" alt="" id="BLOGGER_PHOTO_ID_5258637566305969042" border="0" /&gt;&lt;/a&gt;Here the most obvious change is the panes of the editor. Apart from that there are few visible changes from before. This was mainly a stability improvement release.&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server 4.0&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p9o4pVLRGlA/SPpvIaSRzEI/AAAAAAAAAEA/3CaoQPC_oFk/s1600-h/4.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://3.bp.blogspot.com/_p9o4pVLRGlA/SPpvIaSRzEI/AAAAAAAAAEA/3CaoQPC_oFk/s400/4.0.png" alt="" id="BLOGGER_PHOTO_ID_5258637705194097730" border="0" /&gt;&lt;/a&gt;Now this one is different! First of all we trimmed the grids so that you see a lot more rows from the start. The tabs in the editor has been tweaked to something that most people will find more useful (And they also follow the skin of the main application). The browser is in tree view. You also no longer get the configuration wizard on start up. The toolbars are rearranged so you can see all the buttons (We also no longer show the connection toolbar by default). A lot of the icons have been cleaned up. This is also the first release where the two tool windows showing on the left show up that way by default (In all previous screenshots I opened and rearranged them manually). And also we add the auto hidden tool windows to the right of the screen. And finally we changed the name of the object palette to object explorer.&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Toad for SQL Server 4.1 Beta&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p9o4pVLRGlA/SPpvItNjHLI/AAAAAAAAAEI/bXXt_y6AXIA/s1600-h/4.1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://toadworld.comhttp://2.bp.blogspot.com/_p9o4pVLRGlA/SPpvItNjHLI/AAAAAAAAAEI/bXXt_y6AXIA/s400/4.1.png" alt="" id="BLOGGER_PHOTO_ID_5258637710274534578" border="0" /&gt;&lt;/a&gt;An interesting change here is that we fixed a bug all the way from 1.0 of the product to not apply a skin by default. We also fixed the “edit” indicator button on grids. You can also see that the connection output is now gone and replaced with the messages tab. More work on cleaning up icons. We also see that we don’t expand the database node by default anymore in difference from 4.0. Another change in the 4.1 release is that on my machine this starts in around 5 seconds. Every release up to this release has started in around 9 seconds except for the 1.0 release which took 12 seconds.&lt;/p&gt;</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/291/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/291/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=291</guid>
      <pubDate>Mon, 20 Oct 2008 18:55:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=291</trackback:ping>
    </item>
    <item>
      <title>Starting this blog</title>
      <description>&lt;p&gt;Every once in a while I've been writing Toad stuff on my personal blog and I figured it is time to stop doing that and try to do this blog into something a little bit more useful. Entries in this blog will also be cross posted on the site &lt;a href="http://toad.henrik.org"/&gt;Toad Wrangling&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will try to write tips and tricks about how to use Toad as I can think of them.&lt;/p&gt;

&lt;p&gt;I'm one of the original developers of the .Net versions of Toad (All products except the original Oracle one) and currently work on what we internally call the "core" which means the piece of the application that is shared between the different platforms.&lt;/p&gt;

&lt;p&gt;For feedback and direct communication with all the developers of the product the best venue is till the &lt;a href="http://www.toadsoft.com/maillist.htm"&gt;Yahoo Groups&lt;/a&gt;. The information here has not gone through the normal peer review process of our normal documentation and sometime it might be about features that have not been properly tested (And that is why we aren't documented because we aren't ready for people to start banging on it). So use the information you find here at your own risk. Also please excuse me for all my spelling and grammatical errors, English isn't my first language (Truth be told I'm not that great at spelling in Swedish either).&lt;/p&gt;

&lt;p&gt;I have a bunch of stuff I want to write about already so originally there will probably be a bunch of postings as I start out (Assuming I stick to it). After a while it should settle down a bit to just a few posts a month as I've worked through my backlog.&lt;/p&gt;</description>
      <link>http://toadworld.com/BLOGS/tabid/67/EntryID/290/Default.aspx</link>
      <author>Henrik “Mauritz” Johnson</author>
      <comments>http://toadworld.com/BLOGS/tabid/67/EntryID/290/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://toadworld.com/Default.aspx?tabid=67&amp;EntryID=290</guid>
      <pubDate>Mon, 20 Oct 2008 18:44:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://toadworld.com/DesktopModules/Blog/Trackback.aspx?id=290</trackback:ping>
    </item>
  </channel>
</rss>