We need to persist command history to disk.
I think the command history needs to be per server registration.
I think we should store them in the same folder as the connection file, but name it <SERVER_NAME>.history
I think we should add a option File->Options->General->[SQL Shell History (Default)] with default of true, right above the [Save Passwords (Default)]
I think we should add a option in the Server Registration->Advanced->[Enable SQL Shell History] with a default value based on the above option.
Advanced tab in server registration is way busy and describes the server connection settings (external) rather than some internal convenience.
I suggest we rename "Shell Script" tab to "Shell" and add a checkbox there.
Also, if we store history on disk we need an option to limit the history size.
Please review.
This sounds good to me. Lets rename to "Shell", and add the checkbox there.
Lets add the Shell History limit size to the Shell Options in the Shell so it is global.
This sounds good to me. Lets rename to "Shell", and add the checkbox there.
Lets add the Shell History limit size to the Shell Options in the Shell so it is global.
Keep in mind that a shell window can be detached from one server and connected to another. Or be disconnected from the start. Where would the shell history be stored?
So perhaps the shell history should be global for all shells.
Keep in mind that a shell window can be detached from one server and connected to another. Or be disconnected from the start. Where would the shell history be stored?
So perhaps the shell history should be global for all shells.
The history should be stored with the new Server Connection when connecting to a new server.
The history should be stored with the new Server Connection when connecting to a new server.
Where is the history stored for shells that are not initially connected?
Where is the history stored for shells that are not initially connected?
After a discussion:
1. unconnected shells should use global history
2. history files should have -rw------- permissions
3. we may add a variable to control history (sqsh: ${histsave})
After a discussion:
1. unconnected shells should use global history
2. history files should have -rw------- permissions
3. we may add a variable to control history (sqsh: ${histsave})
This is getting more difficult: what happens when two or more shells are opened? The history must be shared, either per-server or globally.
Should the history UI (multiple UIs) track changes to the (global / per server) history? In real time?
This is getting more difficult: what happens when two or more shells are opened? The history must be shared, either per-server or globally.
Should the history UI (multiple UIs) track changes to the (global / per server) history? In real time?
It looks like both MAC OS X terminal and sqsh operate similarly: load the history file in memory when the shell process starts, then modify history in memory and write it to disk when the shell process exits. There is no synchronization and each process overwrites the history file on disk, losing previously saved data.
We'll do the same.
It looks like both MAC OS X terminal and sqsh operate similarly: load the history file in memory when the shell process starts, then modify history in memory and write it to disk when the shell process exits. There is no synchronization and each process overwrites the history file on disk, losing previously saved data.
We'll do the same.
added the following variables:
histsave
histsize
histfile
added the following variables:
histsave
histsize
histfile
updated user manual:
https://docs.google.com/document/d/1oPc_3Lxzb10d17sQr4Sm4U57hJrB6TuhDM0V6Kab_i4/edit
please comment.
updated user manual:
https://docs.google.com/document/d/1oPc_3Lxzb10d17sQr4Sm4U57hJrB6TuhDM0V6Kab_i4/edit
please comment.
Issue #6319 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build 11.0.0-rc-40 |
No time estimate |
Advanced tab in server registration is way busy and describes the server connection settings (external) rather than some internal convenience.
I suggest we rename "Shell Script" tab to "Shell" and add a checkbox there.
Also, if we store history on disk we need an option to limit the history size.
Please review.