The Legend of Data::Query - a LINQ's awakening
By Matt S Trout (mst) from northwestengland.pm, dahut.pm, drinkers.pm, lgbt.pm
Date: Wednesday, 17 August 2011 12:30
Duration: 40 minutes
Target audience: Intermediate
Language:
Tags: class database db dbix linq orm sql
Many years ago, an object database called Tangram was created, and
fascinatingly its query syntax was ... just Perl. Until you got to certain
edge cases *sweep sweep sweep* just ignore the bulge under the carpet, ok?
Slightly fewer years ago, I began a massive refactor/rebase of Class::DBI
that accidentally resulted in an ORM called DBIx::Class. Now hopefully one
of the most powerful SQL metaprogramming tools on the planet, I've grown
more and more irritated over time that its data structure based query
interface was neither SQLish nor particularly perlish.
My first glimpse of LINQ in C# revealed that not only were ideas I'd been
mooting for some time feasible but that they could be done in a language
noticeably less dynamic than Perl. And that therefore it was my duty to take
the good parts of the solutions they'd already come up with and blatantly
steal them.
Data::Query is the discharging of that duty. And I hope you're all going
to fall in love with it as much as I already have.
- Nicholas Clark
- Gianni Ceccarelli (dakkar)
- Laurent Dami (dami)
- Léon Brocard (acme)
- Leo Lapworth (Ranguard)
- Dave Cross (davorg)
- Dagfinn Ilmari Mannsåker (ilmari)
- Tom Hukins
- Smylers
- Stefan Seifert (Nine)
- Paul van Eldijk (Pavel)
- Dmitry Karasik (McFist)
- Claes Jakobsson (claes)
- Jesse Vincent
- Gertraud Unterreitmeier (Gertraud)
- Markus Pinkert (Bedivere)
- Trond Michelsen (trondmm)
- Chisel Wright
- Jörg Plate (Patterner)
- Florian Ragwitz (rafl)
- Bartosz Jakubski (migo)
- Lisa Hansen (iamlgh)
- Martin Kjeldsen (baest)
- Markus Förster
- Francoise Dehinbo
- Alexander Hartmaier (abraxxa)
- Patrick Michaud (Pm)
- Anders Nielsen (anielsen)
- Lars Holgaard
- Jan Henning Thorsen (batman)
- Michael Lang (langmic)
- Mark Keating (mdk)
- Ben Thomas (ozukira)
- Steffen Schwigon (renormalist)
- David Faux
- Ulrich Wisser (wisser)
- Dietrich Raisin
- Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 (daxim)
- Michael Jemmeson (michael)
- Zbigniew Lukasiak (zby)
- Jose Neta (netp)
- Uwe Voelker (Perl-Uwe.com)
- Christoph Otto (cotto)
- Felix Antonius Wilhelm Ostmann (Sadrak)
- Jason Tang (jason)
- Mårten Svantesson
- rosario colletti (rosariocolletti)
- Anatoliy Dmytriyev (tolid)
- Aliaksandr Zahatski (zag)
- Peter Shangov (pshangov)
- marc chantreux (eiro)
- Peter Rabbitson (ribasushi)
- Leon Timmermans (leont)
- Fernando Vezzosi (Bucciarati)
- Daniel Blom
- roger blom
- Matthias Zeichmann
- Magnus Zeisig (magnuz)
- Jordi Raimon Subirats
- Quim Rovira (MET)
- Carlos Juan Diaz (cjuan)
- Oskari Ojala (Okko)
- Gabi Hack (gabimuc)
- Andrew Solomon
- Tomasz Czepiel (tjmc)
- Adam Taylor (adam-_-)
- Torsten Raudssus (Getty)
- Mallory van Achterberg (StommePoes)
- Andreas Vögele
- Marko Kind
- Valentin Guillois
- Alex Timoshenko
- Silvano Luciani
- Ben Tisdall (bentis)
- Alexander Orlovsky (nordicdyno)
- Chad Davis (chadadavis)
- Gunnar Koppel (wk)
- Grzegorz Dzięgielewski (Jabbas)
- Lukáš Rampa
- Łukasz Siemiradzki (plluksie)
- Patrick Mevzek
- Nikolay Mishin (mishin)
- Teemu Nuutinen
- Sergei Kirjanov
- Noah Kogler
- Andrew Jones
- Karsten Silkenbaeumer (ksi)
- Marc Jakobs
- Nikolay Morev
- Ovidiu Satmari
- Gligan Calin Horea
