ClearSQL 6.9
„Legacy PL/SQL what is it?“Release HistoryCompany Flyer
ClearSQL 6.9 — FAQ

Who will be a typical user of ClearSQL 6.9?

  • PL/SQL developers who maintain, fix errors, modify or provide support for "legacy" PL/SQL code.
    • Hundreds of thousands of Oracle databases worldwide containing billions of legacy PL/SQL scripts
    • In many cases there is no documentation available and the original developer is no longer present
  • PL/SQL development teams who use ClearSQL 6.9 to implement coding standards, code quality insurance, and code formatting to easier maintain their code; and to speed up PL/SQL code development and test cycles

What makes ClearSQL 6.9 unique in the market?

  • Intensive market investigations did not provide information of any widely known product that could be considered a "real" competitor to ClearSQL 6.9
  • It performs PL/SQL code analysis, code formatting, auto-correction of known common code errors, supporting PL/SQL version starting from 2.1
  • It automatically analyzes large projects with thousands of PL/SQL scripts with the click of a button
  • It creates Flowcharts and Call Tree diagrams and CRUD matrices from PL/SQL code accelerating the understanding of the Logic and Inter-Code Calling Relationships of unfamiliar or legacy code
  • Flowchart and Call Tree diagram and CRUD matrices are clickable; with a click on a diagram element it loads that code to the editor and highlights the corresponding line of code
  • Exports a single or multiple project flowcharts and Call Tree diagrams into image (GIF, PNG and JPEG), MS Visio Drawing "vdx" and HTML formats with the ability to keep the diagram tree structure in the target Windows folder
  • A Syntax Checker verifies PL/SQL syntax without executing it in Oracle
  • Provides complex code metrics information to identify potential problem areas based on complexity, size and modularity

How can I integrate ClearSQL 6.9 into my database development environment?

  • ClearSQL 6.9 works independently from any software development environment. Code is imported into ClearSQL 6.9 either from the file system or directly from a database. By importing, the code is physically moved into ClearSQL's internal storage. By duplicating code in this fashion, ClearSQL 6.9 allows you to experiment with the code without having to worry about unwanted side effects on your software development environment. Only when exporting files from ClearSQL 6.9, will changes made while working with ClearSQL 6.9 take permanent effect outside of ClearSQL's own file storage system.

Will ClearSQL's parser accept all my PL/SQL code?

  • Unfortunately, Oracle has not published reference grammar for it's PL/SQL language that allows third-party tool to parse code against the reference grammar. The grammar documented in Oracle's PL/SQL reference guide is not complete and cannot serve as reference grammar. In addition, the PL/SQL grammar differs between Oracle versions. Therefore, we cannot guarantee that your PL/SQL code will pass ClearSQL's parser. As we have a strong commitment to help our customers, we will work with you to resolve any compatibility issues you come across when working with ClearSQL 6.9.

Sometimes, ClearSQL 6.9 is very particular about keyword usage. Why?

  • Both ANSI SQL and Oracle SQL use two types of keywords - reserved and non-reserved. For example, the keyword SELECT is considered reserved in both ANSI SQL and Oracle SQL, and - as a consequence - you cannot name any entity (program variable, table name, column name ..) SELECT. With some keywords, ANSI SQL and Oracle SQL disagree about a particular keyword's reserved status. For example the keyword MEMBER, e.g. is reserved in ANSI SQL but non-reserved in Oracle. ClearSQL's own parser has been constantly improved and enhanced over its 7 years of development and being in use. If our users are facing any problems in this area, we usual provide a fix within 1-2 weeks after the problem report was received.

What exactly does the ClearSQL 6.9 parser check?

  • The ClearSQL parser is not a replacement, substitute or alternative for Oracle's PL/SQL compiler. To support ClearSQL's functionality (formatting of PL/SQL code, Flowcharting and Call Tree Diagrams), the parser will check syntax and static semantics on a per-file basis. The parser will not perform any inter-file checking, e.g. calls to entries in other packages will not be checked for correct parameter usage. It is our medium-term goal to enhance the parser to check the complete static semantics of PL/SQL, including complete interfile checking.

Why does ClearSQL 6.9 come with its own preprocessor? Isn't Oracle's PL/SQL preprocessor good enough?

  • ClearSQL's preprocessor serves a different purpose than Oracle's PL/SQL preprocessor. ClearSQL 6.9 uses its own preprocessor to generate diagram variants per preprocessor settings. To be able to do that, the preprocessor had to be closely integrated with the parser. There is no separate preprocessor phase in ClearSQL 6.9, as preprocessor directives work as extensions to the language accepted by ClearSQL's parser.