public void testLikeSubquery() { insertBasicTestModel("Sam 1", "A", System.currentTimeMillis() - 5); insertBasicTestModel("Sam 2", "B", System.currentTimeMillis() - 4); insertBasicTestModel("Sam 3", "C", System.currentTimeMillis() - 3); insertBasicTestModel("Bla 1", "D", System.currentTimeMillis() - 2); insertBasicTestModel("Bla 2", "E", System.currentTimeMillis() - 1); Function<String> substr = Function.substr(TestModel.FIRST_NAME, 1, 3); Function<String> strConcat = Function.strConcat(substr, "%"); Query likeFirstName = Query.select().where(TestModel.FIRST_NAME.like( Query.select(strConcat).from(TestModel.TABLE).where(TestModel.ID.eq(1)))).orderBy(TestModel.ID.asc()); SquidCursor<TestModel> cursor = database.query(TestModel.class, likeFirstName); try { assertEquals(3, cursor.getCount()); int index = 1; while (cursor.moveToNext()) { assertEquals("Sam " + index, cursor.get(TestModel.FIRST_NAME)); index++; } } finally { cursor.close(); } }
public void testLikeWithNoEscape() { insertBasicTestModel(); assertEquals(1, database.count(TestModel.class, TestModel.LAST_NAME.like("Bo_le%"))); assertEquals(0, database.count(TestModel.class, TestModel.LAST_NAME.notLike("Bo_le%"))); assertEquals(0, database.count(TestModel.class, TestModel.LAST_NAME.like("%leyx"))); assertEquals(1, database.count(TestModel.class, TestModel.LAST_NAME.notLike("%leyx"))); }
@Override public void run() { database.update(Update.table(TestModel.TABLE).fromTemplate(new TestModel().setFirstName("Guy")) .where(TestModel.LAST_NAME.like("Bos%"))); } };
public void testLikeWithEscape() { TestModel model = insertBasicTestModel(); model.setFirstName("S_a%m"); database.persist(model); assertEquals(1, database.count(TestModel.class, TestModel.FIRST_NAME.like("%\\_a\\%%", '\\'))); assertEquals(0, database.count(TestModel.class, TestModel.FIRST_NAME.notLike("%\\_a\\%%", '\\'))); }
@Override public void run() { database.delete(Delete.from(TestModel.TABLE).where(TestModel.LAST_NAME.like("Bos%"))); } };
@Override public void run() { database.deleteWhere(TestModel.class, TestModel.LAST_NAME.like("Bos%")); } };
@Override public void run() { database.update(TestModel.LAST_NAME.like("Bos%"), template); } };
public void testCriterionNegation() { assertNegationEqualsTheOther(TestModel.FIRST_NAME.eq("Sam"), TestModel.FIRST_NAME.neq("Sam")); assertNegationEqualsTheOther(TestModel.FIRST_NAME.isNull(), TestModel.FIRST_NAME.isNotNull()); assertNegationEqualsTheOther(TestModel.LUCKY_NUMBER.gt(5), TestModel.LUCKY_NUMBER.lte(5)); assertNegationEqualsTheOther(TestModel.LUCKY_NUMBER.gte(5), TestModel.LUCKY_NUMBER.lt(5)); assertNegationEqualsTheOther(TestModel.FIRST_NAME.in(Collections.EMPTY_SET), TestModel.FIRST_NAME.notIn(Collections.EMPTY_SET)); assertNegationEqualsTheOther(TestModel.FIRST_NAME.isNull(), TestModel.FIRST_NAME.isNotNull()); assertNegationEqualsTheOther(TestModel.LUCKY_NUMBER.between(1, 2), TestModel.LUCKY_NUMBER.notBetween(1, 2)); assertNegationEqualsTheOther(TestModel.FIRST_NAME.like("A"), TestModel.FIRST_NAME.notLike("A")); assertNegationEqualsTheOther(TestModel.FIRST_NAME.glob("A*"), TestModel.FIRST_NAME.notGlob("A*")); }