[PATCH v2 1/3] vinyl: make tx_manager_abort_writers_for_ddl more thorough

Vladimir Davydov vdavydov.dev at gmail.com
Thu Mar 28 19:03:37 MSK 2019


On Thu, Mar 28, 2019 at 06:52:27PM +0300, Vladimir Davydov wrote:
> diff --git a/src/box/vinyl.c b/src/box/vinyl.c
> index 3ef43e18..24f900cb 100644
> --- a/src/box/vinyl.c
> +++ b/src/box/vinyl.c
> @@ -2433,8 +2433,10 @@ vinyl_engine_begin_statement(struct engine *engine, struct txn *txn)
>  	(void)engine;
>  	struct vy_tx *tx = txn->engine_tx;
>  	struct txn_stmt *stmt = txn_current_stmt(txn);
> +	struct index *pk = space_index(stmt->space, 0);
>  	assert(tx != NULL);
> -	return vy_tx_begin_statement(tx, &stmt->engine_savepoint);
> +	return vy_tx_begin_statement(tx, pk != NULL ? vy_lsm(pk) : NULL,
> +				     &stmt->engine_savepoint);

Argh. On the second thought, this looks kinda ugly. I'll use space ptr
instead as you suggested initiallly, so that you can take your pick.
Stay tuned for v3.



More information about the Tarantool-patches mailing list