HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

2011-01-01から1年間の記事一覧

テーブル名や列名の別名の指定

はじめに - SQL標準規格では SQL標準規格によると、SQL文ではテーブル名や列名の別名を次のように指定することができることになっている。(いずれも、キーワード AS は省略可能) SELECT t.col2 [AS] c2 FROM tbl [AS] t WHERE t.col1 = 1 UPDATE tbl [AS] t …

逆転検事2

逆転検事2(通常版)出版社/メーカー: カプコン発売日: 2011/02/03メディア: Video Game購入: 7人 クリック: 111回この商品を含むブログ (70件) を見る発売(=購入)から3ヶ月、プレイ開始から2ヶ月(!)、ようやくクリアに至ったらしい。 別に難しかったとかそう…

外部結合を侮ると痛い目見るの巻

SQL

まぁ、言うほど大げさな話でもないのだけど、少なくとも、結合条件と検索条件の違いが分かっていないと痛い目見るだろう、と。条件なんてON句に書いてもWHERE句に書いても一緒でしょ、と思っている人(誰)は要注意。前提とするテーブルは次の2つ。(諸般の事情…

AutoCommitの動作を誤解していた訳

以下の続き。 SET AUTOCOMMIT=0後の動作を誤解していたらしいの巻 - HHeLiBeXの日記 正道編 そもそもJDBCでは、トランザクション処理を書くときに、次のいずれかの書き方をすることになる: // TODO エラー処理 Connection connection = DriverManager.getCo…

SET AUTOCOMMIT=0後の動作を誤解していたらしいの巻

PHP+MySQL環境でmysql_pconnect関数を使っていて、謎な挙動に悩まされていたらしいが、その原因が「SET AUTOCOMMIT=0」にあるらしいということで。実は、問題が浮上して調査するまでは「SET AUTOCOMMIT=0」が問題だとは微塵も思っていなかった。なので、「SE…

トランザクションを強制的に終了させる

前置き MySQL 5.1で、InnoDBなデータベースを使って何かを開発している最中には、トランザクションがコミット(またはロールバック)される前にプログラム側の処理が(Fatal errorなどで)異常終了したりして、トランザクションがロックを取得したまま放置状態に…

ユーザー操作制御機能(何)を作ってみる

前置き 最近、自分でコーディングする機会がめっきり減ってしまったので、ちょっとしたリハビリにちょっとしたものを作ってみる。 いい名前が思いつかなかったので、こんなタイトル(何)になってしまったが、要するに、 Windows(Vista以降(?))で言うところの…

バイト値を得るためのユーティリティ

何に使うのかは知らないが(待て)、例えばC言語で #include <stdio.h> int main(int argc, char* argv[]) { int byteValue = 'a'; printf("%d\n", byteValue); } として得られる「97」という数値を、PHPでは得られないのだよなぁ、と思って作ってみた。 </stdio.h>

寄付をしました-東北地方太平洋沖地震

あまりにも想像を絶する状況に言葉も出ませんが‥ 自分にできることを少しずつでもやろうと‥ 個人的な事情もあって、クレジットカードで一度に購入可能なだけのはてなポイントを購入し、全額を寄付しました。 一人でも多くの方の無事と、一日も早い復興を祈っ…

Windows環境でApacheモジュールを開発してみる

ふと、作りたいものができたので、まずは環境構築から、ということで、ざっと調べてみたところ、次のサイトを見つけた。 Windows で Apache モジュールを作る。 Windows環境 手軽に出来るApacheモジュール開発 : アシアルブログ Linux環境 基本的に、apxsを…

WindowsにPHP+Memcached環境を導入する

ブクマ(何)とかを見ると1ヶ月ほど前の話になるのだが、Windows Vista上にPHP+Memcached環境を導入したらしい。 ただ、変なところでひどく苦労したので、導入時点での情報をまとめてみる。 Memcachedの導入 まずはサーバーの導入。 基本的な手順としては、以…

プロシジャの出力パラメータの値をSQLだけを使って確認する

例えば、DB2で次のようなプロシジャを作ったとする。('!'は、「db2 -td! -f hoge.sql」と実行するための区切り文字) -- 配列型はCREATE TYPEしないと使えない CREATE TYPE CHARACTER_VARYING_255_ARRAY AS CHARACTER VARYING(255) ARRAY[255] ! -- テスト対…

イテレーションの最中に要素を削除する

Javaで次のようなプログラム: Map<String, String> map = new HashMap<String, String>(); map.put("a", "A"); map.put("b", "B"); map.put("c", "C"); for (String key : map.keySet()) { if (key.equals("b")) { map.remove(key); } } を書くと、java.util.ConcurrentModificationException</string,></string,>…

DBMSへのクエリの結果をキャッシュすることについて考えてみる

MySQL(実はPostgreSQLもだが)を使った開発(何)で、memcachedにクエリの結果をキャッシュするという要件があるのだが(謎)、ちょっと考えてみても、いろいろと考察しないといけないことがあるよなぁ、と思ったので、ちょっと考えてみる。 一口にキャッシュする…

文字列を格納する列の定義

MySQLユーザー(何)には常識なのだろうが、ほかのDBMSに慣れてからMySQLを使い始めた人がはまりそうなポイント。(そもそも自分がこれに気づいたのは、とあるSQL文を見たから(謎))それは次の2つのCREATE TABLE文の違い。 CREATE TABLE hoge1(v VARCHAR(8)) ; C…

TIMESTAMP型の位置づけ

知っている人は知っている、というお話(だと思う)。以前に、Microsoft SQL ServerでTIMESTAMP型の列にsetTimestampできないというのをどこかで読んでからずっと引っかかっていたこと。(参照:メモ: SQL Server の timestamp 型に insert すると Disallowed i…

CURRENT_TIMESTAMPをTIMESTAMP型の列のデフォルト値に指定してみる

一見するとなんてことはない。 つまりは次のようなテーブル定義をするということ。 CREATE TABLE xxx( id INT NOT NULL , ts1 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , ts2 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ) 2つのタイムスタンプを必…

フィールドコードを表示する

もう3度目くらいなので、ちゃんとメモしておく(謎)。 MS Wordにおいて、フィールドコード(REF)によって表示されているテキストは、テキストを右クリックして「フィールドコードの表示/非表示」とかやればフィールドコードを表示させることができるが、じゃあ…

バクマン。 (11)

バクマン。 11 (ジャンプコミックス)作者: 大場つぐみ,小畑健出版社/メーカー: 集英社発売日: 2010/12/29メディア: コミック購入: 8人 クリック: 449回この商品を含むブログ (109件) を見るPCP連載開始。そして5話シリーズへの挑戦。

境界のRINNE (6)

境界のRINNE 6 (少年サンデーコミックス)作者: 高橋留美子出版社/メーカー: 小学館発売日: 2010/12/17メディア: コミック クリック: 15回この商品を含むブログ (7件) を見るこっちも昨年末に買ったのをようやく読んだ。 りんね絶体絶命の巻(謎)。

結界師 (32)

結界師 32 (少年サンデーコミックス)作者: 田辺イエロウ出版社/メーカー: 小学館発売日: 2010/12/17メディア: コミック購入: 1人 クリック: 13回この商品を含むブログ (21件) を見る昨年末に買っていたのだけど、ようやく読んだ。 総本部(何)が襲撃されたの…

SQLクエリメモ - 整数型カラム中の欠番を見つけるクエリ

とあるプログラム(何)で、未処理のID(=欠番)を見つけ出して処理を実行するという必要性が生じたので、欠番を見つけ出すためのSQLクエリを作ってみた。(プログラムでループ回して1つずつチェックなんて、数万件のデータに対してはやってられないから) プログ…

あけましておめでとうございます

今年もよろしくお願いします。 さて、お約束(何)なので、とりあえずちょうど一年前。 各種RDBMSにおけるSQL標準との差異に関する何らかの活動をする。 子供を新幹線に乗せてやる。 さて(謎)、昨年はそれどころではありませんでした。激動でした。一年前にこ…