Skip to Content

ASE 15.7 ESD#4 Unix Domain Sockets

In the past few days, I have fired up a copy of ASE 15.7ESD#4  to try the new feature Unix Domain Sockets.  I found only a few notes about this feature. The CR listing is source of my information.  CR 667751 has all of the public information that I have found to date.

Here is the heart of the information.

“master afunix unused //<hostname>/<pipe>”

After many failed attempts, I realized how simple this could be.

The ASE Server creates a socket file at start-up based on the master entry in the interfaces file.

In order for this to work, the ASE dataserver must have write access to a folder.

Hmmm– $SYBASE sounds like a good choice.

I decided I wanted my socket file to be called “ASE.socket” in /sybase/ folder.

Here is an example of the master line that finally worked.

master afunix unused //mytesthost/sybase/ASE.socket

I tested the socket with isql & bcp… Both tools worked without a problem.  The feature of the new connection is to reduce the overhead associated with TCP/IP.  The results of my bcp inbound testing proved that the network layer was not my source of contention and slowness.  I expect that bcp outbound will show better results if I can get past other self-inflicted issues of my machine.

In conclusion, ASE Unix Domain Sockets works without issues when I use the ASE utilities.

Conclusion #2:

This feature is documented in the SDK manuals.

-New Features Bulletin Open Server™ 15.7 and SDK 15.7 for Windows, Linux, and UNIX

–Open Client 15.7 and Open Server 15.7 features in ESD #3

—-UNIX named sockets

You must be Logged on to comment or reply to a post.
  • Years ago, isql had the ability to attach to the shared memory segment directly if run as the user that started dataserver or as root.  I think it was taken out in the transition to v11.0. 

    Such a feature might be useful for bcp I'm thinking.  Serious security / stability issues though.

    On a side note, I would love to be able to bcp directly into the data device.  hmm.. The database being offline or quiesced of course.  It wouldn't take much to write up a (totally unsupported) tool to do so assuming an 'empty' data device.