Andrew Channels Dexter Pinion

Wherein I write some stuff that you may like to read. Or not, its up to you really.

January 28, 2003

Implementing a tree in SQL

Recently on the agile databases mailing list someone raised the spectre of implementing a hierarchy in a relational database. Someone then almost reflexively talked about Joe Celkos set based approach to implementing a hierarchy.

Now I like a parent-child table but I like to think I am open to new ideas. But this one does rather hurt my brain. I can see how easy it is to traverse an existing tree, but it looks very hard to populate the left and right values. As far as I can tell each time you add or remove a node from the tree you have to recalculate the left right values for each node in the tree. Which looks rather hard to me.

Still, I am going to do my best to get to the bottom of it and try and implement it in one of my databases.

Posted by Andy Todd at 05:21 PM | Comments (1)

January 24, 2003

Oracle v SQL Server, Part 7

OK, I will admit it, this frightens me. It is saying, in effect, to not run any form of processing in the database.

I can attest to the truth of this though. I wrote a batch update script in T-SQL and started it up on our database. Twenty four hours later it was still running. So we killed it. After looking at this paper I figured that whilst I may be able to optimise my script it would still take an age to run.

So I stripped out the SQL statements and re-wrote the logic in Python. It then took fifteen minutes to run.

There is a lesson to be learnt here, but I cannot bring myself to believe that T-SQL is really that bad. Or is it?

Posted by Andy Todd at 02:44 PM | Comments (0)

January 22, 2003

Oracle v SQL Server, Part 6 and a bit

Lo and behold, dBforums - Equivalent of Oracle's DECODE function on SQLServer. I love Google

Posted by Andy Todd at 12:03 PM | Comments (2)

Oracle v SQL Server, Part 6

Not easy to find, but the equivalent of NVL in T-SQL is the function ISNULL. [Courtesy of SharePoint Portal Server]

I still can't find a direct equivalent for DECODE, but I shall continue to look.

Posted by Andy Todd at 11:49 AM | Comments (1)

January 21, 2003

PythonCard 0.7

PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. The latest release includes over 40 sample applications and tools to help users edit and build applications in Python. Check out the sample pages for screenshots and info about the samples.

The documentation page has links to installation instructions for Windows that covers installing Python, wxPython, and PythonCard. Check the changelog for a complete list of changes for release 0.7.

Posted by Andy Todd at 12:52 PM | Comments (0)

January 20, 2003

Raw Strings on Windows

Mental note to self, when dealing with Windows file names and paths in Python, always use raw strings.

In both gadfly and my utilities I have been having all sorts of problems. Mainly because I have directory names which start with t, resulting in "\t" characters in my file name strings. This is not a good thing.

Posted by Andy Todd at 12:56 PM | Comments (0)