From 9c3cc26449fdfc4a8a4aec2f98a131d953ef75ee Mon Sep 17 00:00:00 2001 From: Will Vaughn <365247+nackjicholson@users.noreply.github.com> Date: Sat, 26 Sep 2020 23:03:31 -0700 Subject: [PATCH] allow SQL header comments at top of files --- aiosql/query_loader.py | 10 +++++++--- tests/blogdb/sql/users/users.sql | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/aiosql/query_loader.py b/aiosql/query_loader.py index 355750e0..15c20a02 100644 --- a/aiosql/query_loader.py +++ b/aiosql/query_loader.py @@ -73,9 +73,13 @@ def _make_query_datum(self, query_str: str): def load_query_data_from_sql(self, sql: str) -> List[QueryDatum]: query_data = [] - for query_sql_str in query_name_definition_pattern.split(sql): - if not empty_pattern.match(query_sql_str): - query_data.append(self._make_query_datum(query_sql_str)) + query_sql_strs = query_name_definition_pattern.split(sql) + + # Drop the first item in the split. It is anything above the first query definition. + # This may be SQL comments or empty lines. + # See: https://github.com/nackjicholson/aiosql/issues/35 + for query_sql_str in query_sql_strs[1:]: + query_data.append(self._make_query_datum(query_sql_str)) return query_data def load_query_data_from_file(self, file_path: Path) -> List[QueryDatum]: diff --git a/tests/blogdb/sql/users/users.sql b/tests/blogdb/sql/users/users.sql index 812196bf..d77a8255 100644 --- a/tests/blogdb/sql/users/users.sql +++ b/tests/blogdb/sql/users/users.sql @@ -1,3 +1,6 @@ +-- SQL COMMENT THAT SHOULD BE ALLOWED +-- WAS BREAKING IN THIS ISSUE https://github.com/nackjicholson/aiosql/issues/35 + -- name: get-all -- Get all user records select * from users;