Closed tom-writes-code closed 3 days ago
Please copy/paste the content of the Code for IBM i output after the browser fails to list the source files. Also, what's your system/user CCSID?
Hiya - sorry, I've only just found the "how to report a bug" section on the documentation.
👉🏻 Issue text goes here.
Context | Version |
---|---|
Code for IBM i version | 2.13.5 |
Visual Studio Code version | 1.94.2 |
Operating System | win32_x64 |
Can confirm - that library does exist:
Please share the contents of your Code for IBM i output channel after the list doesn't appear.
Thanks - I've included the full output, it's only the final few lines that are relevant to the actions here.
It seems to be reading the library as a file, rather than seeing it as another library.
.: echo "This should be the only text!"
{
"code": 0,
"signal": null,
"stdout": "This should be the only text!",
"stderr": ""
}
.: echo $HOME && cd && test -w $HOME
{
"code": 0,
"signal": null,
"stdout": "/home/SHARPT",
"stderr": ""
}
/home/SHARPT: /QOpenSys/usr/bin/qsh
liblist
{
"code": 0,
"signal": null,
"stdout": "RBTSYSLIB SYS\nQCMDOVR SYS\nQSYS SYS\nQSYS2 SYS\nQHLPSYS SYS\nQUSRSYS SYS\nQSHELL PRD\nQGPL2 USR\nQGPL USR\nJHCJUTIL USR\nSUTIL USR\nQTEMP USR",
"stderr": ""
}
/home/SHARPT: /QOpenSys/usr/bin/qsh
system "CRTLIB LIB(ILEDITOR) TEXT('Code for i temporary objects. May be cleared.')"
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "CPF2111: Library ILEDITOR already exists.\nCPC2206: Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed."
}
/home/SHARPT: [ -d "/tmp" ]
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: echo $SHELL
{
"code": 0,
"signal": null,
"stdout": "/QOpenSys/pkgs/bin/bash",
"stderr": ""
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
select LONG_COMMENT from qsys2.sysroutines where routine_schema = 'ILEDITOR' and routine_name = 'GETMBRINFO'
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\n\nLONG_COMMENT \n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n1 - Validate member information \n\n 1 RECORD(S) SELECTED.",
"stderr": ""
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_BY3KX AS (SELECT os.OBJNAME AS NAME, os.OBJTYPE AS TYPE, os.OBJATTRIBUTE AS ATTRIBUTE, OBJTEXT AS TEXT, os.IASP_NUMBER AS IASP_NUMBER, os.OBJSIZE AS SIZE, EXTRACT(EPOCH FROM (os.OBJCREATED)) * 1000 AS CREATED, EXTRACT(EPOCH FROM (os.CHANGE_TIMESTAMP)) * 1000 AS CHANGED, os.OBJOWNER AS OWNER, os.OBJDEFINER AS CREATED_BY from table( SYSTOOLS.SPLIT( INPUT_LIST => 'QGPL,QTEMP,F63HOLDDTA,F63HOLDING,F63FIGARO,QGPL,QGPL2,JHCJUTIL,SUTIL', DELIMITER => ',' ) ) libs, table( QSYS2.OBJECT_STATISTICS( OBJECT_SCHEMA => 'QSYS', OBJTYPELIST => '*LIB', OBJECT_NAME => libs.ELEMENT ) ) os) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_BY3KX *FIRST) TOSTMF(''/tmp/vscodetemp-O_3ensA3HX'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_JX9Y4 AS (select job_name, local_port from qsys2.netstat_job_info where cast(local_port_name as VarChar(14) CCSID 37) = 'is-debug-ile' fetch first row only) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_JX9Y4 *FIRST) TOSTMF(''/tmp/vscodetemp-O_7OvXLZ1A'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_DMLL8 AS (select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0') WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_DMLL8 *FIRST) TOSTMF(''/tmp/vscodetemp-O_jBNCEtxO'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: test -r /QIBM/ProdData/IBMiDebugService/package.json
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_3ensA3HX"
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_7ZBFN AS (select job_name, local_port from qsys2.netstat_job_info where cast(local_port_name as VarChar(14) CCSID 37) = 'is-debug-ile' fetch first row only) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_7ZBFN *FIRST) TOSTMF(''/tmp/vscodetemp-O_T6FGDOYm'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_XJT76 AS (select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0') WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_XJT76 *FIRST) TOSTMF(''/tmp/vscodetemp-O_UgX5enLi'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_7OvXLZ1A"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_jBNCEtxO"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_T6FGDOYm"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_UgX5enLi"
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_Q756S AS (select OS_VERSION concat '.' concat OS_RELEASE as VERSION from sysibmadm.env_sys_info) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_Q756S *FIRST) TOSTMF(''/tmp/vscodetemp-O_MANbOSKX'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_3CW9S AS (SELECT os.OBJNAME AS NAME, os.OBJTYPE AS TYPE, os.OBJATTRIBUTE AS ATTRIBUTE, OBJTEXT AS TEXT, os.IASP_NUMBER AS IASP_NUMBER, os.OBJSIZE AS SIZE, EXTRACT(EPOCH FROM (os.OBJCREATED)) * 1000 AS CREATED, EXTRACT(EPOCH FROM (os.CHANGE_TIMESTAMP)) * 1000 AS CHANGED, os.OBJOWNER AS OWNER, os.OBJDEFINER AS CREATED_BY from table( SYSTOOLS.SPLIT( INPUT_LIST => 'QGPL,QTEMP,F63HOLDDTA,F63HOLDING,F63FIGARO,QGPL,QGPL2,JHCJUTIL,SUTIL', DELIMITER => ',' ) ) libs, table( QSYS2.OBJECT_STATISTICS( OBJECT_SCHEMA => 'QSYS', OBJTYPELIST => '*LIB', OBJECT_NAME => libs.ELEMENT ) ) os) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_3CW9S *FIRST) TOSTMF(''/tmp/vscodetemp-O_9EK8JEbk'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: test -f /QIBM/UserData/IBMiDebugService/certs/debug_service.pfx
/home/SHARPT: test -r /QIBM/ProdData/IBMiDebugService/package.json
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: test -f /QIBM/UserData/IBMiDebugService/certs/debug_service.crt
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_MANbOSKX"
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_WL99Z AS (select max(ptf_group_level) as HIGHEST_DB2_PTF_GROUP_LEVEL from qsys2.group_ptf_info where PTF_GROUP_DESCRIPTION like 'DB2 FOR IBM I%' and ptf_group_status = 'INSTALLED') WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_WL99Z *FIRST) TOSTMF(''/tmp/vscodetemp-O_aBNmcxNy'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: test -f /QIBM/UserData/IBMiDebugService/.code4i.debug
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_9EK8JEbk"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: test -f /QIBM/ProdData/IBMiDebugService/bin/certs/debug_service.pfx
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_aBNmcxNy"
/home/SHARPT: ls $HOME/.vscode/mapepire-server-2.1.4.jar
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "/home/SHARPT/.vscode/mapepire-server-2.1.4.jar",
"stderr": ""
}
/home/SHARPT: echo $SHELL
{
"code": 0,
"signal": null,
"stdout": "/QOpenSys/pkgs/bin/bash",
"stderr": ""
}
/home/SHARPT: /QOpenSys/usr/bin/qsh
system "CHKOBJ OBJ(QSYS/QSYS) OBJTYPE(*LIB) AUT(*NONE)"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": "CPC2206: Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed."
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_NWBJD AS (select OBJNAME as NAME, OBJTYPE as TYPE, OBJATTRIBUTE as ATTRIBUTE, OBJTEXT as TEXT, 0 as IS_SOURCE, IASP_NUMBER as IASP_NUMBER, OBJSIZE as SIZE, extract(epoch from (OBJCREATED))*1000 as CREATED, extract(epoch from (CHANGE_TIMESTAMP))*1000 as CHANGED, OBJOWNER as OWNER, OBJDEFINER as CREATED_BY from table(QSYS2.OBJECT_STATISTICS(OBJECT_SCHEMA => 'QSYS ', OBJTYPELIST => '*LIB', OBJECT_NAME => 'O#062875*'))) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_NWBJD *FIRST) TOSTMF(''/tmp/vscodetemp-O_ijqhlRaC'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_ijqhlRaC"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: /QOpenSys/usr/bin/qsh
system "CHKOBJ OBJ(QSYS/O#06287525) OBJTYPE(*FILE) AUT(*UPD)"
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "CPF9801: Object O#06287525 in library QSYS not found.\nCPC2206: Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed."
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_N0C0J AS (With MEMBERS As ( SELECT rtrim(cast(a.system_table_schema as char(10) )) as LIBRARY, b.avgrowsize as RECORD_LENGTH, a.iasp_number as ASP, rtrim(cast(a.system_table_name as char(10) )) AS SOURCE_FILE, rtrim(cast(b.system_table_member as char(10) )) as NAME, coalesce(rtrim(cast(b.source_type as varchar(10) )), '') as TYPE, coalesce(rtrim(varchar(b.partition_text)), '') as TEXT, b.NUMBER_ROWS as LINES, extract(epoch from (b.CREATE_TIMESTAMP))*1000 as CREATED, extract(epoch from (b.LAST_SOURCE_UPDATE_TIMESTAMP))*1000 as CHANGED FROM qsys2.systables AS a JOIN qsys2.syspartitionstat AS b ON b.table_schema = a.table_schema AND b.table_name = a.table_name ) Select * From MEMBERS Where LIBRARY = 'QSYS' And SOURCE_FILE = 'O#06287525' And NAME Like '%' And TYPE Like '%' Order By NAME ASC) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_N0C0J *FIRST) TOSTMF(''/tmp/vscodetemp-O_4IAIdGyx'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_4IAIdGyx"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
What happens if you run this SQL statement via VS Code or ACS?
With MEMBERS As ( SELECT rtrim(cast(a.system_table_schema as char(10) )) as LIBRARY, b.avgrowsize as RECORD_LENGTH, a.iasp_number as ASP, rtrim(cast(a.system_table_name as char(10) )) AS SOURCE_FILE, rtrim(cast(b.system_table_member as char(10) )) as NAME, coalesce(rtrim(cast(b.source_type as varchar(10) )), '') as TYPE, coalesce(rtrim(varchar(b.partition_text)), '') as TEXT, b.NUMBER_ROWS as LINES, extract(epoch from (b.CREATE_TIMESTAMP))*1000 as CREATED, extract(epoch from (b.LAST_SOURCE_UPDATE_TIMESTAMP))*1000 as CHANGED FROM qsys2.systables AS a JOIN qsys2.syspartitionstat AS b ON b.table_schema = a.table_schema AND b.table_name = a.table_name ) Select * From MEMBERS Where LIBRARY = 'QSYS' And SOURCE_FILE = 'O#06287525' And NAME Like '%' And TYPE Like '%' Order By NAME ASC
0 rows retrieved.
I feel like it's assuming that o#06287525
is a source file, rather than a library. e.g, if it was looking for source file QRPGLESRC in library O#06287525, then it does find rows.
FWIW: Here's the code re-formatted with iACS:
WITH MEMBERS AS (
SELECT RTRIM(CAST(a.system_table_schema AS CHAR(10))) AS LIBRARY
,b.avgrowsize AS RECORD_LENGTH
,a.iasp_number AS ASP
,RTRIM(CAST(a.system_table_name AS CHAR(10))) AS SOURCE_FILE
,RTRIM(CAST(b.system_table_member AS CHAR(10))) AS NAME
,COALESCE(RTRIM(CAST(b.source_type AS VARCHAR(10))), '') AS TYPE
,COALESCE(RTRIM(VARCHAR(b.partition_text)), '') AS TEXT
,b.NUMBER_ROWS AS LINES
,EXTRACT(EPOCH FROM (b.CREATE_TIMESTAMP)) * 1000 AS CREATED
,EXTRACT(EPOCH FROM (b.LAST_SOURCE_UPDATE_TIMESTAMP)) * 1000 AS CHANGED
FROM qsys2.systables AS a
JOIN qsys2.syspartitionstat AS b
ON b.table_schema = a.table_schema
AND b.table_name = a.table_name
)
SELECT *
FROM MEMBERS
WHERE LIBRARY = 'QSYS'
AND SOURCE_FILE = 'O#06287525'
AND NAME LIKE '%'
AND TYPE LIKE '%'
ORDER BY NAME ASC;
@sebjulliand Is this logic defined in the getMemberList
API?
@tom-writes-code If you use a specific library name, does it work? Think I am closing in on a fix.
Hi
Yep - if I specify the full library in the filter, e.g. o#06287525 then the filter works
Here is my filter which I have setup as you described.
Here is the results, which makes a lot more sense:
@tom-writes-code I wonder if this is something dumb. Any chance you can create a wildcard filter for libraries that don't contain the pound sign / hash tag? (#
)
Same outcome I'm afraid
[...]
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_BBRRZ AS (select OBJNAME as NAME, OBJTYPE as TYPE, OBJATTRIBUTE as ATTRIBUTE, OBJTEXT as TEXT, 0 as IS_SOURCE, IASP_NUMBER as IASP_NUMBER, OBJSIZE as SIZE, extract(epoch from (OBJCREATED))*1000 as CREATED, extract(epoch from (CHANGE_TIMESTAMP))*1000 as CHANGED, OBJOWNER as OWNER, OBJDEFINER as CREATED_BY from table(QSYS2.OBJECT_STATISTICS(OBJECT_SCHEMA => 'QSYS ', OBJTYPELIST => '*LIB', OBJECT_NAME => 'SNDBX*'))) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_BBRRZ *FIRST) TOSTMF(''/tmp/vscodetemp-O_leKCk6DX'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_MPRFPRtG"
/home/SHARPT: ls $HOME/.vscode/mapepire-server-2.1.4.jar
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "/home/SHARPT/.vscode/mapepire-server-2.1.4.jar",
"stderr": ""
}
/home/SHARPT: echo $SHELL
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_leKCk6DX"
{
"code": 0,
"signal": null,
"stdout": "/QOpenSys/pkgs/bin/bash",
"stderr": ""
}
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
/home/SHARPT: /QOpenSys/usr/bin/qsh
system "CHKOBJ OBJ(QSYS/SNDBX1) OBJTYPE(*FILE) AUT(*UPD)"
/home/SHARPT: cd "/QSYS.LIB/SNDBX1.FILE" && (ls | wc -l)
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "bash: line 1: cd: /QSYS.LIB/SNDBX1.FILE: No such file or directory"
}
/home/SHARPT: /usr/bin/attr -p /QSYS.LIB/SNDBX1.FILE CCSID
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "CPF9801: Object SNDBX1 in library QSYS not found.\nCPC2206: Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed."
}
/home/SHARPT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
Call QSYS2.QCMDEXC('CHGJOB CCSID(37)');
CREATE TABLE QTEMP.O_4YXFM AS (With MEMBERS As ( SELECT rtrim(cast(a.system_table_schema as char(10) )) as LIBRARY, b.avgrowsize as RECORD_LENGTH, a.iasp_number as ASP, rtrim(cast(a.system_table_name as char(10) )) AS SOURCE_FILE, rtrim(cast(b.system_table_member as char(10) )) as NAME, coalesce(rtrim(cast(b.source_type as varchar(10) )), '') as TYPE, coalesce(rtrim(varchar(b.partition_text)), '') as TEXT, b.NUMBER_ROWS as LINES, extract(epoch from (b.CREATE_TIMESTAMP))*1000 as CREATED, extract(epoch from (b.LAST_SOURCE_UPDATE_TIMESTAMP))*1000 as CHANGED FROM qsys2.systables AS a JOIN qsys2.syspartitionstat AS b ON b.table_schema = a.table_schema AND b.table_name = a.table_name ) Select * From MEMBERS Where LIBRARY = 'QSYS' And SOURCE_FILE = 'SNDBX1' And NAME Like '%' And TYPE Like '%' Order By NAME ASC) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_4YXFM *FIRST) TOSTMF(''/tmp/vscodetemp-O_GJ7ZBF9F'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "attr: 001-2248 Error found getting attributes for file /QSYS.LIB/SNDBX1.FILE. No such path or directory."
}
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": ""
}
/home/SHARPT: cd "/QSYS.LIB/SNDBX2.FILE" && (ls | wc -l)
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "bash: line 1: cd: /QSYS.LIB/SNDBX2.FILE: No such file or directory"
}
/home/SHARPT: /usr/bin/attr -p /QSYS.LIB/SNDBX2.FILE CCSID
/home/SHARPT: rm -rf "/tmp/vscodetemp-O_GJ7ZBF9F"
{
"code": 1,
"signal": null,
"stdout": "",
"stderr": "attr: 001-2248 Error found getting attributes for file /QSYS.LIB/SNDBX2.FILE. No such path or directory."
}
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}
That's odd...it lists the libraries but give them the *FILE
type instead of *LIB
.
@tom-writes-code , would you mind running this query and putting the result here?
select
OBJNAME as NAME,
OBJTYPE as type,
OBJATTRIBUTE as ATTRIBUTE,
OBJTEXT as TEXT,
0 as IS_SOURCE,
IASP_NUMBER as IASP_NUMBER,
OBJSIZE as SIZE,
extract(
epoch
from
(OBJCREATED)
) * 1000 as CREATED,
extract(
epoch
from
(CHANGE_TIMESTAMP)
) * 1000 as CHANGED,
OBJOWNER as OWNER,
OBJDEFINER as CREATED_BY
from
table (
QSYS2.OBJECT_STATISTICS (
OBJECT_SCHEMA => 'QSYS ',
OBJTYPELIST => '*LIB',
OBJECT_NAME => 'SNDBX*'
)
)
Thanks!
Hi Seb - no problem. Two rows retrieved:
I confirm this issue on V7R3M0. The unexpected behavior is occuring since version 2.13.4, on 2.13.3 is working fine.
Switching to the pre-release version fixed this issue for me.
We believe to have solved this issue. You can switch to the pre-release to try the fix.
Yep, this is working for me on V2.14.0, thanks everyone!
Type: Bug
Create a filter with the following properties: Type: simple Libraries: use a wildcard, e.g. o#12345 for all libraries starting o#12345 Objects: Object types: SRCPF Members: Member type: * Not protected
The object browser is able to expand the list of libraries picked up, but no source can be seen in the libraries.
Previously, this would further break down into source types, but that is no longer possible when wildcarding.
Extension version: 2.13.5 VS Code version: Code 1.94.2 (384ff7382de624fb94dbaf6da11977bba1ecd427, 2024-10-09T16:08:44.566Z) OS version: Windows_NT x64 10.0.22631 Modes:
System Info
|Item|Value| |---|---| |CPUs|11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (8 x 2995)| |GPU Status|2d_canvas: enabledcanvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off| |Load (avg)|undefined| |Memory (System)|15.85GB (3.74GB free)| |Process Argv|--crash-reporter-id 8ca305ff-1eb7-4e9b-88dc-b5695f2c805a| |Screen Reader|no| |VM|0%|
A/B Experiments
``` vsliv368cf:30146710 vspor879:30202332 vspor708:30202333 vspor363:30204092 vscod805cf:30301675 binariesv615:30325510 vsaa593cf:30376535 py29gd2263:31024239 c4g48928:30535728 azure-dev_surveyone:30548225 a9j8j154:30646983 962ge761:30959799 pythongtdpath:30769146 pythonnoceb:30805159 asynctok:30898717 pythonmypyd1:30879173 2e7ec940:31000449 pythontbext0:30879054 accentitlementst:30995554 cppperfnew:31000557 dsvsc020:30976470 pythonait:31006305 dsvsc021:30996838 bdiig495:31013172 dvdeprecation:31068756 dwnewjupytercf:31046870 impr_priority:31102340 nativerepl2:31139839 refactort:31108082 pythonrstrctxt:31112756 wkspc-onlycs-t:31132770 nativeloc1:31134641 wkspc-ranged-t:31151552 cf971741:31144450 autoexpandse:31146404 iacca1:31156133 notype1cf:31157160 5fd0e150:31155592 dwcopilot:31162478 icondisabled:31158250 ```