As much as I love SQL I would have thought this would have abstracted away the SQL bit of the queue and just given me high level queue methods to do stuff with. I don’t like this much for that reason.
I don't understand your comment. Abstracting away the SQL is exactly what this library does (and pretty much the only thing): Send, Receive, Delete methods.
Could you clarify?
Well your example on the website contains a Database schema and manually opens a DB connection. Why do I as a library user need to care about that? Just do that internally when creating the queue instance
From the example, it appears you still need to setup schema yourself using SQL. This makes the library a leaky abstraction because it only partially hides the SQL.