/* See the copyright notice (COPYRIGHT) in this directory. */

/*
 * NAME
 * Public:
 *	pg_describe_object()	not started
 *	pg_what_is_object()	not started
 *	pg_describe_query()	not started
 *	pg_trace()		Done.
 *
 * DESCRIPTION
 *	This file contains Postgres-specific database functions.
 *
 * DIAGNOSTICS
 *	Functions return either GDI_SUCCESS or GDI_FAILURE.
 *
 * FILES
 *	pg_spec.c (this file)
 *
 * AUTHOR
 *	J. T. Anderson, SAIC Open Systems Division, jean@gso.saic.com
 */

#ifndef	lint
static char SccsId[] = "@(#)pg_spec.c	16.2 8/3/93 Copyright (c) 1992-1993 Science Applications International Corporation";
#endif

#include "gdi_postgres.h"

dbStatus
pg_set_date_mask (conn, new_mask)
dbConn  *conn;
char    *new_mask;
{
        fprintf(stderr, "set_date_mask: %s\n", PG_NOT_IMPLEMENTED);
        return(GDI_SUCCESS);
}

dbStatus
pg_get_date_mask (conn, mask_holder, holder_size)
dbConn          *conn;
char            *mask_holder;
int             holder_size;
{
        fprintf(stderr, "get_date_mask: %s\n", PG_NOT_IMPLEMENTED);
        return(GDI_SUCCESS);
}

/* =========================  pg_describe_object() ========================== */

dbStatus
pg_describe_object (conn, object_name, constr, results)
dbConn  *conn;
char    *object_name;
dbConstr        *constr;
dbObj   **results;
{
	fprintf(stderr, "pg_describe_object: %s\n", PG_NOT_IMPLEMENTED);
	return(GDI_SUCCESS);
}

/* =========================  pg_what_is_object() ========================== */
dbStatus
pg_what_is_object (conn, object_name, constr, results)
dbConn  *conn;
char    *object_name;
dbConstr        *constr;
dbObj   **results;
{
	fprintf(stderr, "pg_what_is_object: %s\n", PG_NOT_IMPLEMENTED);
	return(GDI_SUCCESS);
}

/* =========================  pg_describe_query() ========================== */
dbStatus
pg_describe_query (conn, query, results)
dbConn	*conn;
char	*query;
dbObj	**results;
{
	fprintf(stderr, "pg_describe_query: %s\n", PG_NOT_IMPLEMENTED);
	return (GDI_SUCCESS);
}


/* =============================  pg_trace() =============================== */
/* pg_trace()
 *
 * Turn database trace on or off.
 *
 * Public
 */
dbStatus
pg_trace (conn, mode, filename)
dbConn	*conn;
int	mode;
char	*filename;	/* only sybase uses; here for gdi compatibility */
{
	switch (mode)
	{
	case TRUE:
		if(GDI_ERROR_DEBUG(conn) == GDI_DEBUG_VERBOSE)
			fprintf(stderr, "pg_trace: Turning trace on.\n");
		PQtrace();
		break;
	case FALSE:
		if(GDI_ERROR_DEBUG(conn) == GDI_DEBUG_VERBOSE)
			fprintf(stderr, "pg_trace: Turning trace off.\n");
		PQuntrace();
		break;
	default:
		(void) gdi_error_app (conn, GDI_BADDATA, 
			"pg_trace: invalid mode");
		return (GDI_FAILURE);
	}

	return(GDI_SUCCESS);
}
