亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? command.cpp

?? FastDb是高效的內存數據庫系統
?? CPP
字號:
// -*- Mode: C++ -*-

//         command.cpp
//
// Copyright (c) 1996, Regents of the University of California
// $Header: /cvsroot/fastdb/fastdb/GiST/RSTree/command.cpp,v 1.1 2007/07/18 20:45:47 knizhnik Exp $

#include <stdio.h>
#include <fstream.h>
#ifdef UNIX
#include <unistd.h>
#include <ctype.h>
#endif

#include "RT.h"
#include "command.h"

struct Table
{
    char *name;
    GiST *gist;
};

#define MAX_TABLES 10
#define NOT_FOUND (-1)

dbDatabase db;

REGISTER(Record);

Table tables[MAX_TABLES];
int numTables = 0;
int debug = 0;

int 
GetTable(const char *name)
{
    int i;

    for (i=0; i<numTables; i++)
	if (!strcmp(tables[i].name, name))
	    break;
    return i == numTables ? NOT_FOUND : i;
}

void 
CommandCreate(const char *method,
	      const char *table)
{
    if (numTables == MAX_TABLES) {
	cout << "This progam can only handle "<<MAX_TABLES<<" open tables.\n";
	return;
    }

    if (GetTable(table) != NOT_FOUND) {
	cerr << "Table already open!\n";
	return;
    }

	GiST *gist;
    if (!strcmp(method, "rtree"))
		gist = new RT(db);
	else {
		cerr << "The only supported method is rtree.\n";
		return;
    }

    gist->Create(table);
    if (!gist->IsOpen()) {
	cout << "Error opening table.\n";
	delete gist;
	return;
    }

    cout << "Table " << table << " created as type " << method << ".\n";

    tables[numTables].name = strdup(table);
    tables[numTables].gist = gist;
    numTables++;
}

void 
CommandDrop(const char *table)
{
    if (GetTable(table) != NOT_FOUND) {
	cerr << "Cannot drop an open table.\n";
	return;
    }
    cout << "Table " << table << " dropped.\n";
}

void 
CommandOpen(const char *method, const char *table)
{
    GiST *gist;
    if (numTables == MAX_TABLES) {
	cout << "This progam can only handle "<<MAX_TABLES<<" open tables.\n";
	return;
    }

    if (GetTable(table) != NOT_FOUND) {
	cout << "Table already open!\n";
	return;
    }

    if (!strcmp(method, "rtree"))
      gist = new RT(db);
    else {
      cerr << "The only supported method is rtree.\n";
      return;
    }

    gist->Open(table);

    if (!gist->IsOpen()) {
	delete gist;
	cout << "Error opening table.\n";
	return;
    }

    cout << "Table " << table << " opened.\n";

    tables[numTables].gist = gist;
    tables[numTables].name = strdup(table);
    numTables++;
}

void 
CommandClose(const char *table)
{
    int i;

    i = GetTable(table);
    if (i == NOT_FOUND) {
	cerr << "Table is not open.\n";
	return;
    }

    cout << "Table " << table << " closed.\n";
    delete tables[i].gist;

    for ( ; i < numTables-1; i++)
	tables[i] = tables[i+1];
    numTables--;
}

void 
CommandSelect(const char *table,
		   const GiSTpredicate& pred)
{
    int i;

    i = GetTable(table);
    if (i == NOT_FOUND) {
	cerr << "Table is not open!\n";
	return;
    }

    GiST *gist = tables[i].gist;

    GiSTcursor *c = gist->Search(pred);
    GiSTentry *e;
    dbCursor<Record> cursor;
    while ((e = c->Next()) != NULL) {
	dbReference<Record> ref(e->Ptr());
	cursor.at(ref);
	cout << cursor->value << "\n";
	delete e;
    }
    delete c;
}

void 
CommandDelete(const char *table,
	      const GiSTpredicate& pred)
{
    int i;

    if ((i = GetTable(table)) == NOT_FOUND) {
	cerr << "Table not open!\n";
	return;
    }

    if (i != NOT_FOUND)
	tables[i].gist->Delete(pred);
}

void 
CommandInsert(const char *table,
	      const RTkey& key,
	      int value)
{
    int i;

    if ((i = GetTable(table)) == NOT_FOUND) {
	cerr << "Table not open!\n";
	return;
    }

    Record rec;
    rec.value = value;
    dbReference<Record> ref = insert(rec);
    GiST *gist = tables[i].gist;
    gist->Insert(RTentry(key, ref.getOid()));
    cout << "(" << key << ", " << value << ") inserted into " << table << ".\n";
}

void 
CommandQuit()
{
    for (int i=0; i<numTables; i++)
	delete tables[i].gist;
    cout << "Goodbye.\n";
    db.close();
    exit(0);
}

void 
CommandPrompt()
{
    cout << "RSTree> ";
	cout.flush();
}

void 
CommandDebug()
{
    debug = !debug;
    cout << "Debugging Output ";
    cout << (debug ? "ON\n" : "OFF\n");
}

void 
CommandHelp()
{
    ifstream is("RTree.help");
    char c;

    while (is.get(c)) cout << c;
}

void 
CommandDump(const char *table, GiSTpage page)
{
    int i;

    if ((i = GetTable(table)) == NOT_FOUND) {
	cout << "No such table is open.\n";
	return;
    }

    GiSTpath path;
    path.MakeRoot();
#ifdef PRINTING_OBJECTS
    tables[i].gist->DumpNode(cout, path);
#endif
}

int yyparse();

int 
main()
{
    cout << "**  RSTree: An R*-Tree based on Generalized Search Trees\n";
    cout << "Type \"help\" for a list of commands.\n\n";
    if (db.open("tstrstree")) { 
	CommandPrompt();
	yyparse();
	return 0;
    } else { 
	return 1;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久久久88| 337p亚洲精品色噜噜狠狠| 久久激情五月激情| 日韩黄色免费电影| 日本中文一区二区三区| 偷窥国产亚洲免费视频| 亚洲成av人片一区二区三区| 亚洲一区免费观看| 天天色天天操综合| 蜜桃视频免费观看一区| 美脚の诱脚舐め脚责91| 国产a区久久久| 日本高清无吗v一区| 欧美在线综合视频| 欧美三级韩国三级日本一级| 5月丁香婷婷综合| 精品国产91洋老外米糕| 国产欧美一区二区三区沐欲| 国产精品久久夜| 综合久久国产九一剧情麻豆| 性做久久久久久免费观看 | 成人v精品蜜桃久久一区| 粉嫩一区二区三区性色av| 波多野结衣欧美| 在线观看亚洲精品视频| 日韩久久免费av| 亚洲欧洲日产国产综合网| 亚洲一区av在线| 国产成人在线网站| 色999日韩国产欧美一区二区| 欧美一区二区视频在线观看2020| 久久久噜噜噜久久中文字幕色伊伊| 亚洲视频 欧洲视频| 美腿丝袜亚洲一区| 91片在线免费观看| 欧美变态tickling挠脚心| 亚洲视频香蕉人妖| 久久se精品一区二区| 在线亚洲免费视频| 欧美国产综合一区二区| 日本午夜一本久久久综合| 97精品国产97久久久久久久久久久久| 欧美久久久久免费| 亚洲男人的天堂一区二区| 国产在线不卡一区| 欧美高清视频不卡网| 亚洲人成网站影音先锋播放| 国产二区国产一区在线观看| 91精品久久久久久蜜臀| 一区二区在线观看视频| 从欧美一区二区三区| 欧美tk—视频vk| 日韩电影在线看| 在线欧美小视频| 亚洲欧洲国产日韩| 国产成人精品一区二区三区网站观看| 91精品国产综合久久国产大片| 日韩美女啊v在线免费观看| 狠狠色丁香久久婷婷综| 日韩三级电影网址| 婷婷亚洲久悠悠色悠在线播放 | 亚洲男同性视频| 成人开心网精品视频| 2020国产成人综合网| 秋霞影院一区二区| 在线播放亚洲一区| 午夜精品久久久| 欧美色爱综合网| 亚洲国产综合色| 91官网在线观看| 一区二区三区av电影 | 欧美夫妻性生活| 天天色综合天天| 日韩一本二本av| 理论电影国产精品| 久久综合久久综合亚洲| 激情成人午夜视频| 久久久.com| 成人aa视频在线观看| 中文字幕一区二区三区在线不卡| 99精品久久久久久| 亚洲成人资源在线| 欧美日韩精品高清| 免费久久精品视频| 国产亚洲精品超碰| 99久久久久久| 午夜一区二区三区在线观看| 欧美欧美午夜aⅴ在线观看| 毛片一区二区三区| 欧美国产激情二区三区| www.日韩在线| 亚洲va欧美va国产va天堂影院| 欧美日韩成人综合在线一区二区| 免费的成人av| 国产精品护士白丝一区av| 欧美中文字幕一区二区三区| 日韩电影一区二区三区四区| 久久综合色播五月| 色伊人久久综合中文字幕| 视频在线在亚洲| 久久综合久久综合久久综合| 99这里只有精品| 青青草视频一区| 国产精品日韩成人| 欧美日韩美少妇| 成人免费视频免费观看| 亚洲bt欧美bt精品777| 精品国产99国产精品| 在线视频你懂得一区| 狠狠久久亚洲欧美| 亚洲国产精品天堂| 久久久精品免费观看| 欧美在线你懂的| 国产成都精品91一区二区三| 天堂精品中文字幕在线| 国产日韩欧美亚洲| 欧美人妇做爰xxxⅹ性高电影| 成人高清免费观看| 免费成人av在线播放| 亚洲精品乱码久久久久久| 久久天堂av综合合色蜜桃网| 欧美狂野另类xxxxoooo| 成人美女视频在线观看| 久久精工是国产品牌吗| 亚洲电影第三页| 亚洲免费观看高清在线观看| 国产欧美日本一区视频| 欧美一级在线免费| 欧美视频一区二区三区| 99精品国产视频| 成人午夜电影网站| 国产成人免费在线观看| 麻豆精品一区二区综合av| 亚洲国产一区二区三区| 国产精品污网站| 日本一区二区三级电影在线观看| 欧美成人午夜电影| 制服丝袜日韩国产| 欧美日本在线播放| 欧美在线观看禁18| 色av综合在线| 欧美三级乱人伦电影| 欧美羞羞免费网站| 一本一道久久a久久精品| 成人激情av网| 91免费看片在线观看| 成人亚洲一区二区一| 国产凹凸在线观看一区二区| 国产揄拍国内精品对白| 国产一区二区三区四区五区美女 | 色先锋久久av资源部| 99久久久无码国产精品| 99久久99精品久久久久久| 成人动漫av在线| 成人av网在线| 91免费小视频| 在线观看视频一区| 欧美日韩国产综合草草| 91麻豆精品国产无毒不卡在线观看 | 欧美一区二区三区人| 91精品国产福利在线观看| 日韩欧美色综合网站| 26uuu亚洲综合色| 久久久久久久综合日本| 国产精品色婷婷久久58| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲黄色性网站| 麻豆精品一区二区三区| 国产一区二区精品在线观看| 成人一区二区在线观看| 在线亚洲欧美专区二区| 日韩亚洲欧美中文三级| 国产日韩欧美精品一区| 国产精品高清亚洲| 亚洲成人动漫在线免费观看| 久久精品av麻豆的观看方式| 成人一区二区三区视频| 欧美视频三区在线播放| 精品电影一区二区三区| 亚洲欧洲国产专区| 蜜臀a∨国产成人精品| 波多野结衣在线一区| 91精品国产综合久久精品| 欧美国产禁国产网站cc| 婷婷中文字幕综合| 成人一区二区三区视频 | 风流少妇一区二区| 欧美综合久久久| 国产亚洲欧美一级| 性欧美疯狂xxxxbbbb| 波多野结衣在线一区| 欧美一区二区不卡视频| 亚洲欧美二区三区| 国产精品一区二区三区网站| 色偷偷久久一区二区三区| 久久午夜羞羞影院免费观看| 亚洲午夜一区二区三区| 成人午夜短视频| 亚洲精品一线二线三线无人区| 一区二区在线看|