SQLTools 1.4.1 branch 58X
- New functionality
- a new sql / sql*plus command parser / performer
- [5] sql*plus commands: describe, connect, ...
- [3] TOAD like mode for execution of sql command
[space line as separator for sql statements]
parser / performer
sql*plus commends: exec, define, undef
[define command has been improved significantly]
- [5] (90%) db grid support for TIMESTAMP, INTERVAL, XMLTIPE, format mask for NUMBER
[Implemented in branch 59, will be available after merging]
- [5] export grid data in sql-script format (and sql*loader)
- [4] session viewer
- Improving existing functionality
- [7] implement a filter for Object List
[Implementation notes: This is client-side implementation (reg exp). It should support oracle '_%' and reg exp expressions as well.]
- [7] add a input field in the Fidn Object window
- [5] cleanup history (from date, from number)
- [5] add text document template
- [5] hide internal oracle tables/indexes in Object List and ignore them in ExtractDDL
[implement a regexp-based filter which can be changes in "advanced" settings]
- [5] handle oracle exception-warning about pasword expiration and add change password dialog
- [5] add a list of ignored errors for sql script execution
- [5] ask user to create plan_table if it does not exist
[probably we use the latest 10g table format - test it]
- [5] info dialog (env)
- [5] if a transaction is started by EXPLAIN PLAN, commit it to prevent a commit/rollback request on exit
- [5] add "open tnsnames.ora" to tools menu
- [4] add posibility to choose name for new documents and rename for already created but not saved
[option to create a new document w/o saving on exit?]
- [4] an option to control reset a editor "modified" attribute for text/scripts loaded from db (reverse-engineered)
- [4] add command purge recyclebin for 10g
- [4] improve grid export menu/commands
[create individual commands for each particular export format instead of the selectior in grid export settings]
- [4] reimplemet the object tree for Find Object
- [4] extensive testing of compatibility with 7.3 and 8.05
- [3] xml/text export for explain plan
- [3] next error is too slow because of output log redrawing
- [3] ESC in control bar should return focus to the current active mdi window, and maybe close froat control bar
- [3] tab for grid navigation
- [3] append "create use" template to pl/sql templates
- [3] add CSS for grid export in HTML format
- Bugs
- [6] The bug report dialog appears on disconnecting if connection was closed by server
[Probably all oci exceptions should be processed w/o bug reporting because the most of them are raised on server side. ]
- [6] copy grid column included exra leading spaces
- [6] trigger reverse-engineering fails
[CREATE TABLE owidat (dummy VARCHAR2(1));
CREATE OR REPLACE TRIGGER IDXNOTNULL BEFORE INSERT OR UPDATE ON OWIDAT
REFERENCING NEW AS NEWFIELD FOR EACH ROW
BEGIN
NULL;
END;
/]
- [6] CSV export: Excel ignores leading zeros for text columns
[Solution:
c1,c2,c3
="paul",="00235",="red"
="jim",="00187",="yellow"
="sue",="00133",="green"]
- [6] error position fails for function/procedure/package reverse engineering if a procedure header contains '\n'
- [5] sql error causes a bug report
[SELECT To_Date(Decode(least(nvl("NAECHSTE_WP",
>to_date('01.01.9999','dd.mm.yyyy'))), to_date('01.01.9999','dd.mm.yyyy'),
>NULL, least(nvl("NAECHSTE_WP", to_date('01.01.9999','dd.mm.yyyy')))),
>'dd.mm.yyyy') FROM em_transportmittel;]
- [5] trigger reverse engineering fails if a trigger name or a column name contains "on"
- [5] statement execution takes a while on read-only connection if it's not select
- [4] toolbar/control bar windows might be moved out of a visible desktop area
[No way get it back except reset registry]
- [4] a very long column (>64K) value may be a cause of slow grid painting and even windows crash
- [4] attempt to find (F12) db object by name with ending . ("dbms_job.") causes an pl/sql exception
- [4] bug report on regexp search
[SQLTools reported an error while processing a replace operation using
regexp operators. I have a list of names, in the format
<tab>'<lastname>, <firstname>'
I was trying to replace this with a string like:
Exec tier3fixes.userfromname( '<lastname>, <firstname>' );
My "Find what" string was: ^\t(*)
My "Replace with" string was: exec tier3fixes.userfromname( \1 );]
- [4] extract ddl fails in 10g
- [3] unknown exception on canceling drop table statement
- [3] sqltools may fails with "coi8: cannot allocate handle" on some pc
- [3] ora-01877: string is too long for internal buffer
"Next" and "Previous" in Grid are inverted
external authentication does not work
some servers may return very long strings due to oracle bug
all compilation errors are ignored for Oracle7
all compilation errors are ignored after "alter session set current schema"
- Internal improvements
- [5] exception model: add a new base class for application exceptions which will not be traceable
[The cost of StackTrace is too hight, but some application exceptions are a part of normal flow.
]
- OpenEditor
- New functionality
- [5] automatically highlight or underline the matching braces
- [5] context menu for toolbars
- [5] projects/favorites
- [5] history
- [5] find in files
- [5] open file under cursor
- [5] watch and reload changed settings
- Bugs
- [5] add default extension on file save
- [5] exception on find match
[SELECT * FROM xis_nt_mo_me#v mo
WHERE NOT EXISTS (
SELECT * FROM xis_nt_mo_relations
WHERE child_id = mo.id
AND (relation_rule_id, stereotype_id) IN
(SELECT rul_id, rul_ste_id FROM xis_dd_relation_rules#t WHERE rul_name = 'EMS_M_ME')
)
>> EOF <<]
- New functionality for future releases
- [5] change copyright before publishing
- [5] objects/columns/methods dropdown list
- [5] code navigator
- [5] object properties control bar
- [5] sort for data grid
- [5] using dba views when they are available for the current connection
- [5] project, sql library
- [5] table/view viewer
- [5] move sql execution in a backgroud thread
- [5] sql*plus like bind variables
- [5] table/index partitions in reverse-engineering
- [5] Insert/delete/update operation for data grid
- [5] support for vss and cvs - automatic check out
- [5] implement "find in source"
["Find in Source" that would search in all DB sources types. After entering the usual search criteria (String to search, whole word, match case,....) and specific criteria (find in all types or selected: procedure, function, pack, trigger, object type, views,...?) a result window could show the list of sources + line numbers that matched the criteria. By clicking on the sources name, an editor window would be automatically open (and why not at the first matching line).]
- [4] execute scripts from the command line
- [3] multiple connections
- [3] select * from object table/view
- Research
- [0] http://www.aquafold.com/screenshots.html