Example #1
0
int main()
{
    PF_Manager pfm;
    RM_Manager rmm(pfm);
    IX_Manager ixm(pfm);
    SM_Manager smm(ixm, rmm);

    smm.OpenDb(DBNAME);
    AttrInfo attrs[3];
    attrs[0].attrType = STRING;
    attrs[0].attrLength = 30;
    attrs[0].attrName = "departmentName";

    attrs[1].attrType = INT;
    attrs[1].attrLength = 4;
    attrs[1].attrName = "buildYear";

    attrs[2].attrType = FLOAT;
    attrs[2].attrLength = 4;
    attrs[2].attrName = "budget";

    RC rc;
//    if(rc = smm.DropTable("departments")) {
//        SM_PrintError(rc);
//        exit(1);
//    }
    if(rc = smm.CreateTable("departments", 3, attrs)) {
        SM_PrintError(rc);
    }

    if(rc = smm.CreateTable("departments", 3, attrs)) {
        SM_PrintError(rc);
    }
//    if(rc = smm.CreateIndex("departments", "departmentName")) printf("rc=%d\n", rc);
//    if(rc = smm.CreateIndex("departments", "buildYear")) printf("rc=%d\n", rc);
//    if(rc = smm.CreateIndex("departments", "budget")) printf("rc=%d\n", rc);
    if(rc = smm.DropIndex("departments", "departmentName")) {
        SM_PrintError(rc);
    }
//    smm.DropTable("departments");
//    smm.Load("departments", "/Users/dddong/workspace/ClionProjects/miniSqlFrom0/dep.data");
    smm.Print("departments");
    smm.Print("relcat");
    smm.Print("attrcat");
    if(rc = smm.CloseDb()) {
        SM_PrintError(rc);
        exit(1);
    }
}
Example #2
0
int main()
{
	int i, j, k, len;
	int pp;
	int n;
	int flag[3];
	char str[3][105], ans[605];

	scanf("%s %s %s", str[0], str[1], str[2]);
	rmm(str[0]);
	rmm(str[1]);
	rmm(str[2]);
	scanf("%d", &n);
	for(i = 0;i < n;i++)
	{
		scanf("%s", ans);
		rmm(ans); 
		flag[0] = flag[1] = flag[2] = 0;
		pp = 0;
		for(j = 0;j < 3;j++)
		{
			for(k = 0;k < 3;k++)
				if (flag[k] == 0 && check(&pp, str[k], ans) == 1)
				{
					flag[k] = 1;
					break;
				}
			if (k >= 3)
				break;
		}
		if (j >= 3 && ans[pp] == '\0')
			printf("ACC\n");
		else
			printf("WA\n");
	}
}