Mostrando las entradas con la etiqueta Opcode. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Opcode. Mostrar todas las entradas

martes, 28 de enero de 2020

Memory leaks detection - Part II


In this post we will see how to relate the memory addresses with our source code to see in which line the memory leak is occurring. In the previous post, we saw some methods to detect memory leaks, of which we will take as a basis method 3 (which uses a program that fulfills the function of testnap and also leaves us a core file to analyze with mdb).

To develop this example, I used a file (fm_inv_pol_demo_leaks.c) with functions that cause memory leaks when using the macros and functions of the BRM API. This file is part of the fm_inv_pol.so library for testing purposes.

sábado, 31 de enero de 2015

Performance: Usando el opcode PCM_OP_STEP_SEARCH

A veces cuando ejecutamos una búsqueda el resultado de la misma es de cientos o miles de registros (por ejemplo llamadas telefónicas) por lo que no es recomendable utilizar el PCM_OP_SEARCH (puede dar error en el dm_oracle por hacer que utilice toda la shared memory, o la performance decaerá) y es conveniente procesar esos registros en bloques mas pequeños, entonces utilizaremos el PCM_OP_STEP_SEARCH.

El uso del PCM_OP_STEP_SEARCH tiene 2 ventajas frente al PCM_OP_SEARCH:

domingo, 2 de noviembre de 2014

PCM_OP_SEARCH obtener campos de mas de una clase

Muchas veces cuando hacemos un search (ya sea con PCM_OP_SEARCH o PCM_OP_STEP_SEARCH) en la base de datos necesitamos obtener campos de mas de una clase, para ello utilizaremos el PIN_FLD_LINKED_OBJ (es un array) dentro del input flist.

Supongamos que dado un número de cuenta queremos obtener los productos de dicha cuenta, el status del purchased, el nombre del deal, el numero de cuenta, el login y status del servicio de esos productos. Con esto estaríamos trayendo datos de 5 clases (/account, /deal, /service, /purchased_product y /product), con eso alcanza como ejemplo.

viernes, 3 de octubre de 2014

Secuencia de base de datos desde un opcode

A veces se necesita generar números consecutivos (por ejemplo números de factura electrónica) dentro de un opcode, para lo cual se pueden utilizar las secuencias de base de datos. Para esto solamente de debe utilizar el opcode PCM_OP_SEARCH y el resultado del search será en valor devuelto por la secuencia.