<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap:break-word"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Hey everyone,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">So I’m currently working on a pure Swift Postgres driver. It has no dependency on libpq at all. I’m parsing the Postgres Wire Protocol (V3) myself and everything seems great. Here are some problems/issues I’m facing that db driver implementers like myself (don’t shoot me this is my first shot at a db driver ;) ) would like to see resolved by this swift server group or we could use some guidance on:</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">1. A standard socket api, there are a few right now. Currently I’m using IBM’s BlueSocket but really we just need one socket api that works cross platform. From the blog post it seems like that falls under this groups umbrella/objectives</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">2. A lil more guidance around timestamps + time zones. These are super important for decent compliant swift db drivers. Can we rely on Foundation NSDate and timezones to work well cross platform without issues here? </div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">3. A standard lightweight crypto library to handle authentication. This is something all database driver authors will have to deal with (MD5 hashing etc). During the summer I had been switching between a few libraries but would be great to have this unified, cross platform support for this. Again I think this falls under the umbrella of this organization.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">4. Coming from a diverse backend/server background, I’ve seen different lang+environments handle sql interfaces differently. Most have left it up to third party frameworks/ecosystems (ruby/node/python) but some like Golang provide at least a default SQL interface that driver authors can adapt to. I’m starting to lean towards the latter of the two but I’m by no means and expert on anything :). This probably needs more community engagement/proposal.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">In short, for me at least, these 4 points would be great to be addressed (the 4th one perhaps is debatable and not as urgent), for database driver authors would greatly help a lot. Pretty much every server side swift framework right now has their own ORM-ish libs/frameworks. That’s awesome! My hope is we can start writing some of the drivers in pure Swift and help all those frameworks/libs get better too.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Just my 2 cents. Perhaps this deserves a thread of its own. Perhaps it doesn’t. I apologize in advance if this is distracting from the current thread :)</div> <br> <div id="bloop_sign_1477423356079941888" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>Haris Amin<br>Sent with Airmail</div></div> <br><p class="airmail_on">On October 25, 2016 at 3:21:07 PM, Paulo Faria via swift-server-dev (<a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>Hello, Helge.<br><br>Yes, most of the things we’ll cover are already provided by some frameworks, but having an official library joining efforts will be great for the community. We’ll provide full-fledged Swift libraries for the topics mentioned. How they’re going to be developed it’s still to be decided.<br><br>Cheers,<br>Paulo<br><br>> On Oct 25, 2016, at 4:56 PM, Helge Heß via swift-server-dev <<a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a>> wrote:<br>> <br>> Hi Chris,<br>> <br>> it is a little unclear what the scope of the group is. Presumably you have some very specific things in mind?<br>> <br>> Of course we’ve seen <a href="https://swift.org/server-apis/#focus-areas">https://swift.org/server-apis/#focus-areas</a>. But what does it actually mean? :-) Looking at it:<br>> - base networking: TCP/UDP, DNS. Covered already by libdispatch and the OS’ses?<br>> - security: OpenSSL? or some wrapper around both, CC and OpenSSL?<br>> - provide low level HTTP parsing: http_parser? Is anyone using something<br>> else?<br>> All that seems kinda covered/standard already? Unless maybe you include non-Unix stuff like Windows.<br>> <br>> Is this primarily for things like providing a standardised ’swiftier' OpenSSL wrapper (similar to how Objective-GCD wraps libdispatch)?<br>> Or would that just be module maps which are shipped by default with Swift and hence can be relied on by all frameworks?<br>> <br>> But maybe I’m just a little too impatient :-><br>> <br>> hh<br>> <br>>> On 25 Oct 2016, at 20:41, Chris Bailey via swift-server-dev <<a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a>> wrote:<br>>> <br>>> Hi Ron: <br>>> <br>>> As you say, that's outside of the scope of the work group, however I do think its a valuable area that the various existing web framework groups might be interested in collaborating on. Having a common, recognized framework that the database providers or third parties would be interested in writing database drivers for would be a huge step forward. <br>>> <br>>> I know that Vapor has its Fluent ORM framework, and that its an area that the Kitura team are looking at as well, so your post might kick-start some wider discussion. <br>>> <br>>> Chris<br>>> <br>>> <br>>> <br>>> <br>>> From: Ron Olson via swift-server-dev <<a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a>> <br>>> To: <a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a> <br>>> Date: 25/10/2016 18:54 <br>>> Subject: [swift-server-dev] Database API/Framework <br>>> Sent by: <a href="mailto:swift-server-dev-bounces@swift.org">swift-server-dev-bounces@swift.org</a> <br>>> <br>>> <br>>> <br>>> Hi all-<br>>> <br>>> I've been working with Swift more on Linux than macOS and am very <br>>> excited to see the formation of this group. Looking at the server api <br>>> workgroup's focus, I notice it's primarily low-level interaction with <br>>> the operating system. When might it be a good time to bring up the <br>>> possibility of creating a database-specific framework for those folks <br>>> who want to work directly with Postgres, MySQL, even DB2 and Oracle; I'm <br>>> thinking a JDBC-inspired framework that drivers could be written <br>>> against.<br>>> <br>>> Thanks,<br>>> <br>>> Ron<br>>> _______________________________________________<br>>> swift-server-dev mailing list<br>>> <a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a><br>>> <a href="https://lists.swift.org/mailman/listinfo/swift-server-dev">https://lists.swift.org/mailman/listinfo/swift-server-dev</a><br>>> <br>>> <br>>> _______________________________________________<br>>> swift-server-dev mailing list<br>>> <a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a><br>>> <a href="https://lists.swift.org/mailman/listinfo/swift-server-dev">https://lists.swift.org/mailman/listinfo/swift-server-dev</a><br>> <br>> _______________________________________________<br>> swift-server-dev mailing list<br>> <a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a><br>> <a href="https://lists.swift.org/mailman/listinfo/swift-server-dev">https://lists.swift.org/mailman/listinfo/swift-server-dev</a><br><br><br>_______________________________________________<br>swift-server-dev mailing list<br><a href="mailto:swift-server-dev@swift.org">swift-server-dev@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-server-dev">https://lists.swift.org/mailman/listinfo/swift-server-dev</a><br></div></div></span></blockquote></body></html>