[BUG] callProcedure() does not put the return value in the results object
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript, node.js
Hướng nghiên cứu
Bắt đầu với entry point callProcedure() và chạy bản tái hiện Node.js được cung cấp trên thiết lập IBM i ODBC. Theo dõi cách giá trị trả về của stored procedure được xử lý cùng với output parameter, và xem xét phần công việc được thực hiện khi thuộc tính return của đối tượng results chứa 42 trong khi parameters chứa "goodbye".
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe your system
odbcPackage Version: 2.4.8- unixODBC version: 2.3.9-1
- ODBC Driver: IBM i Access ODBC Driver 1.1.0.27-0
- Database Name: DB2 for i
- Database Version: IBM i 7.4
- Database OS: IBM i 7.4
- Node.js Version: v18.18.2
- Node.js OS: IBM i 7.4
Describe the bug
When calling stored procedures with callProcedure(), the return value is not populated into the results object. Instead it's just undefined.
Expected behavior
The results object property "return" should have the return value from the stored procedure.
Code to reproduce
SQL to create an example stored procedure:
CREATE OR REPLACE PROCEDURE NODEODBC.test_return (
INOUT message varchar(128)
)
LANGUAGE SQL
BEGIN
set message = 'goodbye';
return 42;
END;
NodeJS code:
import odbc from 'odbc';
let conn = await odbc.connect('DSN=*LOCAL');
let parameters = ['hi there'];
let result = await conn.callProcedure(null, 'NODEODBC', 'TEST_RETURN', parameters);
console.log(result);
Results from NodeJS:
node stored-proc-return-value.js
[
statement: '{ CALL NODEODBC.TEST_RETURN (?) }',
parameters: [ 'goodbye' ],
return: undefined,
count: 0,
columns: []
]
Results from ACS Run SQL scripts:
call NODEODBC.test_return('hi there');
[ 02/06/2024, 11:20:41 AM ] Run Selected...
call NODEODBC.test_return('hi there')
Return Code = 42
Output Parameter #1 (MESSAGE) = goodbye
Statement ran successfully (2 ms)
- Ngôn ngữ chính
- JavaScript
- Star
- 159
- Fork
- 92
- Merge trung bình
- 5 giờ 59 phút
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của IBM/node-odbc
-
doc: how to run the testsĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
security
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
[Bug] Sybase ASE: Encoding issue (works in msnodesqlv8, fails in node-odbc with \x1A artifacts)Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
Tất cả issue của IBM/node-odbc
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
naver/egjs-flicking#971 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
RADAR-base/radar-self-enrolment-ui#118 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Renderer treats a sub-pixel width difference as a resize, which cancels the `motion()` entranceĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
MicrosoftDocs/edge-developer#3970 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent/scanner hive/hosted-available-lke648397-260827-5n31 quality testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày