private String constructNonDoubleQuery(String regExp, String[] columns,
			String[][] values) {
		String type;
		String columnName;
		String query = "";
		int numColumns = columns.length;
		for (int i = 0; i < numColumns; i++) {
			type = typeMap.get(columns[i]);
			if (type.equalsIgnoreCase("character varying"))
				columnName = " UPPER(" + columns[i] + ")";
			else
				columnName = columns[i];
			int numValues = values[i].length;
			if (type.equalsIgnoreCase("character varying")
					&& regExp.equalsIgnoreCase("on")) {
				query += columnName + " ~* ?";
				for (int j = 1; j < numValues; j++)
					query += " OR " + columnName + " ~* ?";
			} else {
				query += columnName + " IN (?";
				for (int j = 1; j < numValues; j++)
					query += ",?";
				query += ")";
			}
			if (i != numColumns - 1)
				query += " AND ";
		}
		return query;
	}