Created a new function to replace parseAndFindUUIDWithFilter.
Now it parse the file, evaluate with the filter and write directly to a
buffer. There is no UUID that is return, then file are parse again.
Should be a huge perf improve.
Some bugs with additionData tho, got a name: "<UUID>" =(
SchemaStruct member now are [] and not ArrayList. Started to use and
understand toOwnedSlice.
Implemented the hashmap that keep all UUID -> File index. Inside each
SchemaStruct
Condition now store the index of the value in the file instead of the
member_name. So when I parse, I can just use the list array []Data and
the index to compare both value
Now the parseFilter function return a Filter struct.
It is a tree of Condition and Logic operator that will then be use when
parsing row. Need to do the evaluate function with the []Data and test
some error
Now log are managed by the std log, did a custom log to print either
into a file or into the default io strout.
The plan is to create a scope in each file and log depending of stuff,
can also use it in library I think, if should still base by the custom
function.
Next step is logging a lot of stuff a bit everywhere.
Added a hash map that contain the name of the struct corresponding to
the link.
So the member "best_friend: User" is an entry key: "best_friend" value:
"User"
Before it was link that and I changed to use Loc as I throught that I
would save memory.
But a slice is just a pointer and a leng, so it should be better. As
long as I keep the original string in memory. The query and schema
Added the datatype date, time and datetime
Moved all custom erros to a single file
Cleaned code to be more readable and created some small utils
Other stuffs that I dont recall. Basically preparing for the
relationship implementation
Removed the loop for the CLI, now just take some argument using the
binary. May come back to while loop if I need to keep like the file
engine between session. To run query in parallel.
Moved printError and send to utils and removed duplicate of them.
Organized FileEngine better.
Put the function that convert string to value in a seperate file.
Fix some synthax and make it smaller. Removed unused functions too
Added a check at the end of parse Condition to check if the condition is
valid. Like < between string is not for example.
Also removed the state send_all to check inside filter_and_send instead
so update and delete can do the same.
And some small bugs/erros