me HP `P @ settings_filter_name layout_imapc P HQ Q Q A @ UTV XQ local_name Q Q @ settings_filter_name passdb_ldap R R PR PR A @ UTV R local_name R S @ settings_filter_name userdb_ldap XS S S S A @ UTV S local_name 8T PT @ settings_filter_name layout_index T 8U T T A @ UTV HU local_name U U @ settings_filter_name maildir U V 8V 8V A @ UTV V local_name V V @ settings_filter_name mbox 8W W W W A @ UTV W local_name X 0X @ settings_filter_name mdbox X Y X X A @ UTV Y local_name `Y xY @ settings_filter_name passdb_passwd_file Y hZ Z Z A @ UTV xZ local_name Z Z @ settings_filter_name quota_imapc ([ [ p[ p[ A @ UTV [ local_name \ \ @ settings_filter_name sdbox p\ ] \ \ A @ UTV ] local_name P] h] @ settings_filter_name ssl_client ] P^ ^ ^ A @ UTV `^ local_name ^ ^ @ settings_filter_name virtual _ _ P_ P_ A @ UTV _ local_name _ ` @ settings_filter_name The prepared query string. */ protected function get_select_query( $limit = false ) { $indexable_table = Model::get_table_name( 'Indexable' ); $taxonomy_table = $this->wpdb->term_taxonomy; $public_taxonomies = $this->taxonomy->get_indexable_taxonomies(); $placeholders = \implode( ', ', \array_fill( 0, \count( $public_taxonomies ), '%s' ) ); $replacements = [ $this->version ]; \array_push( $replacements, ...$public_taxonomies ); $limit_query = ''; if ( $limit ) { $limit_query = 'LIMIT %d'; $replacements[] = $limit; } // Warning: If this query is changed, makes sure to update the query in get_count_query as well. return $this->wpdb->prepare( " SELECT term_id FROM {$taxonomy_table} AS T LEFT JOIN $indexable_table AS I ON T.term_id = I.object_id AND I.object_type = 'term' AND I.version = %d WHERE I.object_id IS NULL AND taxonomy IN ($placeholders) $limit_query", $replacements ); } }