Skip to main content

Ingres client side debugging tools (printqry,printtrace)

Very useful debugging tools in the form of environmental variables that can make the developer's life much easier.
They can be set inside the user's profile for persistence or in a shell prompt for temporary operation.
The former is more useful to the developer since he can watch the code running behind his forms and the latter for help-desk operation (when a user calls and complains that something went wrong and you can replicate his actions remotely, activate the directives so you can check in what part of the code the problem arose)

II_EMBED_SET='printqry'; export II_EMBED_SET
produces a file called 'iiprtqry.log' which contains info such as :
Query text:
define query (yl0201p)  
is select end_p as end_p, end_par as end
_par, end_or as end_or, end_ak as end_ak,
end_ekt as end_ekt,
d_ekd as d_ekd, c_pr as c_pr
from hyl 
where c_en= $0='Î¥04'
and last_year= $1=?  and last_aa= $2=10
Query Send Time:       Fri Oct 10 13:12:05 2008
Query Response Time:   Fri Oct 10 13:12:05 2008
Response CPU Time:     130
Qry End CPU Time:      130
II_EMBED_SET='printtrace 1';export II_EMBED_SET
ING_SET='set printqry';export ING_SET
produces a file called 'iiprttrc.log' which contains info such as :
QUERY PARAMETERS:
-------------------------------------------------------------------
QUERY BUFFER:
define query  ~Q  is select end_p as end_p,
end_par as end_par, end_or as end_or,
end_ak as end_ak, end_ekt as end_ekt,
d_ekd as d_ekd, c_pr as c_pr 
from hyl
where c_en= $0= ~V  
and last_year= $1= ~V  
and last_aa= $2= ~V

QUERY PARAMETERS:
Parameter : 0
13192
Parameter : 1
15546
Parameter : 2
'yl0201p                                                      '
Parameter : 3
'Î¥04'
Parameter : 4
dn_status = 1d  dn_highday = 0  dn_time = 0

dn_year = 2008  dn_month = 1    dn_lowday = 1
Parameter : 5
10
-------------------------------------------------------------------
-------------------------------------------------------------------
Execute <1088 .="" yl0201p=""> Statement
'Î¥04'
'Î¥04'
dn_status = 1d  dn_highday = 0  dn_time = 0
dn_year = 2008  dn_month = 1    dn_lowday = 1
dn_status = 1d  dn_highday = 0  dn_time = 0
dn_year = 2008  dn_month = 1    dn_lowday = 1
10
10
-------------------------------------------------------------------
QUERY BUFFER:
commit


'printqry' cannot display date, as seen by last_year which is not interpolated there.
But 'printtrace' can, as seen in the
Parameter : 4 section

My personal experience using them is that they save loads of time debugging both in developing and help-desk support

Comments

Popular posts from this blog

Spatial Data Management For GIS and Data Scientists

  Videos of the lectures taught in Fall 2023 at the University of Tennessee are now available as a YouTube playlist. They provide a complete overview of the concepts of GeoSpatial science using Google Earth Engine, PostgresSQL GIS , DuckDB, Python and SQL. https://www.i-programmer.info/news/145-mapping-a-gis/16772-spatial-data-management-for-gis-and-data-scientists.html