Commit 2cbbcc8f2bf4722767c502c474201ed00e37b8a2

Authored by David RENÉ
1 parent 43bb3ad2

fix column name with reserved key name by surrounding it with ".

update the generator according to the new logger call (log server) by removing read of logger_service.anubis and change the Logger by (LogLevel, String) -> One provided by host applicaiton
calexium_lib @ 9510293f86d
1   -Subproject commit d386b8ad2c8ba00d22f64fdc3539aa258a06e82f
  1 +Subproject commit 9510293f86d189f0c96969f91c3cb48ab5ed3e37
... ...
hayamiki_ds_types.aproj
... ... @@ -24,6 +24,7 @@
24 24 <Import Project="$(AnubisBinPath)\Anubis.Build.targets" />
25 25 <ItemGroup>
26 26 <Compile Include="hayamiki_ds_types.anubis" />
  27 + <Compile Include="hayamiki_lib\app\app_constant.anubis" />
27 28 <Compile Include="hayamiki_lib\controller\hk_controller.anubis" />
28 29 <Compile Include="hayamiki_lib\controller\hk_delete.anubis" />
29 30 <Compile Include="hayamiki_lib\controller\hk_rows_import.anubis" />
... ... @@ -91,6 +92,7 @@
91 92 <Folder Include="hayamiki_lib\ds_files" />
92 93 <Folder Include="hayamiki_lib\model" />
93 94 <Folder Include="hayamiki_lib\model\types" />
  95 + <Folder Include="hayamiki_lib\app" />
94 96 <Folder Include="hayamiki_lib\types" />
95 97 <Folder Include="hayamiki_lib\view" />
96 98 <Folder Include="hayamiki_lib\view\types" />
... ...
hayamiki_generator.aproj
... ... @@ -526,6 +526,7 @@
526 526 <Compile Include="library\widgets4\window_test.anubis" />
527 527 <Compile Include="library\xml\basic_xml_parser.anubis" />
528 528 <Compile Include="library\xml\xml_parser.apg.anubis" />
  529 + <Compile Include="src\app\app_constants.anubis" />
529 530 <Compile Include="src\check.anubis" />
530 531 <Compile Include="src\generation\anubis.anubis" />
531 532 <Compile Include="src\generation\choices_selector.anubis" />
... ... @@ -785,6 +786,7 @@
785 786 <Folder Include="library\xml" />
786 787 <Folder Include="src" />
787 788 <Folder Include="src\generation" />
  789 + <Folder Include="src\app" />
788 790 <Folder Include="src\utils" />
789 791 </ItemGroup>
790 792 </Project>
791 793 \ No newline at end of file
... ...
hayamiki_lib @ c4e83b952dc
1   -Subproject commit c6bd97b105cf57b04fe2daf4482ba45e119c7b5d
  1 +Subproject commit c4e83b952dc316498f5e586cb822803b2c26c281
... ...
src/generation/create_table.anubis
... ... @@ -4,7 +4,7 @@
4 4 * Date: 24/01/2016
5 5 * Time: 18:13
6 6  
7   -Hayamiki is Copyright © 2016 by Calexium
  7 +Hayamiki is Copyright © 2016-2019 by David RENÉ
8 8 All rights reserved.
9 9  
10 10 Redistribution and use in source and binary forms, with or without modification,
... ... @@ -43,6 +43,150 @@ read columns.anubis
43 43  
44 44 read utils/utils.anubis
45 45  
  46 +define List(String) sqlite_reserved_keywords = (List(String))
  47 + [
  48 + "ABORT",
  49 + "ACTION",
  50 + "ADD",
  51 + "AFTER",
  52 + "ALL",
  53 + "ALTER",
  54 + "ANALYZE",
  55 + "AND",
  56 + "AS",
  57 + "ASC",
  58 + "ATTACH",
  59 + "AUTOINCREMENT",
  60 + "BEFORE",
  61 + "BEGIN",
  62 + "BETWEEN",
  63 + "BY",
  64 + "CASCADE",
  65 + "CASE",
  66 + "CAST",
  67 + "CHECK",
  68 + "COLLATE",
  69 + "COLUMN",
  70 + "COMMIT",
  71 + "CONFLICT",
  72 + "CONSTRAINT",
  73 + "CREATE",
  74 + "CROSS",
  75 + "CURRENT",
  76 + "CURRENT_DATE",
  77 + "CURRENT_TIME",
  78 + "CURRENT_TIMESTAMP",
  79 + "DATABASE",
  80 + "DEFAULT",
  81 + "DEFERRABLE",
  82 + "DEFERRED",
  83 + "DELETE",
  84 + "DESC",
  85 + "DETACH",
  86 + "DISTINCT",
  87 + "DO",
  88 + "DROP",
  89 + "EACH",
  90 + "ELSE",
  91 + "END",
  92 + "ESCAPE",
  93 + "EXCEPT",
  94 + "EXCLUDE",
  95 + "EXCLUSIVE",
  96 + "EXISTS",
  97 + "EXPLAIN",
  98 + "FAIL",
  99 + "FILTER",
  100 + "FOLLOWING",
  101 + "FOR",
  102 + "FOREIGN",
  103 + "FROM",
  104 + "FULL",
  105 + "GLOB",
  106 + "GROUP",
  107 + "GROUPS",
  108 + "HAVING",
  109 + "IF",
  110 + "IGNORE",
  111 + "IMMEDIATE",
  112 + "IN",
  113 + "INDEX",
  114 + "INDEXED",
  115 + "INITIALLY",
  116 + "INNER",
  117 + "INSERT",
  118 + "INSTEAD",
  119 + "INTERSECT",
  120 + "INTO",
  121 + "IS",
  122 + "ISNULL",
  123 + "JOIN",
  124 + "KEY",
  125 + "LEFT",
  126 + "LIKE",
  127 + "LIMIT",
  128 + "MATCH",
  129 + "NATURAL",
  130 + "NO",
  131 + "NOT",
  132 + "NOTHING",
  133 + "NOTNULL",
  134 + "NULL",
  135 + "OF",
  136 + "OFFSET",
  137 + "ON",
  138 + "OR",
  139 + "ORDER",
  140 + "OTHERS",
  141 + "OUTER",
  142 + "OVER",
  143 + "PARTITION",
  144 + "PLAN",
  145 + "PRAGMA",
  146 + "PRECEDING",
  147 + "PRIMARY",
  148 + "QUERY",
  149 + "RAISE",
  150 + "RANGE",
  151 + "RECURSIVE",
  152 + "REFERENCES",
  153 + "REGEXP",
  154 + "REINDEX",
  155 + "RELEASE",
  156 + "RENAME",
  157 + "REPLACE",
  158 + "RESTRICT",
  159 + "RIGHT",
  160 + "ROLLBACK",
  161 + "ROW",
  162 + "ROWS",
  163 + "SAVEPOINT",
  164 + "SELECT",
  165 + "SET",
  166 + "TABLE",
  167 + "TEMP",
  168 + "TEMPORARY",
  169 + "THEN",
  170 + "TIES",
  171 + "TO",
  172 + "TRANSACTION",
  173 + "TRIGGER",
  174 + "UNBOUNDED",
  175 + "UNION",
  176 + "UNIQUE",
  177 + "UPDATE",
  178 + "USING",
  179 + "VACUUM",
  180 + "VALUES",
  181 + "VIEW",
  182 + "VIRTUAL",
  183 + "WHEN",
  184 + "WHERE",
  185 + "WINDOW",
  186 + "WITH",
  187 + "WITHOUT"
  188 +].
  189 +
46 190 define String
47 191 create_table_generate_one_column
48 192 (
... ... @@ -50,7 +194,10 @@ define String
50 194 Int fill_size
51 195 )=
52 196 since column is hk_column(name, col_type, attributes, _),
53   - fill(name, fill_size)+ to_SQL_CREATE(col_type, attributes, name)
  197 + if to_upper(name):sqlite_reserved_keywords then
  198 + fill("\\\""+name+"\\\"", fill_size)+ to_SQL_CREATE(col_type, attributes, name)
  199 + else
  200 + fill(name, fill_size)+ to_SQL_CREATE(col_type, attributes, name)
54 201 .
55 202  
56 203 define String
... ... @@ -193,7 +340,7 @@ public define Maybe(One)
193 340 */
194 341  
195 342 read system/logger.anubis
196   -read calexium_lib/net_services_protocols/logger_service.anubis
  343 +//read calexium_lib/net_services_protocols/logger_service.anubis
197 344 read calexium_lib/database/migration_common_sqlite3.anubis
198 345 read data_base/sqlite_foreign_key.anubis
199 346 read data_base/db_types.anubis\n"+
... ... @@ -209,8 +356,8 @@ define String _version = \&quot;&quot;+version+&quot;\&quot;.
209 356 public define Maybe(One)
210 357 create_v"+version_str+"_tables
211 358 (
212   - SQLite3DataBase db,
213   - Logger logger_debug
  359 + SQLite3DataBase db,
  360 + (LogLevel, String) -> One logger_debug
214 361 )=
215 362 if drop_all_triggers(db, logger_debug) is failure then failure else
216 363  
... ... @@ -257,7 +404,7 @@ read data_base/db_tools.anubis
257 404 read calexium_lib/database/db_utils.anubis
258 405 read calexium_lib/database/migration_common_sqlite3.anubis
259 406 read calexium_lib/database/migration_sqlite3.anubis
260   -read calexium_lib/net_services_protocols/logger_service.anubis
  407 +//read calexium_lib/net_services_protocols/logger_service.anubis
261 408 read data_base/alter_table.anubis
262 409  
263 410 read types/app_types.anubis
... ... @@ -271,8 +418,8 @@ define String _version = \&quot;&quot;+version+&quot;\&quot;.
271 418 public define Maybe(One)
272 419 create_v"+version_str+"_indexes
273 420 (
274   - SQLite3DataBase db,
275   - Logger logger
  421 + SQLite3DataBase db,
  422 + (LogLevel, String) -> One logger
276 423 )=
277 424 if create_indexes(db, logger, db_indexes, _version) is failure then failure else
278 425 success(unique)
... ... @@ -281,22 +428,22 @@ public define Maybe(One)
281 428 define Maybe(One)
282 429 to_v"+version_str+"_pre
283 430 (
284   - SQLite3DataBase db,
285   - Logger logger
  431 + SQLite3DataBase db,
  432 + (LogLevel, String) -> One logger
286 433 )=success(unique).
287 434  
288 435 define Maybe(One)
289 436 to_v"+version_str+"_post
290 437 (
291   - SQLite3DataBase db,
292   - Logger logger
  438 + SQLite3DataBase db,
  439 + (LogLevel, String) -> One logger
293 440 )=success(unique).
294 441  
295 442 public define Maybe(One)
296 443 migrate_to_v"+version_str+"
297 444 (
298   - SQLite3DataBase db,
299   - Logger logger,
  445 + SQLite3DataBase db,
  446 + (LogLevel, String) -> One logger,
300 447 )=
301 448 if to_v"+version_str+"_pre(db, logger) is failure then failure
302 449 else if create_v"+version_str+"_tables(db, logger) is failure then failure
... ...
src/generation/header.anubis
... ... @@ -72,7 +72,7 @@ transmit system/datetime.anubis
72 72 transmit system/convert.anubis
73 73 transmit system/string.anubis
74 74  
75   -transmit calexium_lib/net_services_protocols/logger_service.anubis
  75 +//transmit calexium_lib/net_services_protocols/logger_service.anubis
76 76 transmit app/app_loggers.anubis
77 77 ") is failure then failure else
78 78 foreign_table_header(stream, columns)
... ...