added support for branches and explicit transaction commit

This commit is contained in:
krangelov
2021-09-08 14:09:23 +02:00
parent 2e846cdf59
commit bcc33af36b
9 changed files with 233 additions and 91 deletions

View File

@@ -54,6 +54,8 @@ private:
const char *m_filepath;
};
class PgfPGF;
#include "db.h"
#include "text.h"
#include "vector.h"
@@ -137,12 +139,23 @@ typedef struct {
Namespace<PgfAbsCat> cats;
} PgfAbstr;
typedef struct PGF_INTERNAL_DECL {
struct PGF_INTERNAL_DECL PgfPGF {
uint16_t major_version;
uint16_t minor_version;
Namespace<PgfFlag> gflags;
PgfAbstr abstract;
//PgfConcrs* concretes;
} PgfPGF;
// If the revision is transient, then it is in a double-linked list
// with all other transient revisions.
ref<PgfPGF> prev, next;
// The name lets the user to find a particular revision in
// the database.
PgfText name;
};
extern PGF_INTERNAL_DECL
PgfText master;
#endif