Tuesday, April 12, 2005


Non-Edit Development 4/12/05 - Design???

Well, I'm in the process of putting some finishing touches on v2.16 before I release it this week (finally) and thought I would post an image of another product I'm in the process of working on. This new product I hope to make into a modeling tool specific to SQL Server with features to help the SQL Server Developer and DBA create and manage database models.

Notice how in the Orders table I have turned on additional viewing options so I can see the defaults, rules, check constraints, indexes, and permissions assigned to the table. My goal for the product is to provide a simple and powerful interface for managing/explorer schemas. For example, the product will provide 2 ways to create a new table, simple and detailed. Detailed will work much like other products. Simple will allow the user to simply enter the field names and the app will create the table using the data dictionary to determine types, sizes, nullability, and even FK constraints so that a complete table can be created quickly and accurately without having to specify the settings for every single column.

The product is still in early alpha stages but a lot of the drawing routines have been meshed out. Below is an image of the current schema view of the product. Still have a ways to go, but be on the lookout for this new product which I hope to have available sometime towards the release of SQL 2005.

Monday, April 11, 2005


Development 4/11/05 - Joins Be Gone

I finally added a feature I have had on my personal want list for some time but never got around to it. While I was testing some SCC stuff this weekend and was waiting for it to finish I decided to spec out the feature and was able to get it into the upcoming v2.16 release.

For those of you who currently use the "standard" join syntax of "table join table on", you're life just got much easier. For those of you who still use the legacy join syntax (yes, that's what it's referred to and I do know some of you :), of "from table, table where table.col = table.col", you no longer have any excuse.

With v2.16, after you type "join", the Intellilist that is displayed will contain some new items when there are FK constraints that reference any table in the current query. Lookin at the Northwind database, if I type:

"select * from Orders inner join"

The list that is displayed now has some new entries at the top immediately following any schema:

- Join Customers (FK_Order_Customers)
- Join Employees (FK_Order_Employees)
- Join Order Details (FK_Order_Details_Order)
- Join Shippers (FK_Order_Shippers)

Notice that the options include both FKs that the current table has (Customer, Employee, Shipper) plus tables that reference the current table of Orders (Order Details). Picking any of these options will insert not only the specified table but the join condition as well (including any multi-col join conditions).

So, picking the - Join Customers ... option would then make my query look as follows:

select * from Ordeers inner join Customers on Customers.CustomerID = Orders.CustomerID

Do another inner join and you will get even more options, with the joins from Customer now included in the list. The joins are displayed from the most recent table to the least recent, so joins to Customer would be at the top and joins to Orders would be below these and so forth.

What about aliases, eh. Well, if you defined the table with an alias then the join condition will use that alias. Also, if you have predefined aliases for objects, then the join table and condition inserted will use those predefined aliases as well.

In my opinion, this is the best thing since the soup and sandwich combo at Panera Bread (I'm on my way there shortly :)

We will also be providing the ability to define custom joins in a future release so that the user can manually define join conditions that might exist outside of the normal foreign key relationships defined in the database.

The inserted tables will also follow the "Insert Object Owner" setting and insert the table schema for the new table if turned on.

Monday, April 04, 2005


Development 4/4 - Almost v2.16

Well, we are almost done with the v2.16 release. We still have a few small items to finish development on dealing with some task issues as well as the new object mapping management screen, but we are hoping to release v2.16 very shortly.

This has been one of our longest releases, dealing with the complexities of supporting SCC and the amount of testing required to handle SCC as well as to make sure that Source Safe still works using the VSS API. We did add a new feature over the last couple of days to help make working with parameters a little easier. When the user hovers over a parameter/variable in the editor script, the editor will attempt to show the user the parameter/variable and its declared data type. If the item is a parameter and has an optional value, then that information should also be shown to the user as well.

After we release the v2.16 release, we hope to get back to having releases out every 5-6 weeks or so. We have backlogged a lot of new features we would like to add for the next release so stay tuned.


The ApexSQL Edit Team

This page is powered by Blogger. Isn't yours?