| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This commit implements fillAutoInc and fillDefault, and modifies
Storage.IncSequence such that it can handle the numbers larger than
maximum of uint64.
|
|
|
|
|
|
|
| |
Instead of returning a fixed error code, we can return a boolean here
because the only possibility of an error is invalid arguments. Callers
of these functions must know where invalid arguments come from, and
correctly handle it by converting it to an error struct or panicking.
|
| |
|
| |
|
|
|
|
| |
It is allowed to declare multiple foreign key constraints on a column.
|
|
|
|
|
| |
It will be used to store the descriptor of the object after the name is
resolved.
|
|
|
|
| |
It is a special field which should not be accessed by any other files.
|
| |
|
|
|
|
| |
Keep them consisitent with ast/types.go.
|
|
|
|
|
| |
Since we have to packing our data in slot, it needs to calculate each
column field's slot and byte offset.
|
|
|
|
|
| |
These structs will be used in identifier nodes to store references to
objects defined in the schema or the command itself.
|
|
|
|
|
|
|
| |
In order to check foreign keys efficiently during deletion, an index
should be marked when it is referenced by foreign keys. Since we now
have flags which cannot be declared directly from the source code, two
helper functions are added to distinguish between two groups of flags.
|
|
|
|
|
| |
Reorder fields and enums according to the grammar file to make it easier
to check whether all features supported by the grammar are implemented.
|
|
|
|
|
|
|
| |
The number of tables, columns, indices are all limited to 256, so we
don't have to do much memory copying during appending. Drop pointers
from slices to save memory for storing pointers and possibly improve
locality.
|
|
|
|
|
| |
The size of table in db and column/index/sequence in a table is bounded
by uint8. Define types for better readability.
|
|
Implement schema struct and handle its rlp serialization.
|