Postgres via odbc?

Dustin Sallings <>
Tue May 18 08:08:57 CEST 2004


On May 17, 2004, at 22:19, Shawn Pearce wrote:

> Heh, ain't that always the truth.  :-)
>
> I'm looking at building a Postgres interface for a project where
> mnesia just won't do what we really want ('cause for some dumb reason
> we really want SQL *sigh*).  A native Erlang driver appeals to me
> here because it would use less memory overall than forking out a
> UNIX port driver process to host the postgres client.
>
> If we go forward with this plan, I'd like to open source the driver,
> but its not my project that the driver would be stuck into, and its
> not my dime that would be developing it.  I'm gonna cross my fingers
> and hope that pigs are flying the day I ask for both this Erlang
> architecture AND to open source the Postgres driver we'd need to write.

	I haven't gone as far as to propose erlang in any of the parts of my  
application, but I've mentioned it a few times.  I'd need to implement  
some of our protocols and some mechanisms to get data in and out of our  
OLTP and logging databases while maintaining database independence.   
Oh, I'd need to implement a cdb interface, too (I've already done that  
for ocaml, and I could probably just dump the whole thing into mnesia  
or something).

> I'd love to know why you say it wasn't a great fit in gen_event,
> because the Postgres protocol documentation just screams "I need a
> state machine!".

	(er, gen_fsm, not gen_event, sorry)

	Possibly lack of experience.  :)

	The last thing I tried was issuing a query and actually getting the  
results back and printing them out, but I wasn't sure how to actually  
get the results back to the caller since they were coming back  
asynchronously.  You can play with it if you want, last checkin is  
here:

http://bsdboy.west.spy.net/cgi-bin/viewarch.cgi/dustin@spy.net-- 
projects-2004/snippets--erlang--1.0--patch-33/postgres.erl?cmd=text

	The other thing is that the asynchronous behavior got in my way a  
little bit where processes would come up and return and I could  
actually try to get a query in before it would authenticate and be in  
the proper state for issuing queries.

	I did get some tips on how to remedy this, but I had a more specific  
project I was working on and didn't have a large need for this.

--
SPY                      My girlfriend asked me which one I like better.
pub  1024/3CAE01D5 1994/11/03 Dustin Sallings <>
|    Key fingerprint =  87 02 57 08 02 D0 DA D6  C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________




More information about the erlang-questions mailing list