예제 #1
0
EOT
, '_cnt', 'int', ['meta.arrayID']);
?>
;
        meta.HDNo = _cnt;
    }

    totalPages = 0;
    hds = new EventProcessor[meta.HDNo];

    // read the stripes from Stripes and start the HD threads
    <?php 
grokit\sql_statement_table(<<<'EOT'
"
        SELECT fileName
        FROM Stripes
        WHERE arrayID=%d;
    "
EOT
, ['fileName' => 'text'], ['meta.arrayID']);
?>
{
        HDThread hd(fileName, meta.arrayHash, myInterface, DISK_OPERATION_STATISTICS_INTERVAL, isReadOnly);
	uint64_t diskID = hd.DiskNo();
        hd.ForkAndSpin();
	FATALIF( hds[diskID].IsValid(), "Stripe %d already initized", diskID);
        hds[diskID].swap(hd); // put the hd in the vector

    }<?php 
grokit\sql_end_statement_table();
?>
;
예제 #2
0
  WHERE relID=%d;
"
EOT
, ['attID' => 'int'], ['(*it)']);
?>
    clusterAttColNo = attID;
<?php 
grokit\sql_end_statement_table();
?>

<?php 
grokit\sql_statement_table(<<<'EOT'
"
      SELECT attribute, uniqueVals, type, jType, colNo
      FROM CatalogAttributes
      WHERE relID=%d
            ORDER BY colNo;
"
EOT
, ['_attName' => 'text', 'attUniques' => 'int', 'typec' => 'text', 'jTypec' => 'text', 'colNo' => 'int'], ['(*it)']);
?>
{

      string attName = string(_attName);
      string attType = typec;
      Json::Reader jReader;
      Json::Value attJType;
      jReader.parse(jTypec, attJType);

      Attribute att(attName, attType, attJType, attIndex++, attUniques);
      if( colNo == clusterAttColNo ) {
예제 #3
0
        SELECT COUNT(*)
        FROM Relations
        WHERE relName='%s';
"
EOT
, 'haveRel', 'int', ['relName']);
?>
;

    if (haveRel == 1 ) { // existing relation

<?php 
grokit\sql_statement_table(<<<'EOT'
"
        SELECT relID
        FROM Relations
          WHERE relName='%s';
"
EOT
, ['_relID_' => 'int'], ['relName']);
?>
{
            relID = _relID_;
        }<?php 
grokit\sql_end_statement_table();
?>
;
        DeleteContentSQL(relID, <?php 
echo grokit\sql_database_object();
?>
);
예제 #4
0
        "order"       INTEGER,
        "str"           TEXT);
"
EOT
, ['name']);
?>
;

    // Clear existing data from maps
    indexMap.clear();
    reverseMap.clear();

<?php 
grokit\sql_statement_table(<<<'EOT'
"
    SELECT "id", "order", "str" FROM "Dictionary_%s";
"
EOT
, ['id' => 'int', 'order' => 'int', 'str' => 'text'], ['name']);
?>
    {
        StringType s(str);
        indexMap[id] = str;
        reverseMap[str] = id;
        orderMap[id] = order;

        if (nextID <= id)
            nextID = id+1;

    }
<?php 
grokit\sql_end_statement_table();
예제 #5
0
          startPage      INTEGER,
            size           INTEGER,
          nextFreePage   INTEGER,
          lastPage       INTEGER
        );
  "
EOT
, []);
?>
;

<?php 
grokit\sql_statement_table(<<<'EOT'
"
      SELECT relID, startPage, size, nextFreePage, lastPage
      FROM DiskAllocatorState
      WHERE arrayID=%d;
    "
EOT
, ['relID' => 'int', 'startPage' => 'int', 'size' => 'int', 'nextFreePage' => 'int', 'LastPage' => 'int'], ['mDiskArrayID']);
?>
{
        ChunkInfo* c = new ChunkInfo;
        c->startPage = startPage;
        c->size = size;
        c->nextFreePage = nextFreePage;
        mLastPage = LastPage;
        if (relID != -1) {
            map<uint64_t, ChunkList*>::iterator it = mRelationIDToChunkList.find(relID);
            if (it == mRelationIDToChunkList.end()) {
                ChunkList* l = new ChunkList;
                (l->listOfChunks).push_back(c);