SQL formatting support
[php-sqllint.git] / README.rst
index 351e1f8bc02fc7a8b9297627362479a88894b051..ef9e165cb882a93c83bacc4b49c55db22daf30e4 100644 (file)
@@ -6,14 +6,17 @@ Command line tool to validate (syntax check) SQL files.
 Primarily for MySQL ``.sql`` files.
 
 Can be used in git pre-commit hooks to catch errors.
+Use it from your shell, offline and without any SQL server.
+
+You can also use it to format SQL queries.
 
 
 =====
 Usage
 =====
-::
+Syntax check::
 
-    $ ./bin/php-sqllint tests/files/create-missingcomma.sql 
+    $ php-sqllint tests/files/create-missingcomma.sql 
     Checking SQL syntax of tests/files/create-missingcomma.sql
      Line 3, col 5 at "pid": A comma or a closing bracket was expected.
      Line 3, col 13 at "11": Unexpected beginning of statement.
@@ -21,12 +24,39 @@ Usage
 
 Emacs mode::
 
-    $ ./bin/php-sqllint -r emacs tests/files/create-noname.sql 
+    $ php-sqllint -r emacs tests/files/create-noname.sql 
     tests/files/create-noname.sql:1.12:Error: The name of the entity was expected.
     tests/files/create-noname.sql:1.13:Error: A closing bracket was expected.
     tests/files/create-noname.sql:1.13:Error: At least one column definition was expected.
 
 
+Formatting::
+
+    $ php-sqllint --format tests/files/select-unformatted.sql
+    SELECT
+      id,
+      NAME,
+      url
+    FROM
+      users
+    WHERE
+      DATE > NOW() AND id != 0
+    ORDER BY NAME
+    LIMIT 10
+
+You can enable ANSI coloring by passing the ``--colors`` option.
+
+
+====
+Bugs
+====
+Does ``php-sqllint`` not detect a syntax error, or doesn't support a certain
+SQL statement?
+Then please report a bug at `udan11/sql-parser`__.
+
+__ https://github.com/udan11/sql-parser
+
+
 ============
 Dependencies
 ============
@@ -38,6 +68,29 @@ __ https://github.com/udan11/sql-parser
 __ https://www.phpmyadmin.net/
 
 
+Dependency installation
+=======================
+::
+
+    $ composer install
+
+Now you can use ``./bin/php-sqllint`` without building the phar yourself.
+
+
+========
+Building
+========
+You'll need `phing`__, the PHP build tool::
+
+    $ phing
+
+__ https://www.phing.info/
+
+The result are ``.phar`` files in ``dist/`` directory that you can execute::
+
+    $ ./dist/php-sqllint-0.0.1.phar tests/files/create-noname.sql 
+    Checking SQL syntax of tests/files/create-noname.sql
+     Line 1, col 12 at "(": The name of the entity was expected.
 
 
 =================
@@ -46,13 +99,15 @@ About PHP-SQLlint
 
 License
 =======
-``bdrem`` is licensed under the `AGPL v3`__ or later.
+``php-sqllint`` is licensed under the `AGPL v3`__ or later.
 
 __ http://www.gnu.org/licenses/agpl.html
 
 
 Homepage
 ========
+Home page
+   http://cweiske.de/php-sqllint.htm
 Source code
    http://git.cweiske.de/php-sqllint.git