Re: IUS: Datablades & portability
Posted in 1997
Topics: Installation, Setup & Upgrades, Stored Procedures & SPL, Data Types & Schema Design, Java & JDBC Development
In article , CPeries@dynasty.com ("Peries, Chaminda") wrote: > > Hi. > > I have a few conceptual questions about datablades that I hope some one > could help answer. From what I have gathered so far, datablades can > roughly be interpreted as a form of data type. (Complex, non-standard ). > Eg:- a complex equation, multimedia combinations, datasheets, etc.. > (there is a whole list on the informix site) This is a common and understandable misperception. DataBlades are _bundles_ of related underlying IUS functionality. Apart from its core SQL-92 functionality, IUS offers additional features including .Row types (which can be used to define "record type" columns or tables) 'Collection types (set, multiset and list) 'Distinct and opaque types (which can be used to create user-defined types) 'User defined functions (on built-in or user-defined types) 'Table-level inheritance 'The Virtual Table Interface and Virtual Index Interface (which can be used to add custom storage and access methods) Datablades (strictly, DataBlade modules - unfortunately Informix have made the rather baffling decision to confuse everyone by using DataBlade as an adjective rather than a noun) are simply packages of related functionality based on the underlying types and features of IUS. A document-handling DataBlade module, for example, might contain one or more user-defined types (e.g. "word_processor_file"), user-defined functions to operate on them (e.g. "occurrences_of_word_in_file"), etc. Creating a DataBlade module containing these helps in installation and management, but adds nothing in actual functionality. (The DataBlade concept is extremely similar to DB2's "relational extenders") > If you can store these 'non-standard' data types in the database, how > does connectivity software, and client software use these data types ? > What are they defined as ? > > For instance how would I retrieve a certain 'datablade' type from the > database and into what type of "variable" would I get it into in the > client ? In fact, you would want to retrieve the constituent types of the DataBlade (e.g. "word_processor_file"). This can be achieved either via SQL (or SPL), via Informix's C++ or Java Object Interfaces, via the Datablade API (DAPI), or using NewEra, one of Informix's Universal Tools partners, and/or DataDirector (phew!). If you used SQL or SPL, you would retrieve scalar values into host variables (or into a report, etc.) in much the usual way. For example, you could SELECT r.report_name occurrences_of_word_in_file(r.report,"weather") FROM r... to get the names of reports alongside the number of occurrences of the word "weather" in each (I think I have roughly the right syntax). But the bottom line is that IUS provides a number of mechanisms for extending its type system and functionality, and these can, optionally, be packaged into DataBlade modules. Unfortunately, Informix have yet to make a very good job of explaining this to many potential IUS users. Confusion about the exact nature of DataBlades is widespread. David Wells Ovum -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet