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

📄 testddl.cpp

📁 FastDb是高效的内存数据库系统
💻 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"USE_FASTDB_NAMESPACEclass 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 {         int1 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 + -