diff --git a/idl/mdsconnect.pro b/idl/mdsconnect.pro index dd4bcbe236..1dc25be240 100644 --- a/idl/mdsconnect.pro +++ b/idl/mdsconnect.pro @@ -111,6 +111,7 @@ pro Mds$SendArg,sock,n,idx,arg return end +; This procedure is likely obsolete pro mds$connect,host,status=status,quiet=quiet,port=port on_error,2 mds$disconnect,/quiet @@ -141,16 +142,15 @@ pro mds$disconnect,status=status,quiet=quiet return end - +; This procedure is likely obsolete pro connect,host,_EXTRA=e mds$connect,host,_EXTRA=e return end -;*/ - -pro mdsconnect,host,status=status,quiet=quiet,port=port,socket=socket +; This procedure is used to connect to MDSplus archive servers and to database servers +pro mdsconnect,host,status=status,quiet=quiet,port=port,socket=socket,database=database forward_function mds_keyword_set on_error,2 if (not mds_keyword_set(socket=socket)) then $ @@ -163,9 +163,16 @@ pro mdsconnect,host,status=status,quiet=quiet,port=port,socket=socket sockmin=sockmin() if (sock ge sockmin) then begin status = 1 - if not mds_keyword_set(socket=socket) then $ - !MDS_SOCKET = sock $ - else $ + ; The !MDS_SOCKET only tracks connections to MDSplus archive servers. See MDSDbConnect for database connections. + if not keyword_set(database) then begin + defsysv, '!MDS_SOCKET', exists=conn + if not conn then begin + defsysv, '!MDS_SOCKET', fix(sock) + endif else begin + !MDS_SOCKET = fix(sock) + endelse + endif + if mds_keyword_set(socket=socket) then $ socket = sock endif else begin if not keyword_set(quiet) then message,'Error connecting to '+host,/IOERROR diff --git a/idl/mdssql.pro b/idl/mdssql.pro index be7b76c488..ec21d550e5 100644 --- a/idl/mdssql.pro +++ b/idl/mdssql.pro @@ -70,7 +70,7 @@ pro MDSDbConnect, host endif if (host ne "" and host ne "local") then begin socket=-1 - MdsConnect, host, socket=socket + MdsConnect, host, socket=socket, /database !MDSDB_SOCKET = socket !MDSDB_HOST=host endif diff --git a/idl/set_database.pro b/idl/set_database.pro index ee4a16c41f..c04d2ca5a4 100644 --- a/idl/set_database.pro +++ b/idl/set_database.pro @@ -425,7 +425,7 @@ pro MDSDbConnect, host endif if (host ne "" and host ne "local") then begin socket=-1 - MdsConnect, host, socket=socket + MdsConnect, host, socket=socket, /database !MDSDB_SOCKET = socket !MDSDB_HOST=host endif