Richard Vowles

Categories:





Phew - patch for ActiveRecord for InterBase

Things just went crazy since i last posted - so I have only just finished testing the ActiveRecord patch for InterBase. Perhaps my biggest disappointment with it was finding out that ActiveRecord (the sub-project of Rails that Rails uses for accessing the database) does not support parameterized data types when talking to the database - everything is converted to a whopping great big string and executed. This means that there is no support for binary blobs in the InterBase adapter and BLOB text is limited in size (32k depending on the rest of the SQL size). But as they say in the Rails community, if you want it to work better, make a patch - so thats what I will do and see if I can get it accepted - on initial examination, Ruby’s duck typing should be a big help!

So if you are interested in using InterBase with Ruby on Rails, go grab Edge Rails, apply the patch and get IBRuby 0.5.2 (fixes were necessary to get it past the gamut of tests that come with ActiveRecord). It fully supports Migrations, allowing you to programatically version your changes to the database - starting out with a table, adding and removing columns and indexes, renaming the table and so forth. That in itself was a fascinating exercise in examining the InterBase meta-tables.

Posted by Richard Vowles archive on December 23rd, 2006 under Uncategorized | Comment now »


Released! IBRuby

I have managed to finish the porting of FireRuby to InterBase and added the requisite functionality (Booleans and SQL Roles). It is now available on RubyForge as Gem installs for two of InterBase’s supported platforms (32 bit Linux and 32 bit Windows). If you use Ruby and Gems, just type

gem install ibruby

And it will present you with the requisite gems. If you want to ensure it is all working well, in the gems/ibruby-xxx/tests directory are Ruby tests that will allow you to ensure that the InterBase connectivity is working.

This doesn’t give you what you need for Ruby on Rails (you need ActiveRecord support), but that is next.

Posted by Richard Vowles archive on December 4th, 2006 under Uncategorized | 3 Comments »


Using ROLEs in ISQL

I discovered something last night (and the R&D guys helped me sort it out) while implementing the ROLE option for Ruby connections to InterBase.

If you create a role "CREATE ROLE SALES", then you connect to the database using

connect database "db.ib" user "username" password "password" role "SALES";

or

connect database "db.ib" user "username" password "password" role sales;

NOT

connect database "db.ib" user "username" password "password" role "sales";

or it doesn’t work. Not a problem when you are using Delphi, IBConsole or any of the other myriad tools, but just something to watch for in ISQL.

Posted by Richard Vowles archive on November 30th, 2006 under Uncategorized | 2 Comments »


New Zealand’s first InterBase seminar

I love CodeGear! If only because I am able to focus on promoting the database I love - we had our first InterBase seminar this week. Even when Borland sold primarily Delphi and InterBase - we did not have an InterBase seminar. But the new features in InterBase 2007 _really_ make a difference and are really worth taking a look at.

The focus of the seminar was on the new features and how you can use them to increase performance and reliability of your InterBase or Firebird database.

Major point: Most people in the audience had long since turned "force writes" on. This significantly degrades database performance, but it is crucial - as InterBase is an embedded database, customer sites often power off their computers, don’t have battery backup, etc. To save a lot of hassle around support for corrupted databases (which would happen with *any* database, not just InterBase), they turn "force writes" on. You do this by typing "gfix -write sync database.ib" - and you can see that it is in operation by typing "gstat -L database.ib" - in Attributes you will see "force write".

But as I said, the performance hit is quite substantial. With InterBase 2007 Journals, you can *get back that async performance*. Because the journals are synchronously written and written sequentially on disc, putting your journals on a different disc (that also has disc caching turned off on the OS/drive) will give you back a whole heap of performance. Yet another reason to give your customers the option to use InterBase - if you are using Firebird, try avoiding the extensions. Firebird is a *great* database, but if you avoid the extensions you give your customers the choice of InterBase. That of course means you have to avoid the InterBase extensions as well (if you deploy Firebird) - such as temporary tables and the BOOLEAN datatype (among other things).

Then there are journal archives - but I should probably get that white paper out. It has pictures and everything.

We got very good reception of the seminar, high ratings, everyone went away saying what a great seminar it was (well, our distributor called them afterwards and they said it was). If you use InterBase or Firebird, push for a seminar from your local Evangelist.

Posted by Richard Vowles archive on November 30th, 2006 under Uncategorized | 3 Comments »


My first CodeGear blog post

Hi everyone!

Who am I? As you see already, my name is Richard Vowles - I work for CodeGear in New Zealand - I have worked for Borland for roughly 10 years now, starting off with Delphi and InterBase and moving into the Java world (staying with InterBase though!). So I am a Product Evangelist - I am responsible for promoting CodeGear products in the APAC region, specifically Australia and New Zealand (but not limited to those locations).

My main focus of interest is actually InterBase - it is a very important product for us in New Zealand, and we have some very successful customers deploying it. Our largest site deploys over 10,000 seats of InterBase and they are very happy with it.

Most of my posts will probably be JBuilder or InterBase focused at this point. I will probably also be including some Ruby as I am currently working on the port of FireRuby to InterBase - it has already been completed - but I have it all compiled and deployed using Borland C++ (which runs Ruby faster on Windows than when it is compiled with the Microsoft Visual C++ compiler - at least in my tests), and I need to build the gems for Windows and Linux and see if I can get R&D to compile the Solaris gems for me :-)

For JBuilder, my next task is putting the work in towards next week’s JBuilder live event! I am working with Joe (the JBuilder product manager) to show off migration, modeling, audits and metrics and optimization. In 45 minutes! I have migrated the Tapestry example application to InterBase and JBuilder 2006 (just a little tampering with the code to remove McKoi-isms was necessary) - so look out for that one!

Posted by Richard Vowles archive on November 30th, 2006 under Uncategorized | 1 Comment »




Server Response from: blogs2.codegear.com