private void deleteVersions(List<Revision> revisions) { // Delete squashed versions long count = options.queryFactory .delete(options.version) .where(options.version.revision.in(revisions)) .execute(); if (count != revisions.size()) { throw new ConcurrentMaintenanceException("Expected to delete " + revisions.size() + " revisions. Got " + count); } }
private void deleteParents(List<Revision> revisions) { options.queryFactory .delete(options.parent) .where(options.parent.revision.in(revisions)) .execute(); }
private void deleteProperties(List<Revision> revisions) { options.queryFactory .delete(options.property) .where(options.property.revision.in(revisions)) .execute(); }
/** * 删除 * * @param predicate 条件 * @return 变更条数 */ default long delete(@Nullable Predicate... predicate) { Assert.ok("删除时条件不能为空", null != predicate && predicate.length > 0); return sql().delete(root()).where(predicate).execute(); }
private void deleteRedundantProperties(List<Revision> revisions) { options.queryFactory .delete(options.property) .where(options.property.revision.in(revisions), options.property.status.eq(REDUNDANT)) .execute(); }
@Override public boolean deleteResource(final long resourceId) { return querydslSupport.execute((connection, configuration) -> { QResource qResource = QResource.resource; long deletedRecordNum = new SQLDeleteClause(connection, configuration, qResource) .where(qResource.resourceId.eq(resourceId)) .execute(); return deletedRecordNum > 0; }); }
private void deleteRedundantParents(List<Revision> revisions) { options.queryFactory .delete(options.parent) .where(options.parent.revision.in(revisions), options.parent.status.eq(REDUNDANT)) .execute(); }
public long deleteConnectAddon(PostgreSQLQueryFactory queryFactory, String addonKey) { final QAtlassianConnectAddonData atlassianConnectAddonData = new QAtlassianConnectAddonData(rdbmsSchemaService.get().getSandbox()); final long rowsDeleted = queryFactory.delete(atlassianConnectAddonData) .where(atlassianConnectAddonData.ADDON_KEY.eq(addonKey)) .execute(); return rowsDeleted; }
@Test(expected = IllegalStateException.class) public void noConnection() { QEmployee emp1 = new QEmployee("emp1"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp1.id.eq(1)); delete.execute(); }
@Test(expected = IllegalArgumentException.class) @Ignore public void error() { QEmployee emp1 = new QEmployee("emp1"); QEmployee emp2 = new QEmployee("emp2"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp2.id.eq(1)); }
@Test public void delete_limit() { SQLDeleteClause clause = new SQLDeleteClause(null, createTemplates(), survey1); clause.where(survey1.name.eq("Bob")); clause.limit(5); assertEquals("delete top 5 from SURVEY\n" + "where SURVEY.NAME = ?", clause.toString()); }
@Test @ExcludeIn({CUBRID, SQLITE}) public void delete_with_tempateExpression_in_batch() { assertEquals(1, delete(survey) .where(survey.name.eq(Expressions.stringTemplate("'Hello World'"))) .addBatch() .execute()); }
@Test public void batch() throws SQLException { insert(survey).values(2, "A","B").execute(); insert(survey).values(3, "B","C").execute(); SQLDeleteClause delete = delete(survey); delete.where(survey.name.eq("A")).addBatch(); assertEquals(1, delete.getBatchCount()); delete.where(survey.name.eq("B")).addBatch(); assertEquals(2, delete.getBatchCount()); assertEquals(2, delete.execute()); }
@Test @ExcludeIn({CUBRID, SQLITE}) public void batch_templates() throws SQLException { insert(survey).values(2, "A","B").execute(); insert(survey).values(3, "B","C").execute(); SQLDeleteClause delete = delete(survey); delete.where(survey.name.eq(Expressions.stringTemplate("'A'"))).addBatch(); delete.where(survey.name.eq(Expressions.stringTemplate("'B'"))).addBatch(); assertEquals(2, delete.execute()); }
@Test public void schemaInWhere() { Configuration derbyWithPrintSchema = new Configuration(DerbyTemplates.builder().printSchema().build()); QEmployee e = QEmployee.employee; SQLDeleteClause delete = new SQLDeleteClause(EasyMock.createNiceMock(Connection.class), derbyWithPrintSchema, e); delete.where(e.id.gt(100)); assertEquals("delete from \"PUBLIC\".EMPLOYEE\n" + "where \"PUBLIC\".EMPLOYEE.ID > ?", delete.toString()); }
@Test public void noSchemaInWhere() { Configuration defaultWithPrintSchema = new Configuration(new SQLTemplates(Keywords.DEFAULT, "\"", '\\', false, false)); defaultWithPrintSchema.getTemplates().setPrintSchema(true); QEmployee e = QEmployee.employee; SQLDeleteClause delete = new SQLDeleteClause(EasyMock.createNiceMock(Connection.class), defaultWithPrintSchema, e); delete.where(e.id.gt(100)); assertEquals("delete from PUBLIC.EMPLOYEE\n" + "where EMPLOYEE.ID > ?", delete.toString()); }
@Test public void delete_with_subQuery_exists() { QSurvey survey1 = new QSurvey("s1"); QEmployee employee = new QEmployee("e"); SQLDeleteClause delete = delete(survey1); delete.where(survey1.name.eq("XXX"), query().from(employee).where(survey1.id.eq(employee.id)).exists()); assertEquals(0, delete.execute()); }
@Test @ExcludeIn(MYSQL) public void delete() throws SQLException { long count = query().from(survey).fetchCount(); assertEquals(0, delete(survey).where(survey.name.eq("XXX")).execute()); assertEquals(count, delete(survey).execute()); }
@Test public void delete_with_subQuery_exists2() { QSurvey survey1 = new QSurvey("s1"); QEmployee employee = new QEmployee("e"); SQLDeleteClause delete = delete(survey1); delete.where(survey1.name.eq("XXX"), query().from(employee).where(survey1.name.eq(employee.lastname)).exists()); assertEquals(0, delete.execute()); }
@Test public void delete_with_subQuery_exists_Params() { QSurvey survey1 = new QSurvey("s1"); QEmployee employee = new QEmployee("e"); Param<Integer> param = new Param<Integer>(Integer.class, "param"); SQLQuery<?> sq = query().from(employee).where(employee.id.eq(param)); sq.set(param, -12478923); SQLDeleteClause delete = delete(survey1); delete.where(survey1.name.eq("XXX"), sq.exists()); assertEquals(0, delete.execute()); }