Example #1
0
, ['meta.arrayID', 'meta.arrayHash', 'meta.pageMultExp', 'meta.stripeParam1', 'meta.stripeParam2', 'meta.numberOfPages']);
?>
;

        printf("The disk array can use multiple stripes. How many stripes should we use?\n");
        cin >> meta.HDNo;
        FATALIF( meta.HDNo<1 || meta.HDNo > 1000, "The number of disks is unacceptable");

        printf("Pattern for the stripes fies. Use %%d for the position of the numbers. The numbering starts at 1\n");
        string pattern;
        cin >> pattern;

        <?php 
grokit\sql_statement_parametric_norez(<<<'EOT'
"
          INSERT INTO Stripes(diskID, arrayID, fileName) VALUES (?1, ?2, ?3);
          "
EOT
, ['int', 'int', 'text'], []);
?>
;
        for (uint64_t i=0; i<meta.HDNo; i++){
            char fileName[1000];
            sprintf(fileName, pattern.c_str(), i+1);
	    HDThread::CreateStripe(fileName, meta.arrayHash, i, MMAP_PAGE_SIZE << meta.pageMultExp);

            <?php 
grokit\sql_instantiate_parameters(['i', 'meta.arrayID', 'fileName']);
?>
;
        }
        <?php 
Example #2
0
grokit\sql_instantiate_parameters(['_id', '_relID', '(typ).c_str()', '(jType).c_str()', '(na).c_str()', '_uniq']);
?>
;
                attCont.Advance();
            }
<?php 
grokit\sql_parametric_end();
?>
;

    if( clustered ) {
<?php 
grokit\sql_statement_parametric_norez(<<<'EOT'
"
  INSERT INTO CatalogClusters(relID, attID)
  VALUES (?1, ?2)
"
EOT
, ['int', 'int']);
?>

    int _attId = clusterAtt.GetIndex();

<?php 
grokit\sql_instantiate_parameters(['_relID', '_attId']);
?>

<?php 
grokit\sql_parametric_end();
?>
    }
Example #3
0
<?php 
grokit\sql_instantiate_parameters(['colit', 'chunkit', 'relID', 'chunkMetaD[chunkit].colMetaData[colit].startPage', 'chunkMetaD[chunkit].colMetaData[colit].sizePages', 'chunkMetaD[chunkit].colMetaData[colit].sizeBytes', 'chunkMetaD[chunkit].colMetaData[colit].startPageCompr', 'chunkMetaD[chunkit].colMetaData[colit].sizePagesCompr', 'chunkMetaD[chunkit].colMetaData[colit].sizeBytesCompr']);
?>
;
                }
            }
<?php 
grokit\sql_parametric_end();
?>
;

    // Now flush all fragment info for each column
<?php 
grokit\sql_statement_parametric_norez(<<<'EOT'
"
            INSERT INTO Fragment(relID, chunkID, colNo, endPos) VALUES (?1, ?2, ?3, ?4);
            "
EOT
, ['int', 'int', 'int', 'int'], []);
?>
;
            for (uint64_t chunkit = 0; chunkit < chunkMetaD.size(); chunkit++) {
                for (uint64_t colit = 0; colit < chunkMetaD[chunkit].colMetaData.size(); colit++) {
                    // iterate through ranges
                    for (uint64_t i = 0; i < chunkMetaD[chunkit].colMetaData[colit].fragments.startPositions.size(); i++) {
<?php 
grokit\sql_instantiate_parameters(['relID', 'chunkit', 'colit', 'chunkMetaD[chunkit].colMetaData[colit].fragments.startPositions[i]']);
?>
;
                    }
                }
            }
Example #4
0
;

<?php 
grokit\sql_statements_norez(<<<'EOT'
"
DELETE FROM "Dictionary_%s";
"
EOT
, ['name']);
?>
;

<?php 
grokit\sql_statement_parametric_norez(<<<'EOT'
"
    INSERT INTO "Dictionary_%s" ("id", "order", "str") VALUES (?1, ?2, ?3);
"
EOT
, ['int', 'int', 'text'], ['name']);
?>
;
    // iterate through the dictionary
    for( IndexMap::const_iterator it = indexMap.begin(); it != indexMap.end(); ++it ) {
        IntType id = it->first;
        StringType s = it->second;
        IntType order = orderMap[id];
        const char * str = s.c_str();
<?php 
grokit\sql_instantiate_parameters(['id', 'order', 'str']);
?>
;
    }
<?php 
grokit\sql_statements_norez(<<<'EOT'
"
    DELETE FROM DiskAllocatorState
    WHERE arrayID=%d;
  "
EOT
, ['mDiskArrayID']);
?>
;

<?php 
grokit\sql_statement_parametric_norez(<<<'EOT'
"
    INSERT INTO DiskAllocatorState(arrayID, relID, startPage, size, nextFreePage, lastPage)
    VALUES (?1, ?2, ?3, ?4, ?5, ?6);
  "
EOT
, ['int', 'int', 'int', 'int', 'int', 'int'], []);
?>
;
    // iterate allocated chunks
    for (map<uint64_t, ChunkList*>::iterator it = mRelationIDToChunkList.begin(); it != mRelationIDToChunkList.end(); ++it) {
      uint64_t rel = it->first;
            ChunkList* l = it->second;
            for (uint64_t i = 0; i < (l->listOfChunks).size(); i++) {
                uint64_t startPg = ((l->listOfChunks)[i]->startPage);
                uint64_t sz = ((l->listOfChunks)[i]->size);
                uint64_t n = (l->listOfChunks)[i]->nextFreePage;
                //printf("startPg = %d, sz = %d, n = %d, rel = %d, diskArrayID = %d, lastPage = %d\n", startPg, sz, n, rel, mDiskArrayID, mLastPage);
<?php