こんにちは。DevOps芸人と化して久しいAndyです。 2020年の秋にTypeScript 4.1へTemplate Literal Typesが導入され、そのインパクトに俄かに一部の界隈がザワついたのは記憶に新しいかと思います。 今回は型プログラミングの可能性を大いに押し広げたTemplate Literal Typesを用いてSQL文を型レベルで解析し、その実行結果を型情報として導出するためのsqlptureというライブラリを作ったので紹介します。Embedded content: https://github.com/andoshin11/sqlptureSQLの実行/検証対象はPostgreSQL v13です。 tl;drSQL文を型レベルで解析・評価して返り値型を取得できるmini interpreterを作ったよ 型レベルのSQL validatorも作ってるよ 実際

概要 全般 推奨 非推奨命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンスSQLスタイルガイド(日本語訳) 日本語訳について 日本語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン
SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/Rmapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで本日は、SQLのコーディングスタイルについての意識を活発化させるべく、クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析
昨日僕のTwitter タイムラインで q というツールが話題に上がっていました。GitHub - harelba/q: q - RunSQL directly onCSV or TSV filesText as Data q is a commandline tool that allows direct execution ofSQL-like q... https://github.com/harelba/q 標準入力をSQL で抽出できるという物です。ただ個人的には「こういうのpython じゃなくてGo でビルドされてると助かるよなー」と思ったので q と同じ様な動作になるツールを作ってみました。GitHub -mattn/qq Select stdin with query https://github.com/mattn/qq 例えば msys2 のシ

@ITエンジニアライフのコメンテータ(だった)生島さんのコラムhttp://el.jibun.atmarkit.co.jp/g1sys/2010/05/post-2d1b.htmlのコメント欄に参加しました。 生島さんのコラムですが、過去に度々炎上してきましたが、炎上するたびに、 『SQLはオブジェクト指向言語の数十倍の効率』 という、この手の話が出てきます。この手の呪文は他にも幾つかあるのですが、これを出せば議論が終結するというある種の必殺技みたいに使われます。 が、それどころか、毎回、毎回、明確な結論が出ずにさらにコメント欄が荒れます。 私としては、本来はどうでもよい話なのですが、いきがかり上、私も思わず、 「私は、過去にSQLが遅いのでSQLを崩して、C言語でJOINをやらせて高速化しました。OO言語ではないですが、今だったらC++を使うでしょう(なぜってハッシュクラス があるから
株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。SQLにロジックを入れるにあたり、必ず問題になるのが表題の件。 ■SQLの方言について 違いはあります。違いを大きいと感じるか、小さいと感じるかは人それぞれでしょう。同じだと思っていると戸惑うかもしれませんが、違いがあることを認知していれば、個人的には簡単に乗り越えられるレベルと感じています。 わたしが経験した順に。 ● AccessRDBMSとはいえないけれど、パーソナルツールとして卓越していると思います。アドホックな仕事には最適ですね。 SELECT句、FROM句にサブクエリーが書けないと思っていました(たぶん、2.0ではできなかったと思うけれど……もしできてたら、苦労したから悔しい。手元にある一番古いAccess2000でも簡単にできてびっくりしました

社内勉強会資料 追記: 2013-10-31 ついったで指摘( https://twitter.com/akuraru/status/395822183777202176 )を受けたので入れ子集合のノード追加の説明の所を修正しました。
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く