⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testddl.cpp

📁 一个功能强大的内存数据库源代码,c++编写,有详细的注释
💻 CPP
字号:
//-< TESTDB.CPP >----------------------------------------------------*--------*// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *// (Main Memory Database Management System)                          *   /\|  *//                                                                   *  /  \  *//                          Created:      1-Jan-99    K.A. Knizhnik  * / [] \ *//                          Last update: 18-Jan-99    K.A. Knizhnik  * GARRET *//-------------------------------------------------------------------*--------*// Test of FastDB data definition and manipulation facilities. // First create database by running this application, then // fill database by "subsql testddl.sql" and then run this applciation once// again to check correctness of inserted data.//-------------------------------------------------------------------*--------*#include <stdio.h>#include <math.h>#include "fastdb.h"class Subrecord {   public:    char* str;    db_int8  i;    void dump() const { 	printf("('%s' " INT8_FORMAT ") ", str, i);    }    TYPE_DESCRIPTOR((FIELD(str), 		     FIELD(i)));};class Base {   public:    dbArray<Subrecord> x;    dbArray<char*>     y;    dbArray<int2>      z;    dbArray< dbArray<int4> > w;    void dump() const { 	size_t i, j;	printf("(");	for (i = 0; i < x.length(); i++) { 	    x[i].dump();	}	printf(") (");	for (i = 0; i < y.length(); i++) { 	    printf("'%s' ", y[i]);	}	printf(") (");	for (i = 0; i < z.length(); i++) { 	    printf("%d ", z[i]);	}	printf(") (");	for (i = 0; i < w.length(); i++) { 	    printf("(");	    for (j = 0; j < w[i].length(); j++) { 		printf("%d ", w[i][j]);	    }	    printf(") ");	}	printf(")");    }    TYPE_DESCRIPTOR((FIELD(x), 		     FIELD(y),		     FIELD(z),		     FIELD(w)));};class Record : public Base {   public:    int4  a;    int1  b;    real8 c;    bool  d;    int2  e;    real4 f;    dbReference<Record> g;    Subrecord h;    struct obscure { 	byte data[16];    } o;        void dump() const {	Base::dump();	printf(" %d %d %f %s %d %f (%02x%02x%02x%02x)", 	       a, b, c, d ? "true" : "false", e, f, 	       o.data[0], o.data[1], o.data[2], o.data[3]);	h.dump();	printf("\n");    }    TYPE_DESCRIPTOR((SUPERCLASS(Base),		     FIELD(a), 		     FIELD(b),		     FIELD(c),		     FIELD(d),		     FIELD(e),		     FIELD(f),		     FIELD(g),		     FIELD(h),		     RAWFIELD(o)));};REGISTER(Record);USER_FUNC(sin);USER_FUNC(cos);int main() {    dbDatabase db;        if (db.open("testddl")) { 	printf("Database intialized\n");	dbCursor<Record> cursor;	if (cursor.select("abs(sin(c)^2 + cos(c)^2 - 1) < 1e-5") > 0) { 	    do { 		cursor->dump();	    } while (cursor.next());	} else { 	    printf("No records in table\n");	}	db.close();    } else { 	printf("Failed to open database\n");    }    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -