<HTML><BODY>I am sorry, I forgot to specify branch name and ticket.<br><br>Branch:<br><a href="https://github.com/tarantool/tarantool/tree/bn/gh-3317-remove-makerecord">https://github.com/tarantool/tarantool/tree/bn/gh-3317-remove-makerecord</a> <br>Issue:<br>https://github.com/tarantool/tarantool/issues/3317<br><br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Среда,  4 апреля 2018, 15:38 +03:00 от Bulat Niatshin <niatshin@tarantool.org>:<br>
        <br>
        <div id="">

<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15228455080000000809_BODY">OP_MakeRecord creates a record from a given range of registers<br>
and stores that record in a specified register. But now even<br>
secondary indexes with non-default ON CONFLICT clause doesn't<br>
need it, it is necessary only for primary key indexes. However<br>
that unnecesary opcodes appear in INSERT listings. This patch<br>
contains a fix for that.<br>
<br>
Closes #3317<br>
---<br>
 src/box/sql/insert.c | 16 ++++------------<br>
 1 file changed, 4 insertions(+), 12 deletions(-)<br>
<br>
diff --git a/src/box/sql/insert.c b/src/box/sql/insert.c<br>
index 4a57b23f5..701fae412 100644<br>
--- a/src/box/sql/insert.c<br>
+++ b/src/box/sql/insert.c<br>
@@ -1309,18 +1309,10 @@ sqlite3GenerateConstraintChecks(Parse * pParse,         /* The parser context */<br>
                                   sqlite3VdbeResolveLabel(v, skip_if_null);<br>
                           }<br>
                   }<br>
-                       if (IsPrimaryKeyIndex(pIdx) || uniqueByteCodeNeeded) {<br>
-                               sqlite3VdbeAddOp3(v, OP_MakeRecord, regNewData + 1,<br>
-                                                 pTab->nCol, aRegIdx[ix]);<br>
-                               VdbeComment((v, "for %s", pIdx->zName));<br>
-                       }<br>
-               } else {<br>
-                       /* kyukhin: for Tarantool, this should be evaluated to NOP.  */<br>
-                       if (IsPrimaryKeyIndex(pIdx) || uniqueByteCodeNeeded) {<br>
-                               sqlite3VdbeAddOp3(v, OP_MakeRecord, regIdx,<br>
-                                                 nIdxCol, aRegIdx[ix]);<br>
-                               VdbeComment((v, "for %s", pIdx->zName));<br>
-                       }<br>
+<br>
+                       sqlite3VdbeAddOp3(v, OP_MakeRecord, regNewData + 1,<br>
+                                       pTab->nCol, aRegIdx[ix]);<br>
+                       VdbeComment((v, "for %s", pIdx->zName));<br>
           }<br>
 <br>
           /* In an UPDATE operation, if this index is the PRIMARY KEY<br>
-- <br>
2.14.1<br>
<br>
<br>
</div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br><br></BODY></HTML>