QueryLocator Class

Represents the record set returned by Database.getQueryLocator and used with Batch Apex.

Namespace

Database

QueryLocator Methods

The following are methods for QueryLocator. All are instance methods.

getQuery()

Returns the query used to instantiate the Database.QueryLocator object. This is useful when testing the start method.

Signature

public String getQuery()

Return Value

Type: String

Usage

You cannot use the FOR UPDATE keywords with a getQueryLocator query to lock a set of records. The start method automatically locks the set of records in the batch.

Example

System.assertEquals(QLReturnedFromStart.
getQuery(),
Database.getQueryLocator([SELECT Id
   FROM Account]).getQuery() );

iterator()

Returns a new instance of a query locator iterator.

Signature

public Database.QueryLocatorIterator iterator()

Return Value

Type: Database.QueryLocatorIterator

Usage

Warning
To iterate over a query locator, save the iterator instance that this method returns in a variable and then use this variable to iterate over the collection. Calling iterator every time you want to perform an iteration can result in incorrect behavior because each call returns a new iterator instance.

For an example, see QueryLocatorIterator Class.

© Copyright 2000–2014 salesforce.com, inc. All rights reserved.
Various trademarks held by their respective owners.