Both attempts were correctly executed during app-startup, but the ping SQL statement was never.
After upgrading to Eclipselink 2.2.0 extending the database platform is no longer an option.

Why oh why is the ping SQL statement not executed?

Tom]]>Tom Eugelink2011-09-27T14:54:02-00:00Re: pingsqlhttps://www.eclipse.org/forums/index.php/mv/msg/242811/730067/#msg_730067
This is incorrect, I can still override the getPingSQL().]]>Tom Eugelink2011-09-27T14:56:33-00:00Re: pingsqlhttps://www.eclipse.org/forums/index.php/mv/msg/242811/731973/#msg_731973
When you attempt a query on a dead connection and error will occur, EclipseLink will catch the error, execute the ping SQL, if the connection is dead it will be reconnected, it will then re-execute the query if possible.
]]>James Sutherland2011-10-03T15:16:41-00:00Re: pingsqlhttps://www.eclipse.org/forums/index.php/mv/msg/242811/731976/#msg_731976
When you attempt a query on a dead connection and error will occur, EclipseLink will catch the error, execute the ping SQL, if the connection is dead it will be reconnected, it will then re-execute the query if possible.

Tom]]>Tom Eugelink2011-10-04T14:09:43-00:00Re: pingsqlhttps://www.eclipse.org/forums/index.php/mv/msg/242811/734055/#msg_734055
The problem is that the variable pingSQL defines the value. So you need to set this value by overriding the constructor of your platform, not by overriding the method (field is used directly).

You may also want to submit your patch to the InformixPlatform to set the pingSQL.

]]>James Sutherland2011-10-06T14:32:27-00:00Re: pingsqlhttps://www.eclipse.org/forums/index.php/mv/msg/242811/734086/#msg_734086
No. I have tried two ways of setting it. Via the SessionCustomizer and by overriding the getPingSql() on the platform. In neither case the ping SQL is actually called.

>
> The problem is that the variable pingSQL defines the value. So you need to set this value by overriding the constructor of your platform, not by overriding the method (field is used directly).

I have now added a third; setting the variable in the platform's constructor.

>
> You may also want to submit your patch to the InformixPlatform to set the pingSQL.
>
>

Well, it turns out that setting the pingSQL variable in the constructor works: