Automattic\WooCommerce\Internal\DataStores\Orders

OrdersTableStatusUnionQuery::has_rewritable_clause_shape │ private │ WC 1.0

Checks the fixed clauses (selected fields, join, group by) are exactly those of the plain order id list query. Any join, grouping or extra selected field means the query isn't a candidate for the rewrite.

Method of the class: OrdersTableStatusUnionQuery{}

No Hooks.

Returns

bool. Whether the clause shape is rewritable.

Usage

// private - for code of main (parent) class only
$result = $this->has_rewritable_clause_shape( $clauses ): bool;
$clauses(string[]) (required)
The query clauses (see get_sql()).

OrdersTableStatusUnionQuery::has_rewritable_clause_shape() code WC 11.2.2

private function has_rewritable_clause_shape( array $clauses ): bool {
	return '' === ( $clauses['join'] ?? '' )
		&& '' === ( $clauses['groupby'] ?? '' )
		&& "{$this->orders_table}.id" === ( $clauses['fields'] ?? '' );
}