Skip to Main Content
  • Questions
  • New functions not yet documented - TO_DOG_YEAR

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, brendan.

Asked: April 01, 2018 - 7:42 am UTC

Last updated: April 01, 2018 - 7:58 am UTC

Version: 18c

Viewed 1000+ times

You Asked

Over the past few months I've been working on a project using oracle advanced analytics to detect IBS in Dogs. I've written a short blog post about this here ( http://www.oralytics.com/2018/04/predicting-ibs-in-dogs-using-oracle-18c.html )

I've noticed in the past few days a new patch has been applied to our 18c Autonomous Database, and with that come a new parameter to a critical new SQL function in 18c. I haven't been able to find any documentation on this function (TO_DOG_YEAR) in the online documentation, but I've found some blog posts about it, including

https://blog.dbi-services.com/after-iot-iop-makes-its-way-to-the-database/
http://berxblog.blogspot.ie/2018/04/more-fun-with-ages.html
http://vanpupi.stepi.net/2018/04/01/exploring-18c-exadata-functions/

With the latest patch release this function has a new parameter OWN_SMOKE BOOLEAN.
As there is no documentation on this, can you see what you can find out about this new parameter and share it with us?
I'm assuming it is something to do with if the dog owner smokes.

and Connor said...

I've added some commentary on the function on one of the blogs you've mentioned above, so please consult that as well.

But I stress - functions that are not documented are precisely that. *not documented*.

We do this for a reason - to ensure that functions do not get exposed before they are ready for production use. It's no use hounding me here at AskTOM for more information. In this particular case, whilst we've delivered full support for breed, age derivation and NLS handling, you can tell that function is not fully ready if you try pass one of those ridiculous new mixed-breeds into it - you'll get into rough territory.

SQL> select to_dog_year(date'2005-04-02','','NLS_BREED=Labradoodle') from dual;
select to_dog_year(date'2005-04-02','','NLS_BREED=Labradoodle') from dual;
        *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcbmutt], [01], [04], [2018], [], [], [], [], [], [], [], []


Your hypotheses on OWN_SMOKE is *possibly* correct, but obviously, I cannot comment officially on that until we do fully document the function. Rest assured, by OOW 18 the functions will be public, thus validating your presentation submission on the topic. But also, as I commented on other blogs, as an Ace Director your are bound by NDA - if you publish information provided under the agreement, things might come back and bite you.

Once you see it in the official docs, that is how you'll know its fully supported.

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

SQL

The Oracle documentation contains a complete SQL reference.