Skip to main content

Posts

Showing posts from 2006

Initial Npgsql2 provider factory support added to cvs

UPDATE : Thomas Burkhart sent me a mail telling me that this configuration syntax doesn't work on ms.net 2.0. This is the version which works: <?xml version="1.0" encoding="iso-8859-1" ?> <configuration> <system.data> <DbProviderFactories> <add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql Server" type="Npgsql.NpgsqlFactory, Npgsql, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" /> </DbProviderFactories> </system.data> </configuration> Thomas said that "the tags are case sensitive and the must be outside any <applicationSettings>" Thank you Thomas for your feedback which, for sure will help others to get their configuration up and running. I will check with Mono guys to see why my original configuration worked. Hi all! Today I committed an initial support for...

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...

Npgsql 1.0RC1 released!

Hi all, Npgsql Development Team has just released Npgsql 1.0RC1. Please, check release notes at usual place: http://pgfoundry.org/frs/shownotes.php?release_id=529 Thanks God for making this possible. Thanks all who contributed with bug reports and feedback. You can download binaries and sources from here

Synchronous notification landed in cvs.

Hi all, I finally could get synchronous notification done. It is in cvs now. What is synchronous notification? Up to now, in order to get notifications from postgresql, Npgsql clients would need to call empty commands. If application didn't do that, only on next NpgsqlCommand.Execute* call notification would be delivered. Now with synchronous notification, client applications are notified as soon as message arrives, hence the name synchronous notification. On current code, it is disabled by default. To enable it, you have to put syncnotification=true in your connection string. How it works? When you enable synchronous notification, Npgsql will create another thread to check is data arrived in socket. To do that, it uses Socket.Poll method. When Npgsql is idle, this thread is running. It is stopped as soon as any NpgsqlCommand.Execute* method is called and resumed when this call returns. Side effects: Because of synchronization of threads, there is performance drop when using synchr...

Synchronous notification is working!!

Hi all, I finally got the synchronization problems fixed and now Npgsql supports synchronous notification! Right now the code is only on my devel machine. I will commit the code to cvs this week. I'm still doing more tests. All tests I did up to now passed ok!

Npgsql synchronous notification status...

Hi all, After recovering from my myopia surgery, I started to play with the long ago requested synchronous notification support in Npgsql. With it, you will be able to receive notifications from Postgresql server as soon as they are posted. Right now it can handle correctly the notifications, but I'm having some problems when sync'ing the notification thread. This notification thread will be checking for notifications from server with Socket.Poll calls. As soon as I got this sync problem done, I will commit it to cvs. Stay tunned.

Music genoma really exists...

Well, I think it is around for some time, but just today I had a look at Pandora site . I have to admit that I started to really believe in music genoma!! It really exists! Each new music Pandora presented to my ears was 90% close to what I like. :) I don't say 100% because there were some bad choices. But for sure this is just a matter of time and fine tunning. I just listened to 8 songs. Pandora is really an excellent way of getting personal playlists. If you don't know it yet, give it a try: www.pandora.com

Eu também falo Português do Brasil :)

Olá pessoal, Alguns colegas meus me perguntaram porque o meu blog estava todo em inglês. Eu falei para eles que era apenas uma questão de audiência. No entanto o fato de eu escrever em Inglês não impede que os meus amigos deixem comentários em Português. Podem escrever à vontade! :) Valeu pelo apoio e por me chamar a atenção para esse fato. Até a próxima!

I see "almost crystal clear" people!

Hi all, Today I'm getting back to work. Finally! Myopia surgery seems to went ok. But I'm still seeing some blur and I hope it goes away on next weeks :) Now I will, little by little, start to answer emails and keep updates to Npgsql project which has some bugs and patches pending :) I'd like to thank God, in first place, for allowing me to be back. Also, I'd like to thank Dr. Antônio Márcio who did the surgery. And thank you to all my friends and co-workers who gave me a big support on all this.

Npgsql 1.0beta2 released!

Hi all, after some delay, finally I could release Npgsql 1.0beta2. This release has a lot of bug fixes and features a huge performance improvement, thanks Hubert Fongarnand and Bryan Mayland who sent a lot of optimizations to Npgsql. Also, on this release, for the first time we release assemblies for .net 2.0, mono and ms implementations. You can download it from Npgsql homepage Please, give it a try and let me know if you have any problems with it. Thanks God for allowing me to make this happen. Thanks all who helped with patches and feedbacks.