Friday, September 25, 2009

IBM FileNet Content Manager-Designer 4.5

Whoa, today I also presented two tests:
  • F040G - IBM FileNet P8 Prerequisite Skills
  • F042G - IBM FileNet P8 Platform Administration 4.5
And this is the result:


I passed both of them, and now I have an "IBM FileNet Content Manager-Designer 4.5" certification. The prerequisite skills test was new, but the Administration test was almost like the 4.0 test so there wasn't really big difference and the questions were very similar. Now the "IBM" brand appears in the certificate title, before it was something like "FCP... " and personally I like it better this was since the impact of seeing IBM in the certification name is way bigger.

FCP Content Manager-Developer 4.0

I just presented and passed the FCP Content Manager Developer 4.0 certification! If you already have some experience programming for the CE then test is reasonably easy (honestly, I'm not that experienced so the test didn't feel relaxed for me), a lot of the questions are about the specific APIs for doing certain actions (for example, one question that I remember is "Which one of the following methods is used to retrieve the current version of a document with multiple versions?", so you have to remember the specific method for many questions.

I think 50% of the questions are about API specifics, and the other 50% are about concepts related to the APIs



That's an screenshot of my certificate =) . Now my goal is to get a FileNet Process Manager administrator certification, but I won't present that certification but until next year.

Sunday, September 13, 2009

SQL - TRUNCATE statement

What do you do when you want to delete all rows from a table?

I do this: DELETE FROM my_table;

When you don't provide a WHERE condition, all the rows are deleted from the given table. That's correct and it's simple, and works.

Today I found about the TRUNCATE statement, I've heard about it but I had never used it in any project. TRUNCATE is a better alternative to the DELETE statement when you are sure that you don't want your data back:
  • The transaction log isn't used (depends on the database implementation, but if something is logged it should be minimal).
  • TRUNCATE locks the full table while DELETE typically locks each row at a time, so the deletion can be really faster with TRUNCATE.
  • All pages are deleted with TRUNCATE (no empty pages are left)
The syntax for the TRUNCATE statement is:
TRUNCATE TABLE my_table;

TRUNCATE is defined by the SQL standard, but there many details left to each vendor to decide. So far my two of my three common RDBMS that I use implement it: Oracle and SQL Server implement TRUNCATE, and I was surprised to find that DB2 does not support TRUNCATE under Windows and Linux (but seems like the mainframe version does support it).

Each time I need to clean up my test/dev databases, I'll try to use TRUNCATE, I don't know if I'll want to use it in production level databases.