Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] callProcedure() does not put the return value in the results object

Aperta
#367 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
javascript, node.js
Ambito
api, backend

Direzione di ricerca

Inizia dal punto di ingresso callProcedure() ed esegui la riproduzione Node.js fornita con la configurazione IBM i ODBC. Traccia come viene gestito il valore restituito dalla stored procedure insieme al parametro di output e considera il lavoro eseguito quando la proprietà return dell'oggetto results contiene 42 mentre parameters contiene "goodbye".

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

confirmed

Describe your system

  • odbc Package 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)
Lingua principale
JavaScript
Stelle
159
Fork
92
Merge medio
5h 59m
PR unite (30g)
3

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di IBM/node-odbc

Tutte le issue di IBM/node-odbc

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.