What a big relief....I was in the beta program, checking out the new features of PL/SQL in this latest release of the Oracle database. That's quite a privilege, but also a burden; Oracle is very severe about not wanting us to talk about upcoming features before they officially release the product to their adoring public.
That's tough on me, because I have a hard time keeping my mouth shut about anything, especially wondrous new features in PL/SQL. So what I usually do is say something like this:
"It is possible, just possible that in the next release of Oracle you will be able to...."
And I leave it up to my audience to draw their own conclusions.
No longer. I can now disclose to you the new features for PL/SQL in Oracle Database 11g Release 2. Drum roll, please!
So what's new? Hmmm. Not much, in PL/SQL specifically.
Probably the most important thing to me won't mean much to most of you, because it is an improvement over an 11.1 feature – and who's upgraded to 11g already? Not many.
Still, I will tell you about it: when working with the Function Result Cache, you no longer need to include the RELIES_ON clause. Oracle will automatically determine what tables the cache is reliant on. When and if any changes are committed to that table, all dependent caches will be invalidated.
It's a nice improvement and it also means that for most of you, RELIES_ON will be completely ignored. Lucky you! This sort of "instant deprecation" reminds me of the RESTRICT_REFERENCES pragma that was required back in Oracle7 or 8 to be able to execute user-defined functions inside SQL statements. Now that was an enormous pain in the neck and in Oracle8i, it was no longer required.
Besides the enhancement to the Function Result Cache, we have the following changes in and additions to PL/SQL (I encourage you to download the
11.2 documentation library, even if you have no plans to upgrade to 11.2 anytime soon. Then you can review the PL/SQL Users Guide yourself!):
Surely, you are thinking, 11.2 consists of more than this. Certainly it does. The major new feature in 11.2 is "edition-based redefinition," which (according to the
doc) " enables you to upgrade the database component of an application while it is in use, thereby minimizing or eliminating down time."
This is REALLY BIG NEWS. You can now "hot patch" your application code, which means that Oracle is finally and truly a 24x7 database platform. This feature will have a big impact on application architects and some impact on PL/SQL developers, but there is actually very little change in the PL/SQL language itself.
And now for the biggest news of all: now that Oracle has officially released 11.2, O'Reilly can publish the
5th edition of Oracle PL/SQL Programming. This edition has lots of good stuff in it, but most important are:
- Optimize PL/SQL performance with the aid of a brand-new chapter in the fifth edition;
- Understand and use new Oracle Database 11g features, including the edition-based redefinition capability, the function result cache, the new CONTINUE statement, fine-grained dependency tracking, sequences in PL/SQL expressions, supertype invocation from subtypes, and enhancements to native compilation, triggers, and dynamic SQL;
- Use new Oracle Database 11g tools and techniques such as PL/Scope, the PL/SQL hierarchical profiler, and the SecureFiles technology for large objects.
[ By the way, I am considering making it possible to order a signed copy of OPP5 through my own website. If you are interested, please drop me a
note. ]