# Beta and pilot features (/docs/core/advanced/experimental)



The APIs on this page live under explicit `beta` or `pilot` namespaces so they
are hard to use by accident. TypeScript support does not mean your Salesforce
org or API version has the feature enabled.

## FORMULA arithmetic beta [#formula-arithmetic-beta]

```ts
import { db } from "./db";

const query = db
  .selectFrom("Opportunity")
  .select(["Id", "Amount", "ExpectedRevenue"])
  .where((eb) =>
    eb(eb.beta.formula("Amount", "-", "ExpectedRevenue"), ">", 100),
  );
```

`eb.beta.formula()` supports `+` and `-` between compatible filterable numeric or
temporal fields. It is a typed helper for the supported Salesforce beta syntax,
not a general formula parser.

The helper is available in `WHERE`. It is not a `SELECT` or `HAVING` expression.
Check Salesforce's current availability before relying on it in a target org.

<SalesforceReference title="FORMULA in SOQL WHERE" href="https://developer.salesforce.com/docs/platform/salesforce-soql-sosl/guide/sforce-api-calls-soql-select-formula.html" />

## Child subquery OFFSET pilot [#child-subquery-offset-pilot]

```ts
import { db } from "./db";

const query = db
  .selectFrom("Account")
  .select("Id")
  .selectSubquery("Contacts", (contacts) =>
    contacts
      .select(["Id", "LastName"])
      .orderBy("LastName")
      .limit(20)
      .pilot.offset(20),
  )
  .limit(1);
```

Child offset is intentionally exposed as `pilot.offset()` rather than normal
`offset()`. The offset must be between `0` and `2000`, and the immediate parent
query must have a literal `LIMIT 1`.

For production paging, prefer a direct query on the child object with a parent
ID filter and normal root pagination.

<SalesforceReference title="OFFSET" href="https://developer.salesforce.com/docs/platform/salesforce-soql-sosl/guide/sforce-api-calls-soql-select-offset.html" />
