mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
Patch: improve performance - new secondary keys (#5102)
* Patch: improve performance - new secondary keys * cleanup Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
3da00146b7
commit
57879a87ed
|
@ -309,6 +309,7 @@ CLASS zcl_abapgit_diff IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
||||||
|
|
||||||
LOOP AT mt_diff ASSIGNING <ls_diff>
|
LOOP AT mt_diff ASSIGNING <ls_diff>
|
||||||
|
USING KEY new_num
|
||||||
WHERE old = is_diff_old-old
|
WHERE old = is_diff_old-old
|
||||||
AND new = is_diff_old-new
|
AND new = is_diff_old-new
|
||||||
AND new_num = is_diff_old-new_num
|
AND new_num = is_diff_old-new_num
|
||||||
|
@ -324,19 +325,11 @@ CLASS zcl_abapgit_diff IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD set_patch_new.
|
METHOD set_patch_new.
|
||||||
|
|
||||||
DATA: lv_new_num TYPE i.
|
|
||||||
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
||||||
|
|
||||||
LOOP AT mt_diff ASSIGNING <ls_diff>.
|
READ TABLE mt_diff WITH TABLE KEY new_num
|
||||||
|
COMPONENTS new_num = iv_line_new
|
||||||
lv_new_num = <ls_diff>-new_num.
|
ASSIGNING <ls_diff>.
|
||||||
|
|
||||||
IF lv_new_num = iv_line_new.
|
|
||||||
EXIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Invalid new line number { iv_line_new }| ).
|
zcx_abapgit_exception=>raise( |Invalid new line number { iv_line_new }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -348,19 +341,11 @@ CLASS zcl_abapgit_diff IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD set_patch_old.
|
METHOD set_patch_old.
|
||||||
|
|
||||||
DATA: lv_old_num TYPE i.
|
|
||||||
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
||||||
|
|
||||||
LOOP AT mt_diff ASSIGNING <ls_diff>.
|
READ TABLE mt_diff WITH TABLE KEY old_num
|
||||||
|
COMPONENTS old_num = iv_line_old
|
||||||
lv_old_num = <ls_diff>-old_num.
|
ASSIGNING <ls_diff>.
|
||||||
|
|
||||||
IF lv_old_num = iv_line_old.
|
|
||||||
EXIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Invalid old line number { iv_line_old }| ).
|
zcx_abapgit_exception=>raise( |Invalid old line number { iv_line_old }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
|
@ -269,7 +269,10 @@ INTERFACE zif_abapgit_definitions
|
||||||
beacon TYPE i,
|
beacon TYPE i,
|
||||||
END OF ty_diff .
|
END OF ty_diff .
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_diffs_tt TYPE STANDARD TABLE OF ty_diff WITH DEFAULT KEY .
|
ty_diffs_tt TYPE STANDARD TABLE OF ty_diff
|
||||||
|
WITH DEFAULT KEY
|
||||||
|
WITH NON-UNIQUE SORTED KEY new_num COMPONENTS new_num
|
||||||
|
WITH NON-UNIQUE SORTED KEY old_num COMPONENTS old_num.
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_count,
|
BEGIN OF ty_count,
|
||||||
insert TYPE i,
|
insert TYPE i,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user