123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464 |
- { ************************************************************************* }
- { }
- { Licensed Materials - Property of IBM and/or HCL }
- { }
- { IBM Informix Dynamic Server }
- { (c) Copyright IBM Corporation 1996, 2004 All rights reserved. }
- { (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved. }
- { }
- { ************************************************************************* }
- { }
- { Title: boot920.sql }
- { }
- { Description: }
- { Bootstrapping script for a 9.20 database }
- { }
- { ************************************************************************* }
- { }
- { ** IMPORTANT - PLEASE READ }
- { }
- { All types and routines referenced in this file must be prefixed }
- { with the user name "informix". E.g., use "informix.boolean" }
- { and not "boolean" }
- { }
- { Also, please follow the formatting conventions!!! }
- { }
- { Please ensure that the identifiers that you choose are <= 18 }
- { characters in length. Otherwise the changes would affect database }
- { reversion. }
- { }
- { ************************************************************************* }
- -- MORE IMPORTANT: MUST READ
- -- DO NOT ADD ANYTHING IN THIS FILE. ADDING STUFF IN THIS FILE MAY CAUSE
- -- FAILURE IN CONVERSION/REVERSION PROCESS. USE boot920a.sql.
- ---Define the hash access method.
- ---Do not grant execute to public for these functions as
- ---they are special-cased within the engine with the exception
- ---of ifx_sha_settrace().
- create dba function informix.sha_create(informix.pointer)
- returns int
- external name '(sha_create)'
- language C;
- create dba function informix.sha_open(informix.pointer)
- returns int
- external name '(sha_open)'
- language C;
- create dba function informix.sha_close(informix.pointer)
- returns int
- external name '(sha_close)'
- language C;
- create dba function informix.sha_insert(informix.pointer,
- informix.pointer, informix.pointer)
- returns int
- external name '(sha_insert)'
- language C;
- create dba function informix.sha_update(informix.pointer,
- integer, informix.pointer, informix.pointer,
- informix.pointer)
- returns int
- external name '(sha_update)'
- language C;
- create dba function informix.sha_delete(informix.pointer, integer)
- returns int
- external name '(sha_delete)'
- language C;
- create dba function informix.sha_scancost(informix.pointer,
- informix.pointer)
- returns float
- external name '(sha_scancost)'
- language C;
- create dba function informix.sha_beginscan(informix.pointer)
- returns int
- external name '(sha_beginscan)'
- language C;
- create dba function informix.sha_rescan(informix.pointer)
- returns int
- external name '(sha_rescan)'
- language C;
- create dba function informix.sha_getnext(informix.pointer,
- informix.pointer, informix.pointer)
- returns int
- external name '(sha_getnext)'
- language C;
- create dba function informix.sha_getbyid(informix.pointer,
- informix.pointer, integer)
- returns int
- external name '(sha_getbyid)'
- language C;
- ---Create function to enable trace.
- create dba function informix.ifx_sha_settrace(integer, lvarchar)
- returns integer
- external name '(ifx_sha_settrace)'
- language C;
- ---Create the access method
- create primary access_method informix.hash(
- am_create=informix.sha_create,
- am_open=informix.sha_open,
- am_close=informix.sha_close,
- am_insert=informix.sha_insert,
- am_update=informix.sha_update,
- am_delete=informix.sha_delete,
- am_scancost=informix.sha_scancost,
- am_beginscan=informix.sha_beginscan,
- am_rescan=informix.sha_rescan,
- am_getnext=informix.sha_getnext,
- am_getbyid=informix.sha_getbyid,
- am_rowids,
- am_readwrite,
- am_sptype='D');
- --- Alter rtree functions to make them parallelizable
- alter function informix.rlt_open(pointer)
- with (add parallelizable);
- alter function informix.rlt_close(pointer)
- with (add parallelizable);
- alter function informix.rlt_insert(pointer, pointer, pointer)
- with (add parallelizable);
- alter function informix.rlt_delete(pointer, pointer, pointer)
- with (add parallelizable);
- {Not yet for rtree update}
- {alter function informix.rlt_update}
- {(pointer, pointer, pointer, pointer, pointer) }
- {with (add parallelizable);}
- alter function informix.rlt_beginscan(pointer)
- with (add parallelizable);
- alter function informix.rlt_endscan(pointer)
- with (add parallelizable);
- alter function informix.rlt_rescan(pointer)
- with (add parallelizable);
- alter function informix.rlt_getnext(pointer, pointer, pointer)
- with (add parallelizable);
- ---Define rtree support function for oncheck
- create function informix.rlt_check(pointer, integer)
- returns integer
- external name '(rlt_check)'
- language C;
- alter access_method informix.rtree add am_check = informix.rlt_check;
- ---Add new collectionsend() to handle all collection types
- create dba function informix.collectionsend(collection)
- returns informix.sendrecv
- external name '(collectionsend)'
- language C not variant;
- grant execute on function informix.collectionsend(collection)
- to public as informix ;
- -- create a function to enable unloading of a module.
- create dba function informix.unloading_module(varchar(255), varchar(255))
- returns int
- external name '' language C;
-
- create procedure informix.ifx_unload_module (modulename varchar(255),
- languagename varchar(255)) returns int
-
- define retvalue int;
- let retvalue = unloading_module(modulename, languagename);
- if retvalue = 0 then
- return 0;
- end if;
- if retvalue = -1 then
- raise exception -9721;
- else
- raise exception -9720;
- end if;
- end procedure;
- create opaque type informix.stat
- (
- internallength=variable,
- alignment = 8,
- maxlen = 272,
- cannothash
- );
- create dba function informix.statout(informix.stat)
- returns informix.lvarchar
- external name '(showstat)'
- language C not variant;
- grant execute on function informix.statout(informix.stat) to
- public as informix ;
- create explicit cast (informix.stat as informix.lvarchar
- with informix.statout);
- create dba function informix.assign(informix.stat)
- returns informix.stat
- external name '(stat_assign)'
- language C not variant;
- create dba function informix.destroy(informix.stat)
- returns informix.stat
- external name '(stat_destroy)'
- language C not variant;
- create dba function informix.send(informix.stat)
- returns informix.sendrecv
- external name '(stat_send)'
- language C not variant;
- grant execute on function informix.send(informix.stat) to
- public as informix ;
- create explicit cast (informix.stat as informix.sendrecv with informix.send);
- -- add collectionimport and collectionexport functions
- create dba function informix.collectionimport(informix.impexp) returns set
- external name '(collectionimport)' language C not variant;
- grant execute on function informix.collectionimport(informix.impexp)
- to public as informix;
- create implicit cast (informix.impexp as collection with
- informix.collectionimport);
- create implicit cast (informix.impexp as set with
- informix.collectionimport);
- create implicit cast (informix.impexp as multiset with
- informix.collectionimport);
- create implicit cast (informix.impexp as list with
- informix.collectionimport);
- create dba function informix.collectionexport(collection) returns informix.impexp
- external name '(collectionexport)' language C not variant;
- create dba function informix.collectionexport(set) returns informix.impexp
- external name '(collectionexport)' language C not variant;
- create dba function informix.collectionexport(multiset) returns informix.impexp
- external name '(collectionexport)' language C not variant;
- create dba function informix.collectionexport(list) returns informix.impexp
- external name '(collectionexport)' language C not variant;
- grant execute on function informix.collectionexport(collection)
- to public as informix;
- grant execute on function informix.collectionexport(set)
- to public as informix;
- grant execute on function informix.collectionexport(multiset)
- to public as informix;
- grant execute on function informix.collectionexport(list)
- to public as informix;
- create implicit cast (collection as informix.impexp with
- informix.collectionexport);
- create implicit cast (set as informix.impexp with
- informix.collectionexport);
- create implicit cast (multiset as informix.impexp with
- informix.collectionexport);
- create implicit cast (list as informix.impexp with
- informix.collectionexport);
- grant usage on language spl to public;
- -- fastpath entry points to support client sblob range locking
- create dba function informix.ifx_lo_lock(integer, int8, integer, int8, integer)
- returns integer
- external name '(sq_lo_lock)'
- language c;
- grant execute on function informix.ifx_lo_lock(integer, int8, integer, int8, integer) to public as informix;
- create dba function informix.ifx_lo_unlock(integer, int8, integer, int8)
- returns integer
- external name '(sq_lo_unlock)'
- language c;
- grant execute on function informix.ifx_lo_unlock(integer, int8, integer, int8) to public as informix;
- -- cast from byte to blob
- create function informix.bytetoblob(references byte)
- returns informix.blob
- external name '(bytetoblob)'
- language c not variant;
- grant execute on function informix.bytetoblob(references byte)
- to public as informix;
- create explicit cast (byte as informix.blob with informix.bytetoblob);
- create function informix.bytetoblob(references byte, char(18), char(18))
- returns informix.blob
- external name '(bytetoblob_colspec)'
- language c not variant;
- grant execute on function informix.bytetoblob(references byte, char(18), char(18))
- to public as informix;
- -- cast from text to clob
- create function informix.texttoclob(references text)
- returns informix.clob
- external name '(bytetoblob)'
- language c not variant;
- grant execute on function informix.texttoclob(references text)
- to public as informix;
- create explicit cast (text as informix.clob with informix.texttoclob);
- create function informix.texttoclob(references text, char(18), char(18))
- returns informix.clob
- external name '(bytetoblob_colspec)'
- language c not variant;
- grant execute on function informix.texttoclob(references text, char(18), char(18))
- to public as informix;
- create dba function informix.rtnparamtypes_send(informix.rtnparamtypes)
- returning informix.sendrecv
- external name '(rtnparamtypes_send)' language C
- not variant;
- grant execute on function informix.rtnparamtypes_send(informix.rtnparamtypes) to
- public as informix ;
- create implicit cast (informix.rtnparamtypes as informix.sendrecv
- with informix.rtnparamtypes_send);
- ---
- --- Register builtin java UDRs for Krakatoa
- ---
- create dba procedure sqlj.install_jar(varchar(255), varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.installJar(java.lang.String, java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.install_jar(varchar(255), varchar(255))
- to public as sqlj;
- create dba procedure sqlj.remove_jar(varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.removeJar(java.lang.String) ' language java end procedure;
- grant execute on procedure sqlj.remove_jar(varchar(255))
- to public as sqlj;
- create dba procedure sqlj.replace_jar(varchar(255), varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.replaceJar(java.lang.String, java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.replace_jar(varchar(255), varchar(255))
- to public as sqlj;
- create dba procedure sqlj.install_jar_deploy(varchar(255), varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.installJarDeploy(java.lang.String, java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.install_jar_deploy(varchar(255),
- varchar(255)) to public as sqlj;
- create dba procedure sqlj.remove_jar_undeploy(varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.removeJarUndeploy(java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.remove_jar_undeploy(varchar(255))
- to public as sqlj;
- create dba procedure sqlj.alter_java_path(varchar(255), lvarchar)
- external name 'informix.jvp.dbapplet.impl.JarHandler.alterJavaPath(java.lang.String, java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.alter_java_path(varchar(255),
- lvarchar) to public as sqlj;
- create dba procedure sqlj.setUDTExtName(varchar(255), varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.setUDTExternalName(java.lang.String, java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.setUDTExtName(varchar(255),
- varchar(255)) to public as sqlj;
- create dba procedure sqlj.unsetUDTExtName(udtSQLName varchar(255))
- external name 'informix.jvp.dbapplet.impl.JarHandler.unsetUDTExternalName(java.lang.String)' language java end procedure;
- grant execute on procedure sqlj.unsetUDTExtName(varchar(255))
- to public as sqlj;
- ---
- --- end java UDRs
- ---
-
- create dba function informix.ifx_update_extern(varchar(255), varchar(255),
- varchar(255) )
- returns int
- external name '' language C;
-
- grant execute on function informix.ifx_update_extern(varchar(255), varchar(255),varchar(255))
- to public as informix ;
- create dba procedure informix.ifx_replace_module (oldmodulename varchar(255),
- newmodulename varchar(255),
- languagename varchar(255)) returns int
-
- define retvalue int;
- let retvalue = ifx_invalid_module(oldmodulename,
- languagename);
- if retvalue = 0 then
- let retvalue = ifx_update_extern( oldmodulename, newmodulename, languagename);
- update informix.sysprocedures
- set externalname = ifx_new_external(newmodulename, externalname,
- languagename)
- where ifx_match_external(oldmodulename, externalname) = 1;
- let retvalue = ifx_load_internal(newmodulename, languagename);
- end if;
-
- if retvalue = 0 then
- return 0;
- else
- raise exception -9720;
- end if;
-
- end procedure;
- grant execute on procedure informix.ifx_replace_module (varchar(255),varchar(255),
- varchar(255)) to public as informix;
- --- Alter blob/clob routines to allow handling nulls
- alter function informix.filetoblob(informix.lvarchar, char(6), char(18), char(18))
- with (add handlesnulls);
- alter function informix.filetoclob(informix.lvarchar, char(6), char(18), char(18))
- with (add handlesnulls);
- alter function informix.locopy(informix.blob, char(18), char(18))
- with (add handlesnulls);
- -- Define conversion and reversion functions for rtree index partitions
- create dba function informix.rlt_convert(int)
- returns int
- external name '(rlt_convert)'
- language C;
- grant execute on function informix.rlt_convert(int) to public as informix ;
- create dba function informix.rlt_revert(int)
- returns int
- external name '(rlt_revert)'
- language C;
- grant execute on function informix.rlt_revert(int) to public as informix ;
|