~/talk

“A modern database interface for C++"

Talkat CppCon 2016 · 2016-09-18..09-23· [databases]
links:none on file
slides:none on file

A standards‑grade C++ database interface and a header‑only reference implementation live on GitHub, with working drivers for MySQL and SQLite and a growing test suite; it exposes row sets and polymorphic interface modes, uses shared_ptr reference types and policy templates, and supports connection pooling, type conversion, input/output binding and optional future ranges/variants support. A measured example shows array output binding cutting a 1,000‑row fetch from 203 ms to ~32 ms (100 rows) and down to single‑millisecond/microsecond ranges, and a polymorphic varargs path bloats compile output (tens of thousands of instantiations) requiring further work.

AI-written summary · about

  1. 0:00WHY DO WE CARE
  2. 1:46PREVIOUS PROPOSAL WORK
  3. 2:00THE RELATIONAL MODEL
  4. 2:58THE CLIENT STACK
  5. 7:00COMPOSABLE
  6. 8:07DIRECT VS POLY
  7. 8:40THE TYPES
  8. 10:27DUAL METHOD STYLES
  9. 11:15FLEXIBLE
  10. 12:43WHY REFERENCE TYPES?
  11. 13:56DATABASE
  12. 15:14CONNECTION STRING
  13. 16:43TRANSACTIONS & SCOPE EXIT
  14. 17:28STATEMENT
  15. 19:09APPROACHES TO ROWSET TRAVERSAL / ACCESS
  16. 19:41ITERATORS!
  17. 20:07RANGE BASED FOR
  18. 21:58ITERATOR OVERHEAD
  19. 22:45STD LIBRARY ALGORITHM EXAMPLE 1
  20. 23:55ITERATOR ISSUES
  21. 24:39RANGES!
  22. 25:26RANGE SUPPORT
  23. 26:40RANGE OPTIMIZATIONS
  24. 27:40RANGES: PASS RANGE INSTEAD OF PAIR
  25. 28:16RANGE ADAPTORS
  26. 31:58FIELD ACCESSORS
  27. 32:48MORE EFFICIENT ROW FIELD INDEXING
  28. 34:34ROW LEVEL into
  29. 35:20INTO RANGE
  30. 35:47SERIALIZATION
  31. 36:48HANDLE ACCESSORS
  32. 38:17ARRAY OUTPUT BINDING
  33. 40:42CONTIGUOUS ARRAY BINDING
  34. 41:24DETACHED ROWSETS
  35. 43:12ARRAY INPUT BINDING
  36. 43:52TYPE CONVERSION
  37. 44:23POLICIES
  38. 45:05UTILITY EXAMPLE: JOIN
  39. 47:32JOIN ALGORITHMS
  40. 48:05POLYMORPHIC INTERFACE
  41. 49:01POLY: ADDING DRIVERS
  42. 49:20REFERENCE IMPLEMENTATION TEST SUITE
  43. 49:50IMPLEMENTATION DETAILS
  44. 50:42DRIVER INTERFACE
  45. 54:58NON-BLOCKING INTERFACE
  46. 55:56REFERENCE IMPLEMENTATION ROADMAP
  47. 56:50QUESTIONS
~/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.