Exemple #1
0
int main(int argc, char **argv) {
    sqlite3 *db;
    int rc;
    const char *zTab;
    const char *zCmd;

    if( argc<2 ) usage(argv[0]);
    rc = sqlite3_open(argv[1], &db);
    if( rc ) {
        fprintf(stderr, "Cannot open %s\n", argv[1]);
        exit(1);
    }
    if( argc==2 ) {
        sqlite3_stmt *pStmt;
        int cnt = 0;
        pStmt = prepare(db, "SELECT b.sql"
                        "  FROM sqlite_master a, sqlite_master b"
                        " WHERE a.name GLOB '*_segdir'"
                        "   AND b.name=substr(a.name,1,length(a.name)-7)"
                        " ORDER BY 1");
        while( sqlite3_step(pStmt)==SQLITE_ROW ) {
            cnt++;
            printf("%s;\n", sqlite3_column_text(pStmt, 0));
        }
        sqlite3_finalize(pStmt);
        if( cnt==0 ) {
            printf("/* No FTS3/4 tables found in database %s */\n", argv[1]);
        }
        return 0;
    }
    if( argc<4 ) usage(argv[0]);
    zTab = argv[2];
    zCmd = argv[3];
    nExtra = argc-4;
    azExtra = argv+4;
    if( strcmp(zCmd,"big-segments")==0 ) {
        listBigSegments(db, zTab);
    } else if( strcmp(zCmd,"doclist")==0 ) {
        if( argc<7 ) usage(argv[0]);
        showDoclist(db, zTab);
    } else if( strcmp(zCmd,"schema")==0 ) {
        showSchema(db, zTab);
    } else if( strcmp(zCmd,"segdir")==0 ) {
        showSegdirMap(db, zTab);
    } else if( strcmp(zCmd,"segment")==0 ) {
        if( argc<5 ) usage(argv[0]);
        showSegment(db, zTab);
    } else if( strcmp(zCmd,"segment-stats")==0 ) {
        showSegmentStats(db, zTab);
    } else if( strcmp(zCmd,"stat")==0 ) {
        showStat(db, zTab);
    } else if( strcmp(zCmd,"vocabulary")==0 ) {
        showVocabulary(db, zTab);
    } else {
        usage(argv[0]);
    }
    return 0;
}
void SevenSeg::showSymbol(symbol_t symbol)
{
    _symbol = symbol;
    for(int i = 0; i < NUMBER_SEGMENTS; i++)
        showSegment(static_cast<segment_t>(i), symbolMap[symbol][i]);
}