From a44675402369ad7049f1f1cc56ad2bee16c4740b Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Tue, 10 Feb 2009 19:54:31 +0000 Subject: Fix for JDBC prepared statement values when query has an exists filter. --- .../java/com/amazon/carbonado/TestStorables.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java index 07f32f3..484fe5a 100644 --- a/src/test/java/com/amazon/carbonado/TestStorables.java +++ b/src/test/java/com/amazon/carbonado/TestStorables.java @@ -3397,6 +3397,38 @@ public class TestStorables extends TestCase { assertFalse(s1.equals(s3)); } + public void test_joinExistsQuery() throws Exception { + Storage orders = getRepository().storageFor(Order.class); + Storage orderItems = getRepository().storageFor(OrderItem.class); + + Order order = orders.prepare(); + order.setOrderID(1); + order.setOrderNumber("111"); + order.setOrderTotal(123); + order.setAddressID(0); + order.insert(); + + OrderItem item = orderItems.prepare(); + item.setOrderItemID(2); + item.setOrderID(1); + item.setItemDescription("stuff"); + item.setItemQuantity(1); + item.setItemPrice(123); + item.setShipmentID(0); + item.insert(); + + Query query = orders.query("orderTotal = ? & orderItems(itemQuantity = ?)"); + + order = query.with(123).with(1).loadOne(); + assertEquals(1, order.getOrderID()); + + order = query.with(123).with(2).tryLoadOne(); + assertNull(order); + + order = query.with(1234).with(1).tryLoadOne(); + assertNull(order); + } + private void assertUninitialized(boolean expected, Storable storable, String... properties) { for (String property : properties) { assertEquals(expected, storable.isPropertyUninitialized(property)); -- cgit v1.2.3