Skip to content

Commit

Permalink
Merge pull request #9 from rchodava/issue-8
Browse files Browse the repository at this point in the history
Issue8 - Allow deleting by name.
  • Loading branch information
israelcolomer committed Mar 11, 2016
2 parents cffb144 + 3cbcb69 commit d81c1dc
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
public interface QueryBuilder extends SelectQueryBuilder {
WhereBuilder<UpdateQueryExecution> deleteFrom(String table);
WhereBuilder<UpdateQueryExecution> deleteFrom(Outline<?> outline);
WhereBuilder<UpdateQueryExecution> deleteFromNamed(String table);
WhereBuilder<UpdateQueryExecution> deleteFromNamed(Outline<?> outline);
InsertBuilder insertInto(String table);
InsertBuilder insertInto(Outline<?> outline);
SelectBuilder selectAll();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public abstract class QueryBuilderImpl implements QueryBuilder {

private static final String SQL_ASSIGNMENT = " = ";
private static final String SQL_DELETE_FROM = "DELETE FROM ";
private static final String SQL_DELETE = "DELETE ";
private static final String SQL_EQ = " = ";
private static final String SQL_FROM = " FROM ";
private static final String SQL_INSERT_INTO = "INSERT INTO ";
Expand Down Expand Up @@ -420,6 +421,16 @@ public WhereBuilder<UpdateQueryExecution> deleteFrom(Outline<?> outline) {
return deleteFrom(outline.pluralName());
}

@Override
public WhereBuilder<UpdateQueryExecution> deleteFromNamed(String table) {
return new UpdateWhereClause(new StringBuilder(SQL_DELETE).append(table).append(SQL_FROM).append(table));
}

@Override
public WhereBuilder<UpdateQueryExecution> deleteFromNamed(Outline<?> outline) {
return deleteFromNamed(outline.pluralName());
}

@Override
public InsertBuilder insertInto(String table) {
return new InsertQuery(table);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ public void deleteQueries() {

queryBuilder.deleteFrom("table_name").where().eq("int_column", 2).execute();
assertEquals("DELETE FROM table_name WHERE int_column = ?", queryBuilder.getLastQuery());
assertArrayEquals(new Object[] { 2 }, queryBuilder.getLastParameters());
assertArrayEquals(new Object[]{2}, queryBuilder.getLastParameters());
assertTrue(queryBuilder.getLastWasUpdate());

queryBuilder.deleteFrom("table_name").where().eq("boolean_column", true).execute();
Expand All @@ -228,6 +228,12 @@ public void deleteQueries() {
assertEquals("DELETE FROM table_name WHERE string_column = ?", queryBuilder.getLastQuery());
assertArrayEquals(new Object[] { "value" }, queryBuilder.getLastParameters());
assertTrue(queryBuilder.getLastWasUpdate());

queryBuilder.deleteFromNamed("table_name")
.where().eq("string_column", "value").execute();
assertEquals("DELETE table_name FROM table_name WHERE string_column = ?", queryBuilder.getLastQuery());
assertArrayEquals(new Object[] { "value" }, queryBuilder.getLastParameters());
assertTrue(queryBuilder.getLastWasUpdate());
}

@Test
Expand Down

0 comments on commit d81c1dc

Please sign in to comment.