Postgresql-odbc _best_ May 2026
QLOG_LOG(LOG_INFO, "SQLMyNewFunction called"); if (!EnvironmentHandle) return SQL_INVALID_HANDLE;
entry->statement_name = strdup(name); entry->sql = strdup(sql); entry->last_used = time(NULL); entry->use_count = 1; entry->next = statement_cache; postgresql-odbc
// In prepared.c typedef struct StatementCacheEntry char *statement_name; char *sql; PGresult *prepared_result; time_t last_used; int use_count; struct StatementCacheEntry *next; StatementCacheEntry; static StatementCacheEntry *statement_cache = NULL; QLOG_LOG(LOG_INFO, "SQLMyNewFunction called"); if (
Build Environment # Clone the repository git clone https://github.com/postgres/postgresql-odbc.git cd postgresql-odbc Configure with debug options ./configure --enable-debug --enable-unicode CFLAGS="-g -O0" Build make clean make make install Testing Your Feature // Add test in test/test_feature.c void test_new_connection_parameter() SQLHDBC hdbc; SQLRETURN ret; // Test connection with new parameter ret = SQLConnect(hdbc, (SQLCHAR*)"DSN=PostgreSQL;MyNewFeature=1", SQL_NTS, NULL, 0, NULL, 0); Adding a New Connection Parameter Here's how to
I'll help you develop a feature for the PostgreSQL ODBC driver ( psqlodbc ). Since you haven't specified the exact feature, I'll provide a comprehensive guide for implementing a common feature, and you can let me know if you need something specific. 1. Adding a New Connection Parameter Here's how to add a new ODBC connection parameter:
// In connection.h typedef struct // ... existing fields char my_new_param[256]; // new parameter int my_new_feature_enabled; ConnectionInfo_; // In connection.c - parse connection string static int parse_connection_string(ConnectionInfo_ *ci, const char *conn_str) // ... existing parsing code
int cache_prepared_statement(ConnectionInfo_ *ci, const char *name, const char *sql) StatementCacheEntry *entry = malloc(sizeof(StatementCacheEntry)); if (!entry) return -1;