Logo Search packages:      
Sourcecode: postgresql-8.4 version File versions

settings.h

/*
 * psql - the PostgreSQL interactive terminal
 *
 * Copyright (c) 2000-2009, PostgreSQL Global Development Group
 *
 * $PostgreSQL$
 */
#ifndef SETTINGS_H
#define SETTINGS_H

#include "libpq-fe.h"

#include "variables.h"
#include "print.h"

#define DEFAULT_FIELD_SEP "|"
#define DEFAULT_RECORD_SEP "\n"

#if defined(WIN32) || defined(__CYGWIN__)
#define DEFAULT_EDITOR  "notepad.exe"
#else
#define DEFAULT_EDITOR  "vi"
#endif

#define DEFAULT_PROMPT1 "%/%R%# "
#define DEFAULT_PROMPT2 "%/%R%# "
#define DEFAULT_PROMPT3 ">> "

typedef enum
{
      PSQL_ECHO_NONE,
      PSQL_ECHO_QUERIES,
      PSQL_ECHO_ALL
} PSQL_ECHO;

typedef enum
{
      PSQL_ECHO_HIDDEN_OFF,
      PSQL_ECHO_HIDDEN_ON,
      PSQL_ECHO_HIDDEN_NOEXEC
} PSQL_ECHO_HIDDEN;

typedef enum
{
      PSQL_ERROR_ROLLBACK_OFF,
      PSQL_ERROR_ROLLBACK_INTERACTIVE,
      PSQL_ERROR_ROLLBACK_ON
} PSQL_ERROR_ROLLBACK;

typedef enum
{
      hctl_none = 0,
      hctl_ignorespace = 1,
      hctl_ignoredups = 2,
      hctl_ignoreboth = hctl_ignorespace | hctl_ignoredups
} HistControl;

enum trivalue
{
      TRI_DEFAULT,
      TRI_NO,
      TRI_YES
};

typedef struct _psqlSettings
{
      PGconn         *db;                       /* connection to backend */
      int               encoding;         /* client_encoding */
      FILE     *queryFout;          /* where to send the query results */
      bool        queryFoutPipe;    /* queryFout is from a popen() */

      printQueryOpt popt;

      char     *gfname;             /* one-shot file output argument for \g */

      bool        notty;                  /* stdin or stdout is not a tty (as determined
                                                 * on startup) */
      enum trivalue getPassword;    /* prompt the user for a username and password */
      FILE     *cur_cmd_source; /* describe the status of the current main
                                                 * loop */
      bool        cur_cmd_interactive;
      int               sversion;         /* backend server version */
      const char *progname;         /* in case you renamed psql */
      char     *inputfile;          /* for error reporting */
      char     *dirname;            /* current directory for \s display */

      uint64            lineno;                 /* also for error reporting */

      bool        timing;                 /* enable timing of all queries */

      FILE     *logfile;            /* session log file handle */

      VariableSpace vars;                 /* "shell variable" repository */

      /*
       * The remaining fields are set by assign hooks associated with entries in
       * "vars".  They should not be set directly except by those hook
       * functions.
       */
      bool        autocommit;
      bool        on_error_stop;
      bool        quiet;
      bool        singleline;
      bool        singlestep;
      int               fetch_count;
      PSQL_ECHO   echo;
      PSQL_ECHO_HIDDEN echo_hidden;
      PSQL_ERROR_ROLLBACK on_error_rollback;
      HistControl histcontrol;
      const char *prompt1;
      const char *prompt2;
      const char *prompt3;
      PGVerbosity verbosity;        /* current error verbosity level */
} PsqlSettings;

extern PsqlSettings pset;


#ifndef EXIT_SUCCESS
#define EXIT_SUCCESS 0
#endif

#ifndef EXIT_FAILURE
#define EXIT_FAILURE 1
#endif

#define EXIT_BADCONN 2

#define EXIT_USER 3

#endif

Generated by  Doxygen 1.6.0   Back to index