[comp.databases] Ingres & Equel

spears@silver.ucs.indiana.edu (Darrell Spears) (12/01/90)

In article <1990Nov29.200606.7462@uunet!unhd> jwm775@unhd.UUCP (Jonathan W Miner) writes:
>Hello ---
>
>    Currently I am working on a project interfacing Ingres and C using
>    Equel.  I would like to be able to trap Ingres errors and handle
>    them myself, instead of getting the ugly error message.  Is there
>    a function available?
>
>    Thanks in advance.

Here is one:

#include stdio

int ims_local_err_handler();

## main (argc, argv)
## int argc;
## char *argv[];


##{
	IIseterr(ims_local_err_handler);

## }

/************************************************************************/

##int ims_local_err_handler(ims_ingerr)
##int *ims_ingerr;

##{

#define IMS_FI21CA 8650	       	/* mandatory field error */
#define IMS_FI21CB 8651
#define IMS_FI21CD 8653

    if (*ims_ingerr == IMS_FI21CA)
    {
##	message "\7Current field must have a value..."
	sleep(2);
	return(FALSE);

    }
	else
    if (*ims_ingerr == IMS_FI21CB)
    {                        
##	message "\7Current field must be a valid integer..."
	sleep(2);
	return(FALSE);

    }
     	else
	if (*ims_ingerr == IMS_FI21CD)
	{
##		message "\7Current field must a valid real number or integer..."
		sleep(2);
	 	return(FALSE);
	}
    else 
    {
	return *ims_ingerr;
    }
    
##}	/* end ims_ingerr */