/*
 * pgsql/src/interfaces/ecpg/include/sqlda-infx-compat.h
 */

#ifndef ECPG_SQLDA_COMPAT_H
#define ECPG_SQLDA_COMPAT_H

struct sqlvar_compat
{
	short	sqltype;		/* variable type                */
	int	sqllen;			/* length in bytes              */
	char	   *sqldata;		/* pointer to data              */
	short	   *sqlind;		/* pointer to indicator         */
	char	   *sqlname;		/* variable name                */
	char	   *sqlformat;		/* reserved for future use      */
	short	sqlitype;		/* ind variable type            */
	short	sqlilen;		/* ind length in bytes          */
	char	   *sqlidata;		/* ind data pointer             */
	int	sqlxid;			/* extended id type             */
	char	   *sqltypename;	/* extended type name           */
	short	sqltypelen;		/* length of extended type name */
	short	sqlownerlen;		/* length of owner name         */
	short	sqlsourcetype;		/* source type for distinct of built-ins */
	char	   *sqlownername;	/* owner name                   */
	int	sqlsourceid;		/* extended id of source type   */

	/*
	 * sqlilongdata is new.  It supports data that exceeds the 32k
	 * limit.  sqlilen and sqlidata are for backward compatibility
	 * and they have maximum value of <32K.
	 */
	char	   *sqlilongdata;	/* for data field beyond 32K    */
	int	sqlflags;		/* for internal use only        */
	void	   *sqlreserved;	/* reserved for future use      */
};

struct sqlda_compat
{
	short		sqld;
	struct sqlvar_compat *sqlvar;
	char		desc_name[19];	/* descriptor name              */
	short		desc_occ;	/* size of sqlda structure      */
	struct sqlda_compat *desc_next;	/* pointer to next sqlda struct */
	void		   *reserved;	/* reserved for future use */
};

#endif /* ECPG_SQLDA_COMPAT_H */
