ActionScheduler_Store::validate_action()protectedWC 1.0

InnoDB indexes have a maximum size of 767 bytes by default, which is only 191 characters with utf8mb4.

Previously, AS wasn't concerned about args length, as we used the (unindex) post_content column. However, with custom tables, we use an indexed VARCHAR column instead.

Метод класса: ActionScheduler_Store{}

Хуков нет.


null. Ничего.


// protected - в коде основоного (родительского) или дочернего класса
$result = $this->validate_action( $action );
$action(ActionScheduler_Action) (обязательный)
Action to be validated.

Код ActionScheduler_Store::validate_action() WC 7.7.2

protected function validate_action( ActionScheduler_Action $action ) {
	if ( strlen( json_encode( $action->get_args() ) ) > static::$max_args_length ) {
		throw new InvalidArgumentException( sprintf( __( 'ActionScheduler_Action::$args too long. To ensure the args column can be indexed, action args should not be more than %d characters when encoded as JSON.', 'woocommerce' ), static::$max_args_length ) );