[tarantool-patches] Re: [PATCH 5/8] sql: replace field type with affinity for VDBE runtime

n.pettik korablev at tarantool.org
Tue Feb 5 20:46:25 MSK 2019


> On 5 Feb 2019, at 18:08, Vladislav Shpilevoy <v.shpilevoy at tarantool.org> wrote:
> 
> Hi! Thanks for the fixes!
> 
>>>> diff --git a/src/box/sql/vdbe.c b/src/box/sql/vdbe.c
>>>> index 24d992284..80d2fd0aa 100644
>>>> --- a/src/box/sql/vdbe.c
>>>> +++ b/src/box/sql/vdbe.c
>>>> @@ -2881,7 +2873,7 @@ case OP_MakeRecord: {
>>>> 	 * of the record to data0.
>>>> 	 */
>>>> 	nField = pOp->p1;
>>>> -	zAffinity = pOp->p4.z;
>>>> +	enum field_type *types = (enum field_type *)pOp->p4.z;
>>> 
>>> 2. Maybe, it is worth adding enum field_type *types into VdbeOp.p4union
>>> and do not cast. Like we did with many other pointers.
>> Thanks for suggestion, but I guess it is not necessary now.
>> Lets consider this refactoring a bit later.
> 
> Space * and other members of p4union also were not
> necessary, but they make it easier to understand what can
> be stored in p4, when you look at struct VdbeOp. So please,
> apply this:

Ok, sorry, I slightly misunderstood your proposal:
I forgot that they would have the same layout and
we wouldn’t have to refactor sqlite3VdbeChangeP4()
with P4_FIELDTYPE and so on. Thanks, applied.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190205/3cc39640/attachment.html>


More information about the Tarantool-patches mailing list