Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
larshp committed Jan 29, 2025
1 parent 0cda7a2 commit 72a5e66
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 11 deletions.
3 changes: 2 additions & 1 deletion src/adbc/cl_sql_connection.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,14 @@ CLASS cl_sql_connection IMPLEMENTATION.
ENDMETHOD.

METHOD create_statement.
CREATE OBJECT statement.
CREATE OBJECT statement EXPORTING con_ref = me.
ENDMETHOD.

METHOD get_connection.
" only supported for now,
ASSERT sharable = abap_true.
CREATE OBJECT connection.
connection->mv_con_name = con_name.
ENDMETHOD.

METHOD get_abap_connection.
Expand Down
22 changes: 12 additions & 10 deletions src/adbc/cl_sql_statement.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ CLASS cl_sql_statement IMPLEMENTATION.
ELSE.
mv_connection = con_ref->get_con_name( ).
ENDIF.

ASSERT mv_connection IS NOT INITIAL.
ENDMETHOD.

METHOD execute_ddl.
Expand Down Expand Up @@ -67,29 +69,29 @@ CLASS cl_sql_statement IMPLEMENTATION.
ENDMETHOD.

METHOD execute_query.
DATA lx_osql TYPE REF TO cx_sy_dynamic_osql_semantics.
DATA lv_sql_message TYPE string.

ASSERT statement IS NOT INITIAL.

WRITE / mv_connection.

WRITE '@KERNEL if (abap.context.databaseConnections[this.mv_connection.get()] === undefined) {'.
lv_sql_message = 'not connected to db'.
WRITE '@KERNEL }'.
IF lv_sql_message IS NOT INITIAL.
RAISE EXCEPTION TYPE cx_sql_exception.
RAISE EXCEPTION TYPE cx_sql_exception EXPORTING sql_message = lv_sql_message.
ENDIF.

CREATE OBJECT result_set.

WRITE '@KERNEL try {'.
WRITE '@KERNEL const res = await abap.context.databaseConnections[this.mv_connection.get()].select({select: statement.get()});'.
TRY.
WRITE '@KERNEL const res = await abap.context.databaseConnections[this.mv_connection.get()].select({select: statement.get()});'.
* WRITE '@KERNEL console.dir(res.rows);'.
WRITE '@KERNEL result_set.get().mv_magic = res.rows;'.
WRITE '@KERNEL } catch(e) {'.
WRITE '@KERNEL lv_sql_message.set(e + "");'.
WRITE '@KERNEL }'.
IF lv_sql_message IS NOT INITIAL.
RAISE EXCEPTION TYPE cx_sql_exception EXPORTING sql_message = lv_sql_message.
ENDIF.
WRITE '@KERNEL result_set.get().mv_magic = res.rows;'.
CATCH cx_sy_dynamic_osql_semantics INTO lx_osql.
RAISE EXCEPTION TYPE cx_sql_exception EXPORTING sql_message = lx_osql->sqlmsg.
ENDTRY.

ENDMETHOD.

Expand Down
1 change: 1 addition & 0 deletions test/setup.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ export async function setup(abap, schemas, insert) {
database: "postgres",
password: "postgres",
port: 5432,
trace: true,
});
}

0 comments on commit 72a5e66

Please sign in to comment.