Skip to content

Commit

Permalink
optimize tap changer steps db writings and db reading
Browse files Browse the repository at this point in the history
Signed-off-by: Etienne LESOT <[email protected]>
  • Loading branch information
EtienneLt committed Feb 6, 2025
1 parent 3543dff commit 5ba99ad
Show file tree
Hide file tree
Showing 11 changed files with 1,044 additions and 114 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,15 @@ public final class QueryCatalog {
static final String REGULATING_TAP_CHANGER_TYPE = "regulatingTapChangerType";
public static final String EQUIPMENT_ID_COLUMN = "equipmentId";
static final String REGULATING_EQUIPMENT_ID = "regulatingEquipmentId";
static final String INDEX_COLUMN = "index";
static final String TAPCHANGER_TYPE_COLUMN = "tapChangerType";
static final String ALPHA_COLUMN = "alpha";
public static final String INDEX_COLUMN = "index";
public static final String TAPCHANGER_TYPE_COLUMN = "tapChangerType";
public static final String TAPCHANGER_STEPS_COLUMN = "tapchangersteps";
public static final String ALPHA_COLUMN = "alpha";
static final String TEMPORARY_LIMITS_TABLE = "temporarylimits";
static final String TEMPORARY_LIMITS_COLUMN = "temporarylimits";
static final String PERMANENT_LIMITS_TABLE = "permanentlimits";
static final String PERMANENT_LIMITS_COLUMN = "permanentlimits";
static final String TAP_CHANGER_STEP_TABLE = "tapChangerStep";
public static final String TAP_CHANGER_STEP_TABLE = "tapChangerStep";
static final String REGULATING_POINT_TABLE = "regulatingPoint";
static final String REGULATION_MODE = "regulationMode";
public static final String SIDE_COLUMN = "side";
Expand Down Expand Up @@ -606,31 +607,16 @@ public static String buildCloneTapChangerStepQuery() {
EQUIPMENT_TYPE_COLUMN + ", " +
NETWORK_UUID_COLUMN + "," +
VARIANT_NUM_COLUMN + "," +
INDEX_COLUMN + ", " +
SIDE_COLUMN + ", " +
TAPCHANGER_TYPE_COLUMN + ", " +
"rho" + ", " +
"r" + ", " +
"x" + ", " +
"g" + ", " +
"b" + ", " +
ALPHA_COLUMN + ") " +
TAPCHANGER_STEPS_COLUMN + ") " +
"select " +
EQUIPMENT_ID_COLUMN + ", " +
EQUIPMENT_TYPE_COLUMN + ", " +
"?" + "," +
"?" + "," +
INDEX_COLUMN + ", " +
SIDE_COLUMN + ", " +
"?, ?, " +
TAPCHANGER_TYPE_COLUMN + ", " +
"rho" + ", " +
"r" + ", " +
"x" + ", " +
"g" + ", " +
"b" + ", " +
ALPHA_COLUMN +
" from " + TAP_CHANGER_STEP_TABLE + " " +
"where " +
TAPCHANGER_STEPS_COLUMN +
" from " + TAP_CHANGER_STEP_TABLE +
" where " +
NETWORK_UUID_COLUMN + " = ?" + " and " +
VARIANT_NUM_COLUMN + " = ? ";
}
Expand All @@ -639,22 +625,14 @@ public static String buildTapChangerStepQuery(String columnNameForWhereClause) {
return "select " +
EQUIPMENT_ID_COLUMN + ", " +
EQUIPMENT_TYPE_COLUMN + ", " +
NETWORK_UUID_COLUMN + "," +
VARIANT_NUM_COLUMN + "," +
INDEX_COLUMN + ", " +
SIDE_COLUMN + ", " +
TAPCHANGER_TYPE_COLUMN + ", " +
"rho" + ", " +
"r" + ", " +
"x" + ", " +
"g" + ", " +
"b" + ", " +
ALPHA_COLUMN +
NETWORK_UUID_COLUMN + ", " +
VARIANT_NUM_COLUMN + ", " +
TAPCHANGER_STEPS_COLUMN +
" from " + TAP_CHANGER_STEP_TABLE + " " +
"where " +
NETWORK_UUID_COLUMN + " = ?" + " and " +
VARIANT_NUM_COLUMN + " = ? and " +
columnNameForWhereClause + " = ? order by " + INDEX_COLUMN;
columnNameForWhereClause + " = ?";
}

public static String buildTapChangerStepWithInClauseQuery(String columnNameForInClause, int numberOfValues) {
Expand All @@ -664,17 +642,9 @@ public static String buildTapChangerStepWithInClauseQuery(String columnNameForIn
return "select " +
EQUIPMENT_ID_COLUMN + ", " +
EQUIPMENT_TYPE_COLUMN + ", " +
NETWORK_UUID_COLUMN + "," +
VARIANT_NUM_COLUMN + "," +
INDEX_COLUMN + ", " +
SIDE_COLUMN + ", " +
TAPCHANGER_TYPE_COLUMN + ", " +
"rho" + ", " +
"r" + ", " +
"x" + ", " +
"g" + ", " +
"b" + ", " +
ALPHA_COLUMN +
NETWORK_UUID_COLUMN + ", " +
VARIANT_NUM_COLUMN + ", " +
TAPCHANGER_STEPS_COLUMN +
" from " + TAP_CHANGER_STEP_TABLE + " " +
"where " +
NETWORK_UUID_COLUMN + " = ?" + " and " +
Expand All @@ -690,16 +660,9 @@ public static String buildInsertTapChangerStepQuery() {
EQUIPMENT_TYPE_COLUMN + ", " +
NETWORK_UUID_COLUMN + "," +
VARIANT_NUM_COLUMN + "," +
INDEX_COLUMN + ", " +
SIDE_COLUMN + ", " +
TAPCHANGER_TYPE_COLUMN + ", " +
"rho" + ", " +
"r" + ", " +
"x" + ", " +
"g" + ", " +
"b" + ", " +
ALPHA_COLUMN + ")" +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
TAPCHANGER_STEPS_COLUMN + ") " +
" values (?, ?, ?, ?, ?, ?)";
}

public static String buildDeleteTapChangerStepQuery() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/**
* Copyright (c) 2025, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.powsybl.network.store.server.json;

import com.powsybl.network.store.model.TapChangerStepAttributes;
import com.powsybl.network.store.model.TapChangerType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

/**
* @author Etienne Lesot <etienne.lesot at rte-france.com>
*/
@ToString
@Builder
@AllArgsConstructor
@Getter
public class TapChangerStepSqlData {

private double rho;
private double r;
private double x;
private double g;
private double b;
private Double alpha;
private Integer index;
private Integer side;
private TapChangerType type;

public TapChangerStepSqlData() {
// empty constructor for Jackson
}

public static TapChangerStepSqlData of(TapChangerStepAttributes tapChangerStepAttributes) {
return TapChangerStepSqlData.builder()
.rho(tapChangerStepAttributes.getRho())
.r(tapChangerStepAttributes.getR())
.x(tapChangerStepAttributes.getX())
.g(tapChangerStepAttributes.getG())
.b(tapChangerStepAttributes.getB())
.alpha(tapChangerStepAttributes.getAlpha())
.index(tapChangerStepAttributes.getIndex())
.side(tapChangerStepAttributes.getSide())
.type(tapChangerStepAttributes.getType())
.build();
}

public TapChangerStepAttributes toTapChangerStepAttributes() {
return TapChangerStepAttributes.builder()
.rho(rho)
.r(r)
.x(x)
.g(g)
.b(b)
.alpha(alpha)
.index(index)
.side(side)
.type(type)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.powsybl.network.store.model.*;
import com.powsybl.network.store.server.NetworkStoreRepository;
import com.powsybl.network.store.server.migration.v211limits.V211LimitsMigration;
import com.powsybl.network.store.server.migration.v214tapchangersteps.V214TapChangerStepsMigration;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
Expand Down Expand Up @@ -39,4 +40,13 @@ public ResponseEntity<Void> migrateV211Limits(@Parameter(description = "Network
V211LimitsMigration.migrateV211Limits(repository, networkId, variantNum);
return ResponseEntity.ok().build();
}

@PutMapping(value = "/v214tapChangeSteps/{networkId}/{variantNum}")
@Operation(summary = "Migrate tap changer steps of a network")
@ApiResponses(@ApiResponse(responseCode = "200", description = "Successfully migrated tap changer steps from V2.14.0 to new model"))
public ResponseEntity<Void> migrateV214TapChangerSteps(@Parameter(description = "Network ID", required = true) @PathVariable("networkId") UUID networkId,
@Parameter(description = "Variant num", required = true) @PathVariable("variantNum") int variantNum) {
V214TapChangerStepsMigration.migrateV214TapChangerSteps(repository, networkId, variantNum);
return ResponseEntity.ok().build();
}
}
Loading

0 comments on commit 5ba99ad

Please sign in to comment.