CREARE [O SOSTITUIRE] LA BIBLIOTECA
Usate il comando CREATE [OR REPLACE] LIBRARY per creare una libreria condivisa definita dall'utente. Una volta aggiunta al database, la libreria è immediatamente disponibile per l'uso da parte di un UDX.
Non è possibile modificare il nome della libreria con questo comando. Per cambiare il nome di una libreria, è necessario abbandonarla e creare una libreria con il nuovo nome.
Sintesi
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' ]
Input
| Immissione | Descrizione |
|---|---|
| Nome libreria | Il nome della libreria che si desidera creare o sostituire. Il nome deve essere unico all'interno del database corrente. È necessario essere connessi al database in cui è definita la libreria. Non è possibile modificare il nome utilizzando il comando CREATE OR REPLACE LIBRARY. Per i sistemi che supportano più schemi, è possibile specificare un nome nel formato schema.library per creare una libreria in uno schema diverso da quello del database corrente. Non è possibile creare una libreria in un altro database. |
| [CARICO AUTOMATICO | CARICO MANUALE] | Il caricamento automatico specifica che il sistema apre automaticamente la libreria prima che vengano utilizzati gli oggetti che dipendono da essa. Carico manuale specifica che l'UDX è responsabile dell'apertura e della chiusura delle librerie di carico manuale quando sono necessarie. |
| Dipendenze deplibs | Specifica un elenco opzionale di dipendenze di librerie condivise definite dall'utente per l'UDX. È possibile specificare uno o un elenco separato da virgole di nomi di librerie. |
| NESSUNA DIPENDENZA | Specifica che non ci sono dipendenze per l'UDX, che è l'impostazione predefinita se DEPENDENCIES deplibs è omesso. Si può usare questa opzione per cancellare qualsiasi dipendenza precedente dichiarata per l'UDX. |
| OGGETTO HOST ESTERNO'nome_oggetto_ospite' | Specifica il nome del percorso del file oggetto host compilato della libreria condivisa. |
| OGGETTO SPU ESTERNO'SPU_object_filename' | Specifica il nome del percorso del file oggetto compilato della libreria condivisa per l'ambiente Linux® SPU. Specificare l'oggetto compilato spu10 per le SPU Rev10 sui modelli IBM® Netezza® 100 e Netezza 100. |
Output
| Emissione | Descrizione |
|---|---|
| CREATE LIBRARY | Il messaggio che viene restituito se il comando ha successo. |
| ERROR: Object with name 'libname' already exists | Il messaggio che viene restituito se si utilizza il comando CREATE LIBRARY per un nome di libreria esistente. Usare CREATE OR REPLACE o specificare un nome di libreria univoco. |
| ERROR: lookupLibrary: library libname does not exist | Il messaggio che il sistema restituisce se la libreria condivisa specificata non esiste nel database corrente. |
| ERROR: Unable to calculate cksum for file filename | Il messaggio che viene restituito se il nome del percorso del file oggetto non può essere risolto in un file. |
Descrizione
La libreria condivisa definita dall'utente viene creata nel database corrente. Non è possibile sostituire una libreria definita dall'utente in uso in una query attiva. Al termine della transazione di query attiva, il sistema Netezza Performance Server elabora il comando CREATE OR REPLACE LIBRARY per sostituire la libreria.
Privilegi richiesti
È necessario essere l'utente amministratore del database, possedere il database corrente o lo schema corrente nei sistemi che supportano più schemi. Gli altri utenti devono avere il privilegio di creare una libreria per usare il comando CREA LIBRERIA. Inoltre, se si usa CREATE OR REPLACE LIBRARY per modificare una UDF, è necessario avere i privilegi di Create Library e Alter per la libreria per modificarla.
Attività comuni
È possibile utilizzare il comando CREATE [OR REPLACE] LIBRARY per creare e diventare proprietario di una nuova libreria condivisa. È necessario creare la libreria e tutte le sue dipendenze e compilarle utilizzando 'nzudxcompile prima di poter utilizzare questo comando per registrare la libreria condivisa con il sistema Netezza Performance Server. La libreria è definita come un oggetto nel database corrente.
Utilizzo
- Per creare una libreria di esempio denominata mylib, inserire:
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