- Packaging Support
BigObjects can be included in the full lifecycle of a managed or unmanaged package. BigObjects can be added to existing packages or included in new packages. Packages are automatically updated with BigObject fields and indexes. Packages make it easier to distribute your BigObjects to other users and orgs.
- Full Delete Lifecycle
- BigObjects support the full entity delete lifecycle via the Setup UI. Deleted BigObjects are soft deleted, meaning there is a 15-day period where they can be recovered or permanently erased. After 15 days, the BigObject is automatically permanently deleted. To restore a BigObject, change the deployment status and set the required flag for any non-index fields as necessary. Fields in the index will automatically be reset to required.
- Partial Metadata Edit
BigObject names, labels, descriptions, deployed status, and field requiredness for non-index fields can be edited via the Setup UI. BigObject field names and labels can also be edited with the Setup UI.
- Long Text Area Support
Long text has been added as a valid datatype for BigObjects, allowing BigObjects to store even more kinds of data, like copies of entire standard objects. Long text fields for BigObjects follow the same limits as custom objects.
- Bulk API Query Support
Standard synchronous SOQL can be used to query BigObjects via Bulk API. Synchronous SOQL query limitations still apply, and there are limits to the number of records that can be queried in a single bulk query call.
- IN() Clause for SOQL
Synchronous SOQL supports the use of a single IN() clause to query BigObject data using multiple criteria. The IN() clause is only supported in synchronous SOQL.
SELECT id, CreatedDate, ContactId FROM AccountHistory__b WHERE id IN("0001", "0042", "0128", "0404")
Enhancements to Async SOQL (Pilot)
- Granular Permissions
Async SOQL no longer requires the “Modify All Data” permission when running queries. To run queries, “Read” can be set on the source objects and “Create/Update” can be set on the target objects on a per-object basis. The appropriate field permissions are still required.
- Field Substitution in TargetValueMap
Any field or alias can be used as the TargetValueMap value in the SELECT clause of a query. TargetValueMap can be used to include descriptive text or to concatenate multiple fields as the target external ID for upsert operations.