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
Created a function that is use by UPDATE to take a list of uuids and a
map of new value. Can be optimize later but work rn.
Also started to creat more proper error handeling with custom error
starting with ZiQLError
Started by doing a SchemaEngine but at the end I just put everything
inside the FileEngine.
Now you can use 'schema init path/to/schema' to initialize the struct
folders and first data file, Also save a copy of the schema in a file in
the ZipponDB folder.