iodbc interface on Unix
От | Thomas G. Lockhart |
---|---|
Тема | iodbc interface on Unix |
Дата | |
Msg-id | 35D99896.DFB21123@alumni.caltech.edu обсуждение исходный текст |
Список | pgsql-interfaces |
Hello Byron, welcome back from vacation! So, I'm working on trying to get the iodbc interface playing with ApplixWare on my Linux box. I'm using a current snapshot of the Postgres development tree, and your newest source code, which you announced yesterday. OK, so there are some minor problems in compiling for the Unix environment, most of which I've fixed or worked-around. The biggest minor problem, and easiest to fix, is that there is an #include <config.h> in most of the files. I believe that this should be changed to #include "config.h" to allow the compiler to pick up the file from the local directory. Otherwise, it is interpreted as a "system-ish" file and (with my Makefile, using many of the compiler options from the Postgres distribution) finds the config.h in the Postgres distribution instead. There is some funny-business with "HINSTANCE", but I've #define'd it to be the same as a pointer to void. As was the case a few weeks ago, I'm now able to start to initiate a connection into a database. The only additional problem there is that ApplixWare is sending a DSN keyword with a trailing blank, so I'm having to chop it off in psqlodbc to find things in the registry. At this point, I can try connecting to a database, but it doesn't seem to get past the first handshaking with Postgres on the wire. I'm guessing that the protocol may have changed for v6.4 and those changes are not in the driver I'm using? The protocol has settled down for the next release, so perhaps we could incorporate the changes into my test code. Is there a summary somewhere of what the protocol changes are? I've forgotten if it was posted in detail already... btw, I assume that you don't want me to send changes until I can show that something works :) - Tom golem> cat psqlodbc.log DSN info: DSN='PostgreSQL',server='localhost',port='5432',dbase='test',user='tgl',passwd='' readonly='',protocol='',showoid='',fakeoidindex='',showsystable='' conn_settings='' translation_dll='',translation_option='' conn = 134611472, SQLConnect(DSN='PostgreSQL', UID='tgl', PWD='no$way') Global Options: fetch=100, socket=4096, unknown_sizes=0, max_varchar_size=254, max_longvarchar_size=4094 disable_optimizer=1, unique_index=0, use_declarefetch=1 text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1 extra_systable_prefixes='dd_;', conn_settings='' conn=134611472, query=' ' golem$ /opt/postgres/current/bin/postmaster -B 1024 -i -d 3 FindExec: found "/opt/postgres/current/bin/postgres" using argv[0] binding ShmemCreate(key=52e2c1, size=8779352) /opt/postgres/current/bin/postmaster: ServerLoop: handling reading 5 /opt/postgres/current/bin/postmaster: ServerLoop: handling reading 5 /opt/postgres/current/bin/postmaster: ServerLoop: handling writing 5 /opt/postgres/current/bin/postmaster: BackendStartup: environ dump: ----------------------------------------- TERM=xterm-color HOME=/home/postgres PATH=.:/opt/postgres/current/bin:/opt/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/bin/mh SHELL=/bin/tcsh MAIL=/var/spool/mail/postgres LOGNAME=postgres HOSTTYPE=i386-linux VENDOR=intel OSTYPE=linux MACHTYPE=i386 SHLVL=1 PWD=/opt/postgres/current/src USER=postgres GROUP=postgres HOST=golem HOSTNAME=golem CVSROOT=/opt/postgres/cvs PGROOT=/opt/postgres/current PGDATA=/opt/postgres/current/data PGLIB=/opt/postgres/current/lib PGDATA2=/home/postgres/data RCSINIT=-x,v/ POSTPORT=5432 POSTID=2147483647 PG_USER=tgl IPC_KEY=5432000 ----------------------------------------- /opt/postgres/current/bin/postmaster: BackendStartup: pid 30174 user tgl db test socket 5 /opt/postgres/current/bin/postmaster child[30174]: starting with (/opt/postgres/current/bin/postgres, -p, -d3, -P5, -B, 1024, -v65536, test, ) FindExec: found "/opt/postgres/current/bin/postgres" using argv[0] ---debug info--- Quiet = f Noversion = f timings = f dates = Normal bufsize = 1024 sortmem = 512 query echo = f DatabaseName = [test] ---------------- InitPostgres().. /opt/postgres/current/bin/postmaster: reaping dead processes... /opt/postgres/current/bin/postmaster: CleanupProc: pid 30174 exited with status 0
В списке pgsql-interfaces по дате отправления: