Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CBRD-25352] When adding a user schema to a stored procedure, the way a built-in PL/SQL is called is changed, and the test tools need to be temporarily modified. #681

Merged
merged 1 commit into from
Aug 7, 2024

Conversation

jongmin-won
Copy link
Contributor

http://jira.cubrid.org/browse/CBRD-25352, CUBRID/cubrid#5258

Purpose

phase-1에서 Built-in PL/CSQL을 호출할 때는 'dbms_output.'을 붙여야 정상 실행됩니다.
ex)
AS-IS (if phase-0)
CALL get_line;

TO-BE (if phase-1)
CALL dbms_output.get_line;

Implementation

N/A

Remarks

  • 해당 PR이 merge되면 기존 phase-0가 merge된 develop branch에 영향을 미칩니다.

  • 따라서 phase-1가 merge될 때까지 임시로 catch 문 안에서 DBMS_OUTPUT. 을 제거한 Built-in PL/CSQL을 한 번 더 수행하도록 CTE를 수정했습니다.

    • 향후 phase-1 feature branch가 merge 되면 다시 제거할 계획입니다.
  • 이전 commit([CBRD-25352] Add a user schema to your stored procedures for consistency with other objects. #678)에서 testtools가 실패한 이유는 다음과 같습니다.

    • execute 함수가 Exception을 catch 하지 못하여 phase-0 방식으로 built-in pl/csql이 동작하지 못했습니다.

…_output.' to ensure normal execution. For example, 'call get_line;' -> 'call dbms_output.get_line;'
@jongmin-won jongmin-won marked this pull request as ready for review August 1, 2024 09:11
@jongmin-won jongmin-won self-assigned this Aug 1, 2024
@hyunikn
Copy link
Contributor

hyunikn commented Aug 2, 2024

세개의 브랜치 11.3, develop, feature/plcsql-p1n 각각에 대해서 테스트 해 본 결과는 어떻습니까.

@hyunikn
Copy link
Contributor

hyunikn commented Aug 2, 2024

feature/plcsql-p1n 에 대한 SQL 테스트는 develop 에 merge 될 때까지 로컬에서 확인하는 것으로 하면 이 임시 변경이 필요 없을 것 같습니다. develop 으로의 merge 도 얼마 남지 않은 것으로 알고 있습니다. 이 방향도 고려해 주시기 바랍니다.

@jongmin-won
Copy link
Contributor Author

jongmin-won commented Aug 2, 2024

develop, feature/plcsql-p1n 브랜치에서만 테스트를 진행 했으며,
sql/_05_plcsql 부분의 테스트 결과 built-in plcsql(enable, get_line 등)의 결과가 정상적으로 수행 됐습니다.

품질보증팀과 공유를 위해 11.3 브랜치를 포함한 전체 테스트 결과를 팀즈 RND 채널의 PLCSQL에 comment로 정리하겠습니다.

boolean phase_1_flag = false;

Statement temp_stmt;
conn.setAutoCommit(true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

server message on/off 가 있다고 해서 auto commit 을 true 로 하는 것은 무슨 이유일까요.

String message =
"Exception: the current version can't support DBMS_OUTPUT!";
this.onMessage(message);
temp_stmt.executeQuery("call DBMS_OUTPUT.put_line('Temporary !!');");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DBMS_OUTPUT.enable 이 불려진 상태라면 (예를 들어, TC에서 server-message on 후에 server-message off 를 하지 않은 상태) 라면 이 'Temporary !!' 라는 메시지가 result 에 찍히겠습니다.

@jongmin-won jongmin-won merged commit e3219b9 into CUBRID:develop Aug 7, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants