Archivo de control del arnés de prueba
Cuando ejecuta el mandato nzudxharness, éste crea un archivo de control llamado udfname_func.harness o udaname_agg.harness. Un archivo de control es un archivo de texto que especifica los detalles del entorno de simulación y prueba.
[nz@nzhost udx]$ more customername_func.harness
udxtype: udf
objectfile:/nz/data.1.0/base/2547310/udf/2928850.oh
udxname:customername
version: 2
numenvironments:0
numreturns:1
returninfo:16:-1:-1
numarguments:1
argument:1:64000:-1
classname:CCustomerName
fenced:t
deterministic:t
nullcall:t
memory:0
logmask:0
nulls:
numdependencies:0
undefined:vtable for __cxxabiv1::__class_type_info
undefined:vtable for __cxxabiv1::__si_class_type_info
undefined:operator delete[](void*)
undefined:operator delete(void*)
undefined:operator new(unsigned int)
undefined:__cxa_pure_virtual
undefined:__gxx_personality_v0
undefined:free
undefined:memcmp
undefined:sprintf
undefined:strcmp
undefined:strdup
undefined:throwError
inputdelim:,
inputquote: true
hexinput: false
printoutput: none
numrows: 100
validate: true
[nz@nzhost udx]$ udxharness -f customername_func.harness -f
penmaxv2_agg.harness -k /nz/kitEste mandato de ejemplo ejecuta la UDF customername y el UDA PenMax en el mismo entorno de prueba para evaluar el efecto en el sistema.
La tabla siguiente describe los parámetros del archivo de control del arnés.
| Parámetro | Descripción |
|---|---|
| Opciones comunes para UDF, UDA y UDTF | |
| udxtype: tipo | Especifica el tipo de UDX. El tipo debe ser udf, uda o udtf. Este parámetro debe ser el primero en el archivo de control. |
| numarguments: núm | Especifica el número de argumentos para el UDX. Debe ir seguido inmediatamente después por los argumentos. Debe especificar exactamente núm argumentos. |
| argumento: info | Especifica uno de los argumentos al que hace referencia el núm. El formato del valor info es type:typmod:scale.
|
| classname: clase | Especifica la clase C++ para el UDX. Este parámetro es necesario. |
| fichero de datos: fichero | Especifica el archivo de datos de entrada. |
| numdependencies: núm | Especifica el número de dependencias de biblioteca para el UDX. Debe ir seguido inmediatamente después por las dependencias. Debe especificar exactamente núm dependencias. |
| dependency: info_biblio | Especifica una dependencia de biblioteca para el UDX. Debe especificar las bibliotecas en el orden correcto; es decir, las bibliotecas que dependen de otras bibliotecas deben listarse después de las bibliotecas de las que dependen. El formato del valor info_biblio es auto,archivo,nombre.
No se permiten espacios antes o después de las comas, a menos que sean parte del archivo o nombre. |
| vallado: valor | Especifica si el UDX se ejecuta en modalidad protegida o no protegida. Puede especificar un valor booleano como true, t, on, yes, y o 1 para ejecutar el UDX en modalidad protegida. Especifique un valor de false, f, off, no, n o 0 para ejecutar el UDX en modalidad no protegida. |
| shaper: valor | Especifica si el UDX llama a un medidor o modelador. El valor predeterminado es false (no llama a un medidor/modelador). Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| hexinput: valor | Especifica si los datos del archivo de entrada están en formato hexadecimal. El valor predeterminado es false (no en formato hex). Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| inputdelim: delim | Especifica el delimitador para el archivo de entrada. El valor predeterminado es coma. |
| inputescape: escape | Especifica el carácter de escape para el archivo de entrada. El valor predeterminado no es un carácter de escape. |
| inputquote: valor | Especifica si los datos de serie del archivo de entrada están entrecomillados. El valor predeterminado es false (no entrecomillado). Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| logmask: máscara | Especifica la máscara de registro para el UDX. Los valores válidos son 1 para TRACE, 2 para DEBUG, 3 para DEBUG y TRACE o 0 para NONE. El valor predeterminado es 0. |
| memoria: mem | Especifica la memoria máxima para el UDX. El valor del tamaño puede ser un valor vacío o un valor en forma de un número y las letras b (bytes), k (kilobytes), m (megabytes) o g (gigabytes). El valor predeterminado es 0. |
| nulls: columnas | Especifica las columnas que serán null aleatoriamente cuando se utilizan los datos de prueba generados aleatoriamente (no se ha especificado el archivo de datos de entrada). El valor columnas es una lista separada por comas de números de columna. Los números de columna empiezan en 1. |
| numreturns: núm | Especifica el número columnas de retorno para el UDX. El valor es 1 para UDF y UDA, pero puede ser 1 o más para las UDTF. Debe ir seguida inmediatamente de la información de retorno. Debe especificar exactamente num valores de retorno. Este parámetro es necesario. |
| información de devolución: información | Especifica la información de retorno. El valor info tiene la forma ' type:typmod:scale:name.
|
| numrows: núm | Especifica el número de filas generadas aleatoriamente que se van a producir para la prueba. Esta opción se utiliza únicamente cuando no especifica un archivo de datos de entrada. El valor predeterminado es 100. |
| objectfile: archivo | Especifica el archivo de objeto de UDX del host. Este valor es obligatorio. |
| printoutput: tipo | Especifica cómo imprimir la salida del UDX. Los valores posibles son normal, hex o ninguno. Normal imprime la salida esperada normalmente; hex imprime series en su representación hexadecimal en lugar de la representación de serie; ninguno no imprime ninguna salida. El valor predeterminado es ninguno. |
| validar: valor | Especifica si validar los resultados para desbordamientos del almacenamiento intermedio, que añade tiempo de ejecución. El valor predeterminado es Verdadero. Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| udxname: nombre | Especifica el nombre de un UDX como registrado en la base de datos. Este valor es obligatorio. |
| undefined: símbolo | Especifica el símbolo no definido de un archivo de objeto. Pueden ser 0 o más símbolos. El programa lo imprime únicamente para mostrar problemas como referencias potencialmente no resueltas. Este parámetro no es obligatorio. |
| versión: ver | Especifica la versión de API del UDX. El valor ver puede ser 1 o 2. El valor predeterminado es 1. |
| Opciones específicas para los UDA | |
| columnorder: columna | Especifica la columna que se va a utilizar para la agrupación cuando se ejecute un agregado. El parámetro desencadena la llamada de InitializeState cuando cambia el grupo. La columna es un número basado en 1 que especifica la posición en el archivo de datos. Este parámetro es necesario si especifica un archivo de entrada de datos. |
| grupos: num | Especifica el número de grupos a simular cuando se utilizan datos aleatorios en lugar de un archivo de entrada de datos. El valor predeterminado es 5. |
| numstate: núm | Especifica el número de valores de estado para el UDA. Debe ir seguido inmediatamente después por los estados. Debe especificar exactamente núm estados. Este parámetro es necesario. |
| estado: info | Especifica los valores de estado para el UDA. El formato del campo info es type:typmod:scale.
|
| Opciones específicas para las UDTF | |
| determinista: valor | Especifica si la UDF es determinista. El valor predeterminado es Verdadero. Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| nullcall: valor | Especifica si se llama a la UDF cuando uno de los argumentos es null. El valor predeterminado es false. Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| Parámetros específicos de las UDTF | |
| lastcall: valor | Especifica si se llama a la UDTF después de la última fila de entrada. El valor predeterminado es false. Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. |
| Opciones específicas del UDX versión 2 | |
| numenvironments: núm | Especifica el número de valores de entorno para el UDX. Debe ir seguido inmediatamente después por el valor de entorno. Debe especificar exactamente núm variables. |
| entorno: info | Especifica la entrada de entorno para el UDX. El formato del valor info es nombre, valor.
|
| cerrar: valor | Especifica si el arnés de pruebas invoca la función de biblioteca C ' dlclose() para cerrar referencias a bibliotecas compartidas UNIX que se pusieron a disposición con ' dlopen(). Especifique un valor booleano como true, t, on, yes, y o 1; o false, f, off, no, n o 0. El valor por defecto es true para llamar a ' dlclose(). Si va a ejecutar el arnés de prueba dentro de la herramienta de depuración como valgrind o callgrind, especifique en false para que el arnés no invoque dlclose() automáticamente. Esto le permite acceder a los nombres de símbolo y a otros valores que pueden ser útiles para la depuración, pero puede que no estén disponibles después de llamar a dlclose(). (Para obtener más información sobre el entorno de depuración valgrind, consulte http://valgrind.org.) |