HHeLiBeXの日記 正道編

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

2011-02-01から1ヶ月間の記事一覧

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

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つのタイムスタンプを必…