hgext/infinitepush/schema.sql
author Georges Racinet <gracinet@anybox.fr>
Thu, 27 Sep 2018 16:51:36 +0200
changeset 40272 a36c5e23c055
parent 37189 03ff17a4bf53
permissions -rw-r--r--
rust: iterator bindings to C code In this changeset, still made of Rust code only, we expose the Rust iterator for instantiation and consumption from C code. The idea is that both the index and index_get_parents() will be passed from the C extension, hence avoiding a hard link dependency to parsers.so, so that the crate can still be built and tested independently. On the other hand, parsers.so will use the symbols defined in this changeset.

CREATE TABLE `bookmarkstonode` (
  `node` varbinary(64) NOT NULL,
  `bookmark` varbinary(512) NOT NULL,
  `reponame` varbinary(255) NOT NULL,
  PRIMARY KEY (`reponame`,`bookmark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `bundles` (
  `bundle` varbinary(512) NOT NULL,
  `reponame` varbinary(255) NOT NULL,
  PRIMARY KEY (`bundle`,`reponame`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `nodestobundle` (
  `node` varbinary(64) NOT NULL,
  `bundle` varbinary(512) NOT NULL,
  `reponame` varbinary(255) NOT NULL,
  PRIMARY KEY (`node`,`reponame`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `nodesmetadata` (
  `node` varbinary(64) NOT NULL,
  `message` mediumblob NOT NULL,
  `p1` varbinary(64) NOT NULL,
  `p2` varbinary(64) DEFAULT NULL,
  `author` varbinary(255) NOT NULL,
  `committer` varbinary(255) DEFAULT NULL,
  `author_date` bigint(20) NOT NULL,
  `committer_date` bigint(20) DEFAULT NULL,
  `reponame` varbinary(255) NOT NULL,
  `optional_json_metadata` mediumblob,
  PRIMARY KEY (`reponame`,`node`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;