[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sql-indent 2ca9610 09/13: don't be confused by drop fun
From: |
Alex Harsanyi |
Subject: |
[elpa] externals/sql-indent 2ca9610 09/13: don't be confused by drop function or procedure statements #80 |
Date: |
Thu, 20 Jun 2019 05:25:46 -0400 (EDT) |
branch: externals/sql-indent
commit 2ca96103dd335a14376a88c3b828ae0a80883b08
Author: Alex Harsanyi <address@hidden>
Commit: Alex Harsányi <address@hidden>
don't be confused by drop function or procedure statements #80
---
sql-indent-test.el | 9 +++++++--
sql-indent.el | 8 ++++++++
test-data/pr80-syn.eld | 11 +++++++++++
test-data/pr80.sql | 6 ++++++
4 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/sql-indent-test.el b/sql-indent-test.el
index b0ca611..00048e0 100644
--- a/sql-indent-test.el
+++ b/sql-indent-test.el
@@ -387,14 +387,19 @@ information read from DATA-FILE (as generated by
(ert-deftest sqlind-ert-pr73 ()
(sqlind-ert-check-file-syntax "test-data/pr73.sql" "test-data/pr73-syn.eld"))
-(ert-deftest sqlind-ert-prXX-postgres ()
+(ert-deftest sqlind-ert-pr75-postgres ()
(sqlind-ert-check-file-syntax
"test-data/pr75-postgres.sql"
"test-data/pr75-postgres-syn.eld"))
-(ert-deftest sqlind-ert-prXX-oracle ()
+(ert-deftest sqlind-ert-pr75-oracle ()
(sqlind-ert-check-file-syntax
"test-data/pr75-oracle.sql"
"test-data/pr75-oracle-syn.eld"))
+(ert-deftest sqlind-ert-pr80 ()
+ (sqlind-ert-check-file-syntax
+ "test-data/pr80.sql"
+ "test-data/pr80-syn.eld"))
+
;;; sql-indent-test.el ends here
diff --git a/sql-indent.el b/sql-indent.el
index 51901f2..b525474 100644
--- a/sql-indent.el
+++ b/sql-indent.el
@@ -803,6 +803,14 @@ See also `sqlind-beginning-of-block'"
;; not a procedure after all.
(throw 'exit nil)))
+ ;; Find out if it is a drop procedure or function statement
+ (save-excursion
+ (sqlind-backward-syntactic-ws)
+ (forward-word -1)
+ (when (looking-at "drop")
+ ;; not a procedure after all
+ (throw 'exit nil)))
+
;; so it is a definition
;; if the procedure starts with "create or replace", move
diff --git a/test-data/pr80-syn.eld b/test-data/pr80-syn.eld
new file mode 100644
index 0000000..6e0e5b8
--- /dev/null
+++ b/test-data/pr80-syn.eld
@@ -0,0 +1,11 @@
+(((toplevel . 1))
+ ((toplevel . 1))
+ ((comment-start . 1)
+ (toplevel . 1))
+ ((comment-start . 1)
+ (toplevel . 1))
+ ((comment-start . 1)
+ (toplevel . 1))
+ ((comment-start . 1)
+ (toplevel . 1))
+ ((toplevel . 1)))
diff --git a/test-data/pr80.sql b/test-data/pr80.sql
new file mode 100644
index 0000000..a29fbc7
--- /dev/null
+++ b/test-data/pr80.sql
@@ -0,0 +1,6 @@
+drop function if exists test;
+
+-- local variables:
+-- mode: sql
+-- sql-product: postgres
+-- end:
- [elpa] externals/sql-indent updated (87a6b4a -> 47e9ccb), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 9d5f978 05/13: Fix regexp bug in `sqlind-good-if-candidate` (fixes #76), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 31c29ed 12/13: Recognize more types of begin transaction statements (fixes #84), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 2ca9610 09/13: don't be confused by drop function or procedure statements #80,
Alex Harsanyi <=
- [elpa] externals/sql-indent f897c11 08/13: Apply advices of `checkdoc' (#77), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent dccd194 02/13: Recognize `select-join-condition` syntax inside nested statements #70 (#71), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent e7e7e85 11/13: Don't recognize select keywords in comments, fixes #83, Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 47e9ccb 13/13: Recognize left and right outer join statements #85, Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent e511ced 01/13: `sqlind-search-backward` finds things at the same nesting level (#68) (#69), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent d9442ed 03/13: Recognize FULL JOIN, UNION ALL and EXCEPT keywords #73 (#74), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 1974564 10/13: recognize elseif in addition to elif #81, Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent 9559ebe 07/13: Fix `sqlind-comment-end' regexp. (#79), Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent ba2a690 06/13: also fix sqlind-end-statement-regexp, Alex Harsanyi, 2019/06/20
- [elpa] externals/sql-indent a6da8bd 04/13: Recognize more create keywords (#75), Alex Harsanyi, 2019/06/20