Skip to main content

Posts

Started works on Npgsql2

Hi all, We already started to work on Npgsql2 with support for .net 2.0 and ado.net 2.0. Josh Cooley already refactored all Npgsql classes to extend from .net 2.0 classes, like DbCommand, DbConnection and others. We hope to have a preview release soon with some long awaited features like Provider Factory support, design time in vs.net 2005 and others. Stay tuned!

Npgsql 1.0 Released!! A little bit of its history

Hi all! I'm really happy to announce that Npgsql Team has released Npgsql 1.0 final! I started to work on Npgsql 4 years ago, just after I finished my CS graduation course. What motivated me was the possibility to implement a network communication protocol and to have something done to community. I'm a big fan of OpenSource philosophy, better, I'm passionate about OpenSource and community, and realized I didn't return anything to it up to now. Besides that, I wanted to make part of it. So, I started sending a message to postgresql mailling list asking if there was something about that being worked on. I received some replies about nothing being done yet and one saying that a p/invoke based proof of concept was tested. I wanted to implement postgresql communication protocol so I started to work on it. Some time later, I sent another message talking about project launch. At that time, Dave Page, from pgAdmin, jumped the wagon and started to help me get project going. I ...

Npgsql 1.0RC3 released!

Hi all, Npgsql 1.0 RC3 is released! Download it here This release fixes some critical bugs with concurrent connection stablishment and "This stream does not support seek operation" error when sending a query. Please, have a look at release notes here for more information about there errors. We are almost finished with 1.0. We hope to have a 1.0 final really soon so we can get 100% concentration on ado.net 2.0 features.

Critical bugs fixed. RC3 is on the way...

Hi all, These past 10 days, Josh Cooley fixed and helped to fix a lot of critical bugs on Npgsql! Here are they: Josh Cooley fixed a bug when dealing with concurrent connection establishment using Npgsql RC2. When I implemented ConnectionTimeout support for connection establishment, I was incorrectly using an instance variable with a singleton object :( This was leading to some nasty problems like this . Here is the relevant stack trace: Npgsql.NpgsqlException: Operation not allowed on non-connected sockets. at Npgsql.NpgsqlClosedState.Open(NpgsqlConnector context) at Npgsql.NpgsqlConnector.Open() at Npgsql.NpgsqlConnectorPool.GetNonPooledConnector(NpgsqlConnection Connection) at Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection) at Npgsql.NpgsqlConnection.Open() Another problem, this time with async notification support, was that Npgsql wasn't handling correctly the notification message sent from server when async notification was off. This was le...

Npgsql 1.0RC2 released!

Hi all, after a lot of time, I'm finally writing here again! I had to reinstall my development box. But here are some good news: Npgsql 1.0RC2 is released!! :) There were a lot of bug fixes and some nice features added this time. Please, have a look at release notes and download it here . Please, give it a try and let me know of any problems you may have.

I'm back from 7th Forum Internacional de Software Livre

Hi all, I'm back from 7th Fórum Internacional de Software Livre em Porto Alegre. It was very good! I attended to a lot of presentations. I also could meet some Mono Brasil friends. I also met Miguel de Icaza there! He took a lot of pictures :) I'd like to thank all the organization crew for this great event and all people who went there.

Synchronous notification explained

Hi all, it seems that my coined feature name "synchronous notification" is confusing everybody. I hope to explain it better now. Synchronous notification is the name I gave to Npgsql implementation of Listen/Notify support where you (the Npgsql client) receive a notification message "synchronously" or "almost" at same time the notification is sent from server. This contrasts to what Npgsql had before: the client would just receive any notification on next iteration with server as this was when we processed the notification server sent us. One possible solution for this problem before was the client to keep "polling" the server with empty commands in order to force an interation with server and receive the notification. Now, behind the scenes, Npgsql creates a new thread which keeps polling server for you with Socket.Poll() method while client is idle. This way, as soon as notification arrives in Npgsql socket, it can promptly process notificati...