@@ -537,13 +537,13 @@ TExprBase BuildDeleteTableWithIndex(const TKiWriteTable& write, const TKikimrTab
537
537
.Done ();
538
538
}
539
539
540
- TExprBase BuildRowsToDelete (const TKikimrTableDescription& tableData, bool withSystemColumns, const TCoLambda& filter,
541
- const TPositionHandle pos, TExprContext& ctx)
540
+ TExprBase BuildRowsToDelete (const TKikimrTableDescription& tableData, bool withSystemColumns,
541
+ const TCoLambda& filter, const TCoAtom& isBatch, const TPositionHandle pos, TExprContext& ctx)
542
542
{
543
543
const auto tableMeta = BuildTableMeta (tableData, pos, ctx);
544
544
const auto tableColumns = BuildColumnsList (tableData, pos, ctx, withSystemColumns, true /* ignoreWriteOnlyColumns*/ );
545
545
546
- const auto allRows = BuildReadTable (tableColumns, pos, tableData, false , ctx);
546
+ const auto allRows = BuildReadTable (tableColumns, pos, tableData, (isBatch == " true " ) , ctx);
547
547
548
548
return Build<TCoFilter>(ctx, pos)
549
549
.Input (allRows)
@@ -554,7 +554,7 @@ TExprBase BuildRowsToDelete(const TKikimrTableDescription& tableData, bool withS
554
554
TExprBase BuildDeleteTable (const TKiDeleteTable& del, const TKikimrTableDescription& tableData, bool withSystemColumns,
555
555
TExprContext& ctx)
556
556
{
557
- auto rowsToDelete = BuildRowsToDelete (tableData, withSystemColumns, del.Filter (), del.Pos (), ctx);
557
+ auto rowsToDelete = BuildRowsToDelete (tableData, withSystemColumns, del.Filter (), del.IsBatch (), del. Pos (), ctx);
558
558
auto keysToDelete = ProjectColumns (rowsToDelete, tableData.Metadata ->KeyColumnNames , ctx);
559
559
560
560
return Build<TKqlDeleteRows>(ctx, del.Pos ())
@@ -569,7 +569,7 @@ TExprBase BuildDeleteTable(const TKiDeleteTable& del, const TKikimrTableDescript
569
569
TExprBase BuildDeleteTableWithIndex (const TKiDeleteTable& del, const TKikimrTableDescription& tableData,
570
570
bool withSystemColumns, TExprContext& ctx)
571
571
{
572
- auto rowsToDelete = BuildRowsToDelete (tableData, withSystemColumns, del.Filter (), del.Pos (), ctx);
572
+ auto rowsToDelete = BuildRowsToDelete (tableData, withSystemColumns, del.Filter (), del.IsBatch (), del. Pos (), ctx);
573
573
574
574
auto indexes = BuildSecondaryIndexVector (tableData, del.Pos (), ctx, nullptr ,
575
575
[] (const TKikimrTableMetadata& meta, TPositionHandle pos, TExprContext& ctx) -> TExprBase {
@@ -620,9 +620,9 @@ TExprBase BuildDeleteTableWithIndex(const TKiDeleteTable& del, const TKikimrTabl
620
620
}
621
621
622
622
TExprBase BuildRowsToUpdate (const TKikimrTableDescription& tableData, bool withSystemColumns, const TCoLambda& filter,
623
- const TPositionHandle pos, TExprContext& ctx)
623
+ const TCoAtom& isBatch, const TPositionHandle pos, TExprContext& ctx)
624
624
{
625
- auto kqlReadTable = BuildReadTable (BuildColumnsList (tableData, pos, ctx, withSystemColumns, true /* ignoreWriteOnlyColumns*/ ), pos, tableData, false , ctx);
625
+ auto kqlReadTable = BuildReadTable (BuildColumnsList (tableData, pos, ctx, withSystemColumns, true /* ignoreWriteOnlyColumns*/ ), pos, tableData, (isBatch == " true " ) , ctx);
626
626
627
627
return Build<TCoFilter>(ctx, pos)
628
628
.Input (kqlReadTable)
@@ -689,7 +689,7 @@ THashSet<TStringBuf> GetUpdateColumns(const TKikimrTableDescription& tableData,
689
689
TExprBase BuildUpdateTable (const TKiUpdateTable& update, const TKikimrTableDescription& tableData,
690
690
bool withSystemColumns, TExprContext& ctx)
691
691
{
692
- auto rowsToUpdate = BuildRowsToUpdate (tableData, withSystemColumns, update.Filter (), update.Pos (), ctx);
692
+ auto rowsToUpdate = BuildRowsToUpdate (tableData, withSystemColumns, update.Filter (), update.IsBatch (), update. Pos (), ctx);
693
693
694
694
auto updateColumns = GetUpdateColumns (tableData, update.Update ());
695
695
auto updatedRows = BuildUpdatedRows (rowsToUpdate, update.Update (), updateColumns, update.Pos (), ctx);
@@ -717,7 +717,7 @@ TExprBase BuildUpdateTable(const TKiUpdateTable& update, const TKikimrTableDescr
717
717
TExprBase BuildUpdateTableWithIndex (const TKiUpdateTable& update, const TKikimrTableDescription& tableData,
718
718
bool withSystemColumns, TExprContext& ctx)
719
719
{
720
- auto rowsToUpdate = BuildRowsToUpdate (tableData, withSystemColumns, update.Filter (), update.Pos (), ctx);
720
+ auto rowsToUpdate = BuildRowsToUpdate (tableData, withSystemColumns, update.Filter (), update.IsBatch (), update. Pos (), ctx);
721
721
722
722
TVector<TExprBase> effects;
723
723
@@ -772,7 +772,7 @@ TExprBase BuildUpdateTableWithIndex(const TKiUpdateTable& update, const TKikimrT
772
772
.Columns ()
773
773
.Add (updateColumnsList)
774
774
.Build ()
775
- .IsBatch (ctx. NewAtom ( update.Pos (), " false " ))
775
+ .IsBatch (update.IsBatch ( ))
776
776
.Settings (IsConditionalUpdateSetting (ctx, update.Pos ()))
777
777
.ReturningColumns (update.ReturningColumns ())
778
778
.Done ();
@@ -843,7 +843,7 @@ TExprBase BuildUpdateTableWithIndex(const TKiUpdateTable& update, const TKikimrT
843
843
.Columns ()
844
844
.Add (indexColumnsList)
845
845
.Build ()
846
- .IsBatch (ctx. NewAtom ( update.Pos (), " false " ))
846
+ .IsBatch (update.IsBatch ( ))
847
847
.Settings ().Build ()
848
848
.Done ();
849
849
0 commit comments