Skip to content

DB.DML

The forvendi.DB.DML class defines supported database operations, lead conversions, email sending, platform event publishing, and dynamic SOQL querying.

It supports an allOrNone strategy across operations:

  • allOrNone = true: Transactional strictness — throws an exception if any record fails.
  • allOrNone = false: Partial success — returns a forvendi.DB.DBResult instance listing succeeded and failed items.

remove()

Deletes one or more SObject records or Record IDs from Salesforce.

Signatures:

public virtual void remove(SObject record)
public virtual void remove(SObject[] records)
public virtual void remove(Id recordId)
public virtual void remove(Id[] recordIds)
public virtual forvendi.DB.DBResult remove(SObject record, Boolean allOrNone)
public virtual forvendi.DB.DBResult remove(SObject[] records, Boolean allOrNone)
public virtual forvendi.DB.DBResult remove(Id[] recordIds, Boolean allOrNone)
public virtual forvendi.DB.DBResult remove(Set<Id> recordIds, Boolean allOrNone)

Parameters:

  • record / records: Single record, list of SObjects, or record IDs to delete.
  • allOrNone: true to throw exceptions on failure; false to return partial results in DBResult.

removeAsync()

Deletes External Object records asynchronously.

Signatures:

public virtual forvendi.DB.DBResult removeAsync(SObject record)
public virtual forvendi.DB.DBResult removeAsync(SObject[] records)

hardRemove()

Deletes records and immediately purges them from the Salesforce Recycle Bin (hard delete).

Signatures:

public virtual void hardRemove(SObject record)
public virtual void hardRemove(SObject[] records)
public virtual void hardRemove(Id recordId)
public virtual void hardRemove(Id[] recordIds)
public virtual void hardRemove(Set<Id> recordIds)
public virtual forvendi.DB.DBResult hardRemove(SObject record, Boolean allOrNone)
public virtual forvendi.DB.DBResult hardRemove(SObject[] records, Boolean allOrNone)
public virtual forvendi.DB.DBResult hardRemove(Id[] recordIds, Boolean allOrNone)

create()

Inserts new SObject records into the database.

Signatures:

public virtual void create(SObject record)
public virtual void create(SObject[] records)
public virtual forvendi.DB.DBResult create(SObject[] records, Boolean allOrNone)

createAsync()

Inserts External Object records asynchronously.

Signatures:

public virtual forvendi.DB.DBResult createAsync(SObject record)
public virtual forvendi.DB.DBResult createAsync(SObject[] records)

modify()

Updates existing SObject records in the database.

Signatures:

public virtual void modify(SObject record)
public virtual void modify(SObject[] records)
public virtual forvendi.DB.DBResult modify(SObject record, Boolean allOrNone)
public virtual forvendi.DB.DBResult modify(SObject[] records, Boolean allOrNone)

modifyAsync()

Updates External Object records asynchronously.

Signatures:

public virtual forvendi.DB.DBResult modifyAsync(SObject record)
public virtual forvendi.DB.DBResult modifyAsync(SObject[] records)

convert()

Executes Lead conversion operations.

Signatures:

public virtual void convert(Database.LeadConvert record)
public virtual void convert(Database.LeadConvert[] records)
public virtual forvendi.DB.DBResult convert(Database.LeadConvert record, Boolean allOrNone)
public virtual forvendi.DB.DBResult convert(Database.LeadConvert[] records, Boolean allOrNone)

send()

Dispatches single or bulk email messages.

Signatures:

public virtual void send(Messaging.SingleEmailMessage record)
public virtual void send(Messaging.SingleEmailMessage[] records)
public virtual forvendi.DB.DBResult send(Messaging.SingleEmailMessage record, Boolean allOrNone)
public virtual forvendi.DB.DBResult send(Messaging.SingleEmailMessage[] records, Boolean allOrNone)

publish()

Publishes Platform Event records.

Signatures:

public virtual forvendi.DB.DBResult publish(SObject event)
public virtual forvendi.DB.DBResult publish(SObject[] events)

upsertRecord() / upsertRecords()

Upserts records using standard record IDs or a designated External ID field.

Signatures:

public virtual void upsertRecords(SObject[] records)
public virtual void upsertRecords(SObject[] records, SObjectField externalIdField)
public virtual forvendi.DB.DBResult upsertRecord(SObject record, Boolean allOrNone)
public virtual forvendi.DB.DBResult upsertRecords(SObject[] records, Boolean allOrNone)
public virtual forvendi.DB.DBResult upsertRecords(SObject record, SObjectField externalIdField, Boolean allOrNone)
public virtual forvendi.DB.DBResult upsertRecords(SObject[] records, SObjectField externalIdField, Boolean allOrNone)

query()

Executes dynamic SOQL queries with optional variable bind maps.

Signatures:

public virtual SObject[] query(String query)
public virtual SObject[] query(String query, Map<String, Object> bindMap)

countQuery()

Executes dynamic SOQL count queries and returns the matching record count.

Signatures:

public virtual Long countQuery(String query)
public virtual Long countQuery(String query, Map<String, Object> bindMap)

getQueryLocator()

Instantiates a Database.QueryLocator instance for Batch Apex execution using dynamic queries and optional bind maps.

Signatures:

public virtual Database.QueryLocator getQueryLocator(String query)
public virtual Database.QueryLocator getQueryLocator(String query, Map<String, Object> bindMap)