mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Replace old PostODBC driver with new one...
This one is based on an older PostODBC driver, rewritten and maintained by InsightDist(?)
This commit is contained in:
120
src/interfaces/odbc/psqlodbc.h
Normal file
120
src/interfaces/odbc/psqlodbc.h
Normal file
@ -0,0 +1,120 @@
|
||||
|
||||
/* File: psqlodbc.h
|
||||
*
|
||||
* Description: This file contains defines and declarations that are related to
|
||||
* the entire driver.
|
||||
*
|
||||
* Comments: See "notice.txt" for copyright and license information.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __PSQLODBC_H__
|
||||
#define __PSQLODBC_H__
|
||||
|
||||
#define Int4 int
|
||||
#define UInt4 unsigned int
|
||||
#define Int2 short
|
||||
#define UInt2 unsigned short
|
||||
|
||||
typedef UInt4 Oid;
|
||||
|
||||
|
||||
/* Limits */
|
||||
#define MAX_MESSAGE_LEN 8192
|
||||
#define MAX_CONNECT_STRING 4096
|
||||
#define ERROR_MSG_LENGTH 4096
|
||||
#define FETCH_MAX 100 /* default number of rows to cache for declare/fetch */
|
||||
#define SOCK_BUFFER_SIZE 4096 /* default socket buffer size */
|
||||
#define MAX_CONNECTIONS 128 /* conns per environment (arbitrary) */
|
||||
#define MAX_FIELDS 512
|
||||
#define BYTELEN 8
|
||||
#define VARHDRSZ sizeof(Int4)
|
||||
|
||||
/* Registry length limits */
|
||||
#define LARGE_REGISTRY_LEN 4096 /* used for special cases */
|
||||
#define MEDIUM_REGISTRY_LEN 128 /* normal size for user,database,etc. */
|
||||
#define SMALL_REGISTRY_LEN 10 /* for 1/0 settings */
|
||||
|
||||
|
||||
/* Connection Defaults */
|
||||
#define DEFAULT_PORT "5432"
|
||||
#define DEFAULT_READONLY "1"
|
||||
|
||||
/* These prefixes denote system tables */
|
||||
#define INSIGHT_SYS_PREFIX "dd_"
|
||||
#define POSTGRES_SYS_PREFIX "pg_"
|
||||
#define KEYS_TABLE "dd_fkey"
|
||||
|
||||
/* Info limits */
|
||||
#define MAX_INFO_STRING 128
|
||||
#define MAX_KEYPARTS 20
|
||||
#define MAX_KEYLEN 512 // max key of the form "date+outlet+invoice"
|
||||
#define MAX_STATEMENT_LEN MAX_MESSAGE_LEN
|
||||
|
||||
/* Driver stuff */
|
||||
#define DRIVERNAME "PostgreSQL ODBC"
|
||||
#define DBMS_NAME "PostgreSQL"
|
||||
#define DBMS_VERSION "06.30.0000 PostgreSQL 6.3"
|
||||
#define POSTGRESDRIVERVERSION "06.30.0000"
|
||||
#define DRIVER_FILE_NAME "PSQLODBC.DLL"
|
||||
|
||||
|
||||
#define PG62 "6.2" /* "Protocol" key setting to force Postgres 6.2 */
|
||||
|
||||
/* INI File Stuff */
|
||||
#define ODBC_INI "ODBC.INI" /* ODBC initialization file */
|
||||
#define ODBCINST_INI "ODBCINST.INI" /* ODBC Installation file */
|
||||
|
||||
#define INI_DSN DBMS_NAME /* Name of default Datasource in ini file (not used?) */
|
||||
#define INI_KDESC "Description" /* Data source description */
|
||||
#define INI_SERVER "Servername" /* Name of Server running the Postgres service */
|
||||
#define INI_PORT "Port" /* Port on which the Postmaster is listening */
|
||||
#define INI_DATABASE "Database" /* Database Name */
|
||||
#define INI_USER "Username" /* Default User Name */
|
||||
#define INI_PASSWORD "Password" /* Default Password */
|
||||
#define INI_DEBUG "Debug" /* Debug flag */
|
||||
#define INI_FETCH "Fetch" /* Fetch Max Count */
|
||||
#define INI_SOCKET "Socket" /* Socket buffer size */
|
||||
#define INI_READONLY "ReadOnly" /* Database is read only */
|
||||
#define INI_COMMLOG "CommLog" /* Communication to backend logging */
|
||||
#define INI_PROTOCOL "Protocol" /* What protocol (6.2) */
|
||||
#define INI_OPTIMIZER "Optimizer" /* Use backend genetic optimizer */
|
||||
#define INI_CONNSETTINGS "ConnSettings" /* Anything to send to backend on successful connection */
|
||||
|
||||
|
||||
typedef struct ConnectionClass_ ConnectionClass;
|
||||
typedef struct StatementClass_ StatementClass;
|
||||
typedef struct QResultClass_ QResultClass;
|
||||
typedef struct SocketClass_ SocketClass;
|
||||
typedef struct BindInfoClass_ BindInfoClass;
|
||||
typedef struct ParameterInfoClass_ ParameterInfoClass;
|
||||
typedef struct ColumnInfoClass_ ColumnInfoClass;
|
||||
typedef struct TupleListClass_ TupleListClass;
|
||||
typedef struct EnvironmentClass_ EnvironmentClass;
|
||||
typedef struct TupleNode_ TupleNode;
|
||||
typedef struct TupleField_ TupleField;
|
||||
|
||||
|
||||
typedef struct GlobalValues_
|
||||
{
|
||||
int fetch_max;
|
||||
int socket_buffersize;
|
||||
int debug;
|
||||
int commlog;
|
||||
char optimizer[MEDIUM_REGISTRY_LEN];
|
||||
char conn_settings[LARGE_REGISTRY_LEN];
|
||||
} GLOBAL_VALUES;
|
||||
|
||||
|
||||
/* sizes */
|
||||
#define TEXT_FIELD_SIZE 4094 /* size of text fields (not including null term) */
|
||||
#define MAX_VARCHAR_SIZE 254 /* maximum size of a varchar (not including null term) */
|
||||
|
||||
|
||||
/* global prototypes */
|
||||
void updateGlobals(void);
|
||||
|
||||
|
||||
#include "misc.h"
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user