~/talk

Building a MySQL Database Driver in Elixir

Talkat Code BEAM Lite India 2019 · on Thursday, 2019-11-14· [databases]
links:none on file
slides:none on file

Shows how a working Elixir prototype driver parses executables, PNGs and the MySQL initial handshake packet using binary pattern matching, and talks to servers over gen_tcp. Implements MySQL packet framing, builds and sends the handshake response, decodes OK/EOF packets, and plugs into the DBConnection behavior for pooling and retries. Claims a readable production-grade MySQL driver stays under ~5,000 lines (far smaller than many language ports) and that a useful prototype can be assembled in hours, which the presenter demonstrates.

AI-written summary · about

  1. 0:00Introduction
  2. 2:08Alan Ecosystem Foundation
  3. 2:47Elixir Pattern Matching
  4. 3:59Elixir Miner
  5. 5:15Pattern Matching
  6. 6:13Types
  7. 6:50Modifiers
  8. 7:26PNG
  9. 8:28PNG signature
  10. 9:36Executables
  11. 11:41Version
  12. 12:18AB Version
  13. 13:23Conversion
  14. 14:17Read Else
  15. 16:14Socket API
  16. 17:36Overview
  17. 18:48Example
  18. 22:07Generic vs Specific
  19. 24:23Gen Server
  20. 24:45Stack
  21. 28:45Flow Diagram
  22. 29:30Connection Packet
  23. 30:16Connection Version
  24. 30:44Parse Version
  25. 32:19Response Packet
  26. 34:29Integer
  27. 35:13Datatypes
  28. 36:21Capabilities
  29. 38:12Client Protocol 41
  30. 39:28Packets
  31. 40:40DV Connections
  32. 43:24Connect API
  33. 45:54API
  34. 47:41Book
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.