dlg_specific.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:5k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /* File:            dlg_specific.h
  2.  *
  3.  * Description:     See "dlg_specific.c"
  4.  *
  5.  * Comments:        See "notice.txt" for copyright and license information.
  6.  *
  7.  */
  8. #ifndef __DLG_SPECIFIC_H__
  9. #define __DLG_SPECIFIC_H__
  10. #ifdef HAVE_CONFIG_H
  11. #include "config.h"
  12. #endif
  13. #include "psqlodbc.h"
  14. #include "connection.h"
  15. #ifdef WIN32
  16. #include  <windows.h>
  17. #include  <windowsx.h>
  18. #include  <odbcinst.h>
  19. #include "resource.h"
  20. #endif
  21. /* Unknown data type sizes */
  22. #define UNKNOWNS_AS_MAX 0
  23. #define UNKNOWNS_AS_DONTKNOW 1
  24. #define UNKNOWNS_AS_LONGEST 2
  25. /* INI File Stuff */
  26. #ifndef WIN32
  27. #define ODBC_INI        ".odbc.ini"
  28. #ifdef ODBCINST
  29. #define xstr(s)         str(s)
  30. #define str(s)          #s
  31. #define ODBCINST_INI    xstr(ODBCINST) "/odbcinst.ini"
  32. #else
  33. #define ODBCINST_INI    "/etc/odbcinst.ini"
  34. #endif
  35. #else
  36. #define ODBC_INI        "ODBC.INI"         /* ODBC initialization file */
  37. #define ODBCINST_INI    "ODBCINST.INI"      /* ODBC Installation file */
  38. #endif
  39. #define INI_DSN           DBMS_NAME         /* Name of default Datasource in ini file (not used?) */
  40. #define INI_KDESC         "Description"     /* Data source description */
  41. #define INI_SERVER        "Servername"      /* Name of Server running the Postgres service */
  42. #define INI_PORT          "Port"            /* Port on which the Postmaster is listening */ 
  43. #define INI_DATABASE      "Database"        /* Database Name */
  44. #define INI_USER          "Username"        /* Default User Name */
  45. #define INI_PASSWORD      "Password" /* Default Password */
  46. #define INI_DEBUG         "Debug" /* Debug flag */
  47. #define INI_FETCH         "Fetch" /* Fetch Max Count */
  48. #define INI_SOCKET        "Socket" /* Socket buffer size */
  49. #define INI_READONLY      "ReadOnly" /* Database is read only */
  50. #define INI_COMMLOG       "CommLog" /* Communication to backend logging */
  51. #define INI_PROTOCOL      "Protocol" /* What protocol (6.2) */
  52. #define INI_OPTIMIZER     "Optimizer" /* Use backend genetic optimizer */
  53. #define INI_KSQO          "Ksqo"            /* Keyset query optimization */
  54. #define INI_CONNSETTINGS  "ConnSettings" /* Anything to send to backend on successful connection */
  55. #define INI_UNIQUEINDEX   "UniqueIndex" /* Recognize unique indexes */
  56. #define INI_UNKNOWNSIZES  "UnknownSizes" /* How to handle unknown result set sizes */
  57. #define INI_CANCELASFREESTMT  "CancelAsFreeStmt"
  58. #define INI_USEDECLAREFETCH "UseDeclareFetch" /* Use Declare/Fetch cursors */
  59. /* More ini stuff */
  60. #define INI_TEXTASLONGVARCHAR "TextAsLongVarchar"
  61. #define INI_UNKNOWNSASLONGVARCHAR "UnknownsAsLongVarchar"
  62. #define INI_BOOLSASCHAR "BoolsAsChar"
  63. #define INI_MAXVARCHARSIZE "MaxVarcharSize"
  64. #define INI_MAXLONGVARCHARSIZE "MaxLongVarcharSize"
  65. #define INI_FAKEOIDINDEX "FakeOidIndex"
  66. #define INI_SHOWOIDCOLUMN "ShowOidColumn"
  67. #define INI_ROWVERSIONING "RowVersioning"
  68. #define INI_SHOWSYSTEMTABLES "ShowSystemTables"
  69. #define INI_LIE "Lie"
  70. #define INI_PARSE "Parse"
  71. #define INI_EXTRASYSTABLEPREFIXES "ExtraSysTablePrefixes"
  72. #define INI_TRANSLATIONNAME       "TranslationName"
  73. #define INI_TRANSLATIONDLL        "TranslationDLL"
  74. #define INI_TRANSLATIONOPTION     "TranslationOption"
  75. /* Connection Defaults */
  76. #define DEFAULT_PORT "5432"
  77. #define DEFAULT_READONLY 1
  78. #define DEFAULT_PROTOCOL "6.4" // the latest protocol is the default
  79. #define DEFAULT_USEDECLAREFETCH 0
  80. #define DEFAULT_TEXTASLONGVARCHAR 1
  81. #define DEFAULT_UNKNOWNSASLONGVARCHAR 0
  82. #define DEFAULT_BOOLSASCHAR 1
  83. #define DEFAULT_OPTIMIZER 1 // disable
  84. #define DEFAULT_KSQO 1 // on
  85. #define DEFAULT_UNIQUEINDEX 0 // dont recognize
  86. #define DEFAULT_COMMLOG 0 // dont log
  87. #define DEFAULT_DEBUG 0
  88. #define DEFAULT_UNKNOWNSIZES UNKNOWNS_AS_MAX
  89. #define DEFAULT_FAKEOIDINDEX 0
  90. #define DEFAULT_SHOWOIDCOLUMN 0
  91. #define DEFAULT_ROWVERSIONING 0
  92. #define DEFAULT_SHOWSYSTEMTABLES 0 // dont show system tables
  93. #define DEFAULT_LIE 0
  94. #define DEFAULT_PARSE 0
  95. #define DEFAULT_CANCELASFREESTMT 0
  96. #define DEFAULT_EXTRASYSTABLEPREFIXES "dd_;"
  97. /*  prototypes */
  98. void getGlobalDefaults(char *section, char *filename, char override);
  99. #ifdef WIN32
  100. void SetDlgStuff(HWND hdlg, ConnInfo *ci);
  101. void GetDlgStuff(HWND hdlg, ConnInfo *ci);
  102. int CALLBACK driver_optionsProc(HWND   hdlg,
  103.                            WORD   wMsg,
  104.                            WPARAM wParam,
  105.                            LPARAM lParam);
  106. int CALLBACK ds_optionsProc(HWND   hdlg,
  107.                            WORD   wMsg,
  108.                            WPARAM wParam,
  109.                            LPARAM lParam);
  110. #endif /* WIN32 */
  111. void updateGlobals(void);
  112. void writeDSNinfo(ConnInfo *ci);
  113. void getDSNdefaults(ConnInfo *ci);
  114. void getDSNinfo(ConnInfo *ci, char overwrite);
  115. void makeConnectString(char *connect_string, ConnInfo *ci);
  116. void copyAttributes(ConnInfo *ci, char *attribute, char *value);
  117. #endif