CREATE [OR REPLACE] LIBRARY

Utilice el mandato CREATE [OR REPLACE] LIBRARY para crear una biblioteca compartida definida por el usuario. Una vez se ha añadido la biblioteca a la base de datos, está disponible inmediatamente para que la utilice un UDX.

Con este mandato no se puede cambiar el nombre de la biblioteca. Para cambiar un nombre de biblioteca, debe descartar la biblioteca y crear una biblioteca con el nuevo nombre.

Sinopsis

El mandato CREATE [OR REPLACE] LIBRARY tiene la siguiente sintaxis:
CREATE [OR REPLACE] LIBRARY library_name
[ AUTOMATIC LOAD | MANUAL LOAD ]
[NO DEPENDENCIES| DEPENDENCIES deplibs]
[ EXTERNAL HOST OBJECT 'host_object_filename' ]
[ EXTERNAL SPU OBJECT 'SPU_object_filename' ]

Entradas

El mandato CREATE [OR REPLACE] LIBRARY toma las siguientes entradas:
Tabla 1. Entradas de CREATE [OR REPLACE] LIBRARY
Entrada Descripción
nombre de biblioteca El nombre de la biblioteca que desea crear o sustituir. El nombre debe ser exclusivo dentro de la base de datos actual. Debe estar conectado a la base de datos donde está definida la biblioteca. No puede cambiar el nombre utilizando el mandato CREATE OR REPLACE LIBRARY.

Para sistemas que soportan varios esquemas, puede especificar un nombre en el formato esquema.biblioteca para crear una biblioteca en un esquema diferente de la base de datos actual. No puede crear una biblioteca en una base de datos diferente.

[AUTOMATIC LOAD | MANUAL LOAD] La carga automática especifica que el sistema abre automáticamente la biblioteca antes de que se utilice cualquier objeto que dependa de ella. La carga manual especifica que el UDX es responsable de abrir y cerrar las bibliotecas de carga manual cuando sean necesarias.
DEPENDENCIAS deplibs Especifica la lista opcional de dependencias de la biblioteca compartida definida por el usuario para el UDX. Puede especificar uno o varios nombres de biblioteca, separados por comas.
SIN DEPENDENCIAS Especifica que no hay dependencias para el UDX, que es el valor predeterminado si se omite DEPENDENCIES deplibs. Puede utilizar esta opción para borrar las dependencias anteriores declaradas para el UDX.
OBJETO HOST EXTERNO'nombre_archivo_objeto_host' Especifica el nombre de vía de acceso para el archivo de objeto host compilado de la biblioteca compartida.
OBJETO SPU EXTERNO'SPU_object_filename' Especifica el nombre de la ruta al archivo objeto compilado de la biblioteca compartida para el entorno Linux® SPU. Especifique el objeto compilado spu10 para SPU Rev10 en los modelos IBM® Netezza® 100 y Netezza 100.

Resultados

El mandato CREATE [OR REPLACE] LIBRARY tiene las salidas siguientes:
Tabla 2. Salidas de CREATE [OR REPLACE] LIBRARY
Resultado Descripción
CREATE LIBRARY Mensaje que se devuelve si el comando es correcto.
ERROR: Object with name 'libname' already exists Mensaje que se devuelve si utiliza el mandato CREATE LIBRARY para un nombre de biblioteca que ya existe. Utilice CREATE OR REPLACE o especifique un nombre de biblioteca exclusivo.
ERROR: lookupLibrary: library libname does not exist Mensaje que devuelve el sistema si la biblioteca compartida especificada no existe en la base de datos actual.
ERROR: Unable to calculate cksum for file filename Mensaje que se devuelve si no se puede resolver el nombre de vía de acceso del archivo de objeto para un archivo.

Descripción

Se crea la biblioteca compartida definida por el usuario en la base de datos actual. No puede sustituir una biblioteca definida por el usuario que está en uso en una consulta activa. Una vez finalizada la transacción de consulta activa, el sistema Netezza Performance Server procesa el comando CREATE OR REPLACE LIBRARY para reemplazar la biblioteca.

Privilegios necesarios

Debe ser el usuario administrador de base de datos o ser propietario de la base de datos actual o del esquema actual en sistemas con soporte para varios esquemas. Los demás usuario deben tener el privilegio Create Library para utilizar el mandato CREATE LIBRARY. Además, si utiliza CREATE OR REPLACE LIBRARY para cambiar una UDF, debe tener los privilegios Create Library y Alter para que la biblioteca la cambie.

Nota: Al ejecutar el comando CREAR BIBLIOTECA, la base de datos procesa los archivos OBJETO HOST y OBJETO SPU como usuario nz. El usuario nz tiene que tener acceso de lectura para los archivos de objeto y acceso de lectura y ejecución para todos los directorios de la vía de acceso desde la raíz al archivo de objeto.

Tareas comunes

Puede utilizar el mandato CREATE [OR REPLACE] LIBRARY para crear y convertirse en el propietario de una biblioteca compartida nueva. Debe crear la biblioteca y cualquiera de sus dependencias y compilarlas utilizando ' nzudxcompile ' antes de poder utilizar este comando para registrar la biblioteca compartida con el sistema Netezza Performance Server. La biblioteca se define como objeto en la base de datos actual.

Uso

Se proporciona el siguiente uso de muestra.
  • Para crear una biblioteca de ejemplo denominada mylib, entre:
    MYDB.SCHEMA(MYUSER)=> CREATE LIBRARY mylib AUTOMATIC LOAD EXTERNAL HOST
    OBJECT '/home/nz/libs/mylib.o_x86' EXTERNAL SPU OBJECT
    '/home/nz/libs/mylib.o_spu10';
    CREATE LIBRARY