def create_signature(username, password):
def create_signature(username: str, password: str) -> bytes:
Quote style consistency
Pick single or double:
'Authorization' : "Basic "
Connection string security
Please (please) do not store a password as a hard-coded source global:
SERVER = 'localhost'
USER = 'root'
PASSWORD = ''
A comment on the DDL
Despite this using MySQL (which would never be my first choice), the schema seems pretty sane; good job. This surprised me:
removed_date date default null
but then, reading the documentation, MySQL does a nonsensical thing by default and uses the "zero" value for a date as its default; so what you've done is correct.
For these ...
I discovered what I think is a flaw - in Flush() I call simply Flush() on the underlying stream, however I think this needs to be Flush(true) to ensure that all the changes are written before the log file is reset. I made the same change in Log.cs.
This means changing the type of BaseStream to FileStream, as Flush(true) is specific to FileStream.
It seems you need a view or a temporary table. But it would be best for you to use a view instead.
so you might need to create a view first :
CREATE VIEW doc_Letters_view AS
[CentralDeptNo] = tempLetters.[CentralDeptNo]
, [IncomingNo] = tempLetters.[IncomingNo]
, [IncomingDate] = ...