Arthur Baars
25205a09a3
Update tree-sitter-ruby
2020-11-03 10:06:59 +01:00
Arthur Baars
f94b5ae412
Update QL code generator
2020-10-31 14:03:26 +01:00
Nick Rolfe
0a754334cf
Don't generate the QL File class
2020-10-30 13:41:27 +00:00
Nick Rolfe
d47bd32b58
Now that we also generate conjunctions, use parentheses in disjunctions
2020-10-30 10:34:42 +00:00
Nick Rolfe
4d5d80c749
Fix location handling to match common db schema requirements
2020-10-29 19:44:16 +00:00
Nick Rolfe
11c9c18de4
Don't generate an index for optional fields that occur at most once
2020-10-29 13:04:26 +00:00
Arthur Baars
638fd91e50
Update generator to write the ast.qll file directly into ql/src
2020-10-28 14:04:36 +01:00
Arthur Baars
28a99cfe83
Update path of generated dbscheme
2020-10-28 14:04:36 +01:00
Nick Rolfe
e03d5da8cd
Rename a field to avoid using raw identifiers
2020-10-28 12:14:54 +00:00
Nick Rolfe
f4b9c0c71a
Merge remote-tracking branch 'origin/main' into ql_gen
2020-10-28 11:41:18 +00:00
Nick Rolfe
11152583d5
Add get_name() method to simplify logic in field handling
2020-10-28 11:30:50 +00:00
Nick Rolfe
7b51030dd4
Merge remote-tracking branch 'origin/ql_gen' into ql_gen
2020-10-28 11:20:58 +00:00
Nick Rolfe
b4f9599dd9
Simplify hashmap insertion
2020-10-28 11:20:47 +00:00
Nick Rolfe
17820e017c
Fix Top::getAFieldOrChild() so it doesn't take an index arg
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-10-28 11:02:42 +00:00
Nick Rolfe
bc22631c32
Simplify QL model following review feedback
2020-10-28 11:00:40 +00:00
Nick Rolfe
77fdafdc95
Simplify error handling with if let
2020-10-28 10:35:33 +00:00
Nick Rolfe
59580d51bb
Merge remote-tracking branch 'origin/main' into ql_gen
2020-10-28 10:30:36 +00:00
Nick Rolfe
a41c3e36f9
Give node_types a static lifetime.
2020-10-27 19:11:05 +00:00
Nick Rolfe
5484ff3dcf
Use tree_sitter_ruby crate in generator
2020-10-27 18:13:40 +00:00
Nick Rolfe
e05bcf9fb7
Generate QL classes
2020-10-27 17:46:11 +00:00
Arthur Baars
e3a1d426b8
DB scheme generator: escape column names
2020-10-27 17:31:10 +01:00
Arthur Baars
a50f79b401
Add logging to dbscheme generator
2020-10-27 13:36:58 +01:00
Arthur Baars
0439d4f674
Refactor dbscheme generator to use intermediate representation
...
* merge extractor/node_types.rs into node-types/lib.rs
* use intermediate representation in dbscheme generator
* move dbscheme naming and escaping functions to node-types so they can be shared
2020-10-27 13:27:45 +01:00
Nick Rolfe
849e109583
Add library package for shared code
2020-10-23 13:01:17 +01:00
Nick Rolfe
36823d7804
Move deserialization to node_types module; propagate errors to caller
2020-10-22 11:10:05 +01:00
Nick Rolfe
e018f3f20b
Use if let instead of iterating over Option
2020-10-21 12:51:10 +01:00
Nick Rolfe
5e3544fcc3
Use fmt::Display trait for writing dbscheme
2020-10-21 12:45:54 +01:00
Nick Rolfe
a7a18b8b0f
Gather all hard-coded Ruby-specific names/paths in one struct.
2020-10-21 11:29:25 +01:00
Nick Rolfe
47c8a3d6fb
Simplify to std::io::Result
2020-10-21 11:26:23 +01:00
Nick Rolfe
fd1f8b22e2
Simplify keysets to Option<Vec<String>>
2020-10-21 11:06:53 +01:00
Nick Rolfe
97181d1c21
Basic dbscheme generation from node-types.json
2020-10-20 17:49:55 +01:00
Nick Rolfe
6c697bf9b5
Split into generator and extractor packages
2020-10-15 13:20:11 +01:00