Programming Guide > Programming Guide > Working with a Database > How Programming for Multiple Sessions Works > How You Can Use Concurrent Frames and Multiple Sessions
Was this helpful?
How You Can Use Concurrent Frames and Multiple Sessions
Each running frame in an OpenROAD application has its own FrameExec object. Because you can set the DBSession object for each FrameExec object, concurrent frames in the application can run in different database sessions.
For example, assume that an application has two concurrent frames running and that the DBSession attribute for Frame_A is set to first_session and for Frame_B to second_session. The variables first_session and second_session are two reference variables of type DBSessionObject.
When a user works in Frame_A, the session represented by first_session is the application's current session. When the user moves to Frame_B, the application's current session becomes the session represented by the variable second_session. Each time a user switches frames, OpenROAD switches the session in which the user is working.
When you use concurrent frames in this manner, remember that transactions and cursors do not cross sessions. In the example just mentioned, if you issue a commit statement in Frame_A, it has no effect on database statements executed in Frame_B's script.
Last modified date: 12/20/2023