HyperSQL is like a doxygen plus javadoc for SQL
Go to file
Izzy 580b6b30cc
bringing Changelog up-to-date
2023-02-22 02:23:35 +01:00
doc bringing Changelog up-to-date 2023-02-22 02:23:35 +01:00
lang updated some translations 2016-09-10 23:13:34 +02:00
lib there is an overview of the software on the landing page 2023-02-22 01:04:34 +00:00
templates no separate template for certain 'objects' where the documentation might not be important 2023-01-20 11:29:48 +01:00
tools adjusting file permissions (oi, Windows...) 2016-03-22 20:49:34 +01:00
.gitignore fixed doc/apidoc/mk_pydoc spelling error (dirname); included output in .gitignore 2016-03-21 14:23:19 +01:00
COPYING moving license file to top-level so Github does recognize it 2018-01-29 16:39:15 +01:00
HyperSQL.ini updated with more default values 2016-03-11 18:18:45 +01:00
HyperSQL.py version bump 2016-09-19 19:30:22 +02:00
README.md updating outdated project URLs in documentation 2023-01-20 19:55:21 +01:00
diagram.js + basic verification of function/procedure parameters against JavaDoc 2010-03-15 18:08:10 +00:00
hypersql.css another hardcode moved to CSS 2016-09-09 18:34:18 +02:00
sql.keywords added missing keyword `EDITIONABLE` (used for views) 2016-03-24 12:27:14 +01:00
sql.types + bunch of keywords and types added for syntax highlighting 2010-07-12 16:50:59 +00:00




HyperSQL is like a doxygen plus javadoc for SQL, hypermapping SQL views, packages, procedures, and functions to HTML source code listings and showing all code locations where these are used, while some basic syntax highlighting is applied to the SQL code. The internal "where used" functionality also scans C++ and Java source files.

HyperSQL doesn't connect to any database, but rather works on files. Hence it should work for databases other than Oracle (which it was designed for initially) as well, though I've not tested that. If you do not maintain your database objects that way (but rather develop directly inside the database), some scripts in the tools/ directory of the HyperSQL distribution might help you extract those from your Oracle database. For objects you can COMMENT ON (tables, views) they even create basic JavaDoc comments along.

Further details as well as a documentation can be found in the project's wiki.


The original version (1.0) was written by Randy Phillips in September 2001. A customer of mine required a script like this, but some additions were required as well. At this time, the latest release was version 1.0 from 2001, and no update was ever published since (see original project site). It also looked very much like Randy abandoned the project.

So I decided to adopt the project at least temporarily (after establishing contact with Randy, he decided to hand over the project to me completely). It was (and still is) using the GPL, so there were no problems from the license side. As said, I very much liked the idea of HyperSQL, but felt it needs some polish. So on one day in February 2010, I sat down and wrote version 1.1. Versions 1.2 and 1.3 followed the next day - and as you can see here, development still goes on (with a few breaks sometimes).

For quite a while, I was using SVN on my own server to maintain the code. But due to demand of other users who wanted to participate, I've decided to move the code to Github, to make this part easier especially as there are times I do not work myself on the project (due to lack of demand).


  • flexible configuration by use of .ini files
  • offering a lot of command line options to override configuration options on-the-fly
  • generates nicely formatted HTML files, CSS adjustable by use of .css files
  • parses SQL, C++ and Java files according to file extensions you configured
  • parses Oracle Forms XML files
  • generates hyperlinked listings of all objects found (SQL views, packages, functions, procedures, forms, etc.)
  • hyperlinks object names to their appearance in the source code
  • generates "where used" and "what used" lists, to show where your objects have been used by other objects (if they have) helps you to find unused code if not, or example usages if found
  • generates dependency graphs
  • generates API references from JavaDoc style comments
  • generates a central bug and a central todo list, compiled from all the @bug and @todo items in your JavaDoc comments
  • checks validity of your JavaDoc style comments up to a certain degree, and you even may define "mandatory tags"
  • generates XML for UnitTests from your JavaDoc-embedded @testcases

Code Statistics Dependency Graphs


As stated above, HyperSQL uses the GPLv2 license. For details, see the License file.