From 3e691e8e56417de13e2b958386af2059ba80ebbd Mon Sep 17 00:00:00 2001
From: Christian Schneider
Date: Tue, 17 Feb 2009 13:48:04 +0000
Subject: Fix it_dbi NOT IN with empty array and added IN/NOT IN tests

---
 it_dbi.class   |  2 +-
 tests/it_dbi.t | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/it_dbi.class b/it_dbi.class
index 4e033b4..66f75a6 100644
--- a/it_dbi.class
+++ b/it_dbi.class
@@ -324,7 +324,7 @@ function _where($params = "", $link = null, $omit_where = false)
 								$query .= "$sep$field $op ('" . join("','", $qvals) . "')";	 # null is mapped to ''
 							}
 							else
-								$query .= $sep . "0";
+								$query .= $sep . (($op == 'IN') ? "0" : "1");
 
 							break;
 						}
diff --git a/tests/it_dbi.t b/tests/it_dbi.t
index 9ffadc7..934e965 100755
--- a/tests/it_dbi.t
+++ b/tests/it_dbi.t
@@ -50,6 +50,26 @@ is(
 	"bar",
 	"select with multiple parameters (foo part)"
 );
+is(
+	$record->select(array('ID IN' => array(2,3))),
+	2,
+	"select with IN",
+);
+is(
+	$record->select(array('ID NOT IN' => array(2,3))),
+	1,
+	"select with NOT IN",
+);
+is(
+	$record->select(array('ID IN' => array())),
+	0,
+	"select with empty IN",
+);
+is(
+	$record->select(array('ID NOT IN' => array())),
+	3,
+	"select with empty NOT IN",
+);
 
 it_dbi::createclass(array('table' => "it_dbi_test", 'forcecreate' => true));
 
-- 
cgit v1.2.3