Есть ли более краткий способ проверить, пуст ли PGResult? - PullRequest
6 голосов
/ 19 апреля 2011

Я использую гем pg для общения с PostgreSQL из Ruby. Есть ли лучший способ проверить, нет ли результатов, чем использовать res.ntuples == 0?

conn = PGconn.connect config

cmd = "select * from labels inner join labels_mail using(label_id) " + 
  "where labels_mail.mail_id = $1 and labels.name = $2"

res = conn.exec(cmd, [mail_id, mailbox])

if res.ntuples == 0  #  <=== is there a better way to check this?
  cmd = "insert into labels_mail (mail_id, label_id) values ($1, $2)"
  conn.exec(cmd, [mail_id, label_id(mailbox)])
end

1 Ответ

5 голосов
/ 20 апреля 2011

ntuples, опечатка? Это быстрее и кратко использовать zero?, чем == 0

if res.num_tuples.zero?
...