<div dir="ltr">Hi.<div><br></div><div>Some time ago Manuel has released myproto library: <a href="https://github.com/altenwald/myproto">https://github.com/altenwald/myproto</a></div><div><br></div><div>This is an implementation of mysql server protocol.</div>
<div><br></div><div>Why does it matter?  We are speaking a lot about web and about http services, but all modern languages and frameworks like PHP or Ruby on Rails have excelent SQL connectors and ORM on top of them, but horrible HTTP clients.</div>
<div><br></div><div>No, really! HTTP is a too young thing to start support it seriously. SQL is more mature, so it is much easier to retrieve data into modern Rails app via SQL than via some REST request.</div><div><br></div>
<div><br></div><div>I know only one software that uses this approach: it is Shinx search engine that has refused from it's private protocol and now uses only mysql protocol.</div><div><br></div><div>It is a good idea, because you don't need to support clients anymore: every language in the world has mysql adapter.</div>
<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Myproto library implements this server protocol and also makes some sql parsing. Of course, I understand that writing full SQL parser will take ages, so let's say that it focuses on most trivial requests.</div>
<div><br></div><div>I had to make some fixes to myproto (including trivial fixes like buffering tcp flow, because there are no messages in tcp =), so right now Ruby on Rails 3.2 can connect to erlyvideo and request stream list, opened sessions and their history, etc.</div>
<div><br></div><div><br></div><div><br></div><div><br></div><div>My fork is <a href="https://github.com/flussonic/myproto">https://github.com/flussonic/myproto</a> but I hope that Manuel will accept it.</div><div><br></div>
<div><br></div></div>