gormでNOTの中でOR/AND条件を書くとpqエラーが出るが動くっぽい
ざっくり以下の様な感じのコードを書くと
func main() { db := Database()// return *gorm.DB foo := Foo{} db.Not("a = ? AND b = ?", 'foo', 'bar').Debug().First(&foo) }
なんかエラーが出てるっぽいけど実行されるっぽい。 psqlでデバッグで出ているSQL文を直接たたくと結果は返ってくる。
[2016-07-01 00:03:48] pq: syntax error at or near ")" [2016-07-01 00:03:48] [5.44ms] SELECT * FROM "foos" WHERE "foos".deleted_at IS NULL AND (NOT (a = 'foo' AND b = 'bar')) ORDER BY "foos"."id" ASC LIMIT 1
ちなみに以下のような感じにANDとかを抜かして条件を1つにすると特にエラーは出ない
db.Not("a = ?", 'foo').Debug().First(&foo)
気持ち悪いので時間があるときに調べたいということでメモ
golangのVendoring周りメモ
しばらく間が開いてgolangで遊びはじめたのでちょっとメモ。
1.5からVendoringと言うGOPATH配下ではなくパッケージ下のvendorディレクトリで依存パッケージの管理が行われると言う。
1.6からはデフォルトでVendoringがONになっている。(1.5は環境変数GO15VENDOREXPERIMENT=1
を設定しないといけなかった)
ただimportに相対パスでパッケージを指定しているようなものがあるとうまく動かないっぽい?
パッケージ自体の管理にはglideを使ってみていますがいい感じ。
ただし、glideは最新バイナリでも前述の環境変数GO15VENDOREXPERIMENT
を設定しないとエラーが出たのでちょっと追いついていない感じか。
導入自体はこのあたりを参考にした
先週末
今さらですが先週末まとめ。
横須賀 護衛艦カレーグランプリ
Twitterで見てたら6000食準備で9時開場の段階で3000人近い人が並んでる状況だったようで。その段階で家を出てなかったので早々に諦めてのんびり行ったんですがすぐに出てたら間に合ってたみたいで残念。
とりあえず護衛艦だけとって早々に撤退。
送信者 20140419横須賀 海軍カレー |
浦賀 叶神社
行こう行こうと思って行けてなかった「たまゆら ~もあぐれっしぶ~」の聖地巡礼。
汐入編で出てくる浦賀の叶神社に行ってきました。
今回は東西の叶神社の御朱印をしっかりゲット。
送信者 20140419浦賀 |
浦賀の渡し舟にも乗ってきました。
送信者 20140419浦賀 |
Google Code Jam 2014とPlaidCTF
先週末は電王戦見ながらPlaidCTF2014とGoogleCodeJamとでずっと引きこもり状態でした。
まぁPlaidCTFは何もできなかったので書くことがない。
GoogleCodeJamのQualification Roundは問題C以外は簡単でしたね。
自分は結局土曜日の夕方に初めてa,b,dで疲れてしまったので問題Cは解いてません・・・
一応再来週のオンライン予選もやるつもりですが記念参加ですね。
とりあえずCentOS6.4でのCVE-2014-0160への対応について
opnesslで"Heartbleed"呼ばれているバグ(CVE-2014-0160)が公開されたのでその対応に関するメモ。
どういうものなのかは下記のサイトを参照してくださいという事で。
http://heartbleed.com/
対応したパッケージが出たようですね。
http://www.spinics.net/lists/centos-announce/msg04911.html
- 追記
あと証明書のrevoke,reissueは忘れずに実施しましょう。
とりあえずCentOSのパッケージについてはTESTINGステータスの様です。
https://www.centos.org/forums/viewtopic.php?f=13&t=45812&p=194507&hilit=openssl+1.0.1f#p194507
openssl 1.0.1gでFixしているのでソースからRPMを作って入れるという方法もある様です。
http://www.ptudor.net/linux/openssl/