Let me explain why this is a good thing.
No, a GREAT thing.
_______
Better, faster, cheaper hardware is great.
Better, faster, cheaper software is great.
But what else can you take away from this announcement?
The promise of useful enhancements delivered on a regular basis via a "technology refresh" is once again fulfilled.
In real business terms, this means the IBM i engineering and development teams have been working hard on your behalf. The result of this hard work is that you get more features, more functions and more benefit from your investment in, and use of a Power system.
For the C level executives and their accountants, this means a higher ROI. GREAT, keep it coming.
For the programmers doing the heavy lifting, this means innovative solutions and higher productivity. More of the same please.
DB2 is Doing More, So You Don't Have To
For years I have discussed and debated the merits of getting DB2 for i to do more. This is the very essence of data centric processing - allowing the integrated database management system to handle more of the work, so you don't have to. Imagine, someone else designs it, codes it, tests it, tunes it. You, well... you use it.
But this can only happen if the feature or function you require exists inside of DB2 (and you are using SQL to invoke or access it). Obviously, this is what a technology refresh is all about! Namely, providing you more options, more techniques, more methods to get the job done.
Great! Give Some Examples
Taking a look inside IBM i 7.1 TR6, we find a number of interesting and useful things on the database side of the house...
FOR SYSTEM NAME clause
Given that IBM i users enjoy (and take advantage of) two naming conventions and two interfaces into DB2 for i (SQL and native), controling both the SQL "long" name and the system "short" name can be cumbersome. If you are only using SQL to reference objects, no problem. But what if you also use IBM i commands? Specifying a proper short name is normally a good practice. This is now easier via the new SQL clause. Creating a table, view or index with a specific short name to go with the long name is much simpler - as it should be.
The optional FOR SYSTEM NAME clause has been added to SQL statements:
CREATE TABLE
CREATE VIEW
CREATE INDEX
DECLARE GLOBAL TEMPORARY TABLE
Multiple events within a single SQL trigger
SQL triggers are a very powerful way to invoke data centric processing by extending what happens during a database operation or transaction.
A multiple event trigger is a trigger that can handle INSERT, UPDATE, and DELETE triggering events within a single SQL (trigger) program.
To visualize this new support, think about this logic:
Database operation occurs, trigger fires, program is called AND...
IF INSERTING
THEN do these things;
IF DELETING
THEN do this stuff;
IF UPDATING
THEN do this other stuff;
New FUNCTIONS for RESTful services
I think of this support as "query the web". And I think it's awesome.
Delivered as a set of "tools" in the SYSTOOLS schema, UDFs now provide RESTful services to integrate information sources that can be addressed via a URL and accessed using HTTP.
Think "building blocks" to assemble a clever application that makes use of the vast repository out and up in the clouds. These functional building blocks are:
httpGetBlob
httpGetClob
httpPutBlob
httpPutClob
httpPostBlob
httpPostClob
httpDeleteBlob
httpDeleteClob
httpBlob
httpClob
httpHead
This means it is now very easy to write an SQL statement that can access and/or manipulate unstructured information via HTTP. Imagine pulling in text from a weather service, news outlet or blog via SQL, like this:
SELECT SYSTOOLS.HTTPGETCLOB('http://db2fori.blogspot.com/2013/01/but-mike-can-i-trust-query-optimizer.html','') FROM SYSIBM.SYSDUMMY1;
Combine these new building blocks with the IBM i 7.1 XML support found in DB2 and you are well on your way to providing more value. And that's what it's all about isn't it - more value.
_______
Once again, more of the same from the fine folks in DB2 Development; great things to be found inside the IBM i box.
For a complete look at Technology Refresh 6, go here.
If you have any questions or concerns on how to take advantage of IBM i 7.1, especially when it comes to information management, reach out. We're here to help.
Great News!
ReplyDeleteI just want to say "Thank you", you and all the database development team did and do a great job!
Just recently I tested the XMLTABLE function in composition with the XPath notation, by directly accessing XML documents located in the IFS. I wrapped the SQL statement with XMLTABLE function with an SQL view, and used this view with embedded SQL within my RPG programs like any other view.
My first customer who had problems with the UTF-8 content of the XML document, already replaced some of his complex XML-INTO and XML-SAX RPG statements with a view SQL statements.
... and if we can combine this with the new functions for RESTful services
... great!!! I already have a lot of ideas
Birgitta