Automattic\WooCommerce\Internal\DataStores\Orders

OrdersTableStatusUnionQuery::extract_limit │ private │ WC 1.0

Extracts the offset and row count from the LIMIT clause, or NULL when the query is unlimited or too deeply paginated to benefit (each branch would have to fetch offset + row count rows). The offset + row count cap also rejects the "unlimited" sentinel row count.

Method of the class: OrdersTableStatusUnionQuery{}

No Hooks.

Returns

int[]|null. Array of [ offset, row count ], or NULL when ineligible.

Usage

// private - for code of main (parent) class only
$result = $this->extract_limit( $limits ): ?array;
$limits(string) (required)
The LIMIT clause, including the keyword.

OrdersTableStatusUnionQuery::extract_limit() code WC 11.1.2

private function extract_limit( string $limits ): ?array {
	if ( ! preg_match( '/^LIMIT (\d+), (\d+)$/', $limits, $limit_parts ) ) {
		return null;
	}

	$offset    = (int) $limit_parts[1];
	$row_count = (int) $limit_parts[2];

	if ( $row_count < 1 || ( $offset + $row_count ) > self::MAX_ROWS ) {
		return null;
	}

	return array( $offset, $row_count );
}