[-]
[+]
|
Changed |
cego.changes
|
|
[-]
[+]
|
Changed |
cego.spec
^
|
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/README
^
|
@@ -4,7 +4,7 @@
----
A relational and transactional database system
- Version 2.12.7
+ Version 2.12.8
(C)opyright 2006,2007,2008,2009,2010,2011,2012 by Bjoern Lemke
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/samples/chkdb/chkblow
^
|
@@ -1,2 +1,2 @@
#!/bin/bash
-../../src/cgblow --mode=insert --server=localhost --port=2200 --iset=i:10000,s:3,s:10,s:5 --table=t1 --tableset=TS1 --user=lemke/lemke --append --interval=1000 --count=5000000 $@
+../../src/cgblow --mode=insert --server=localhost --port=2200 --iset=i:10000,s:10 --table=t1 --tableset=TS1 --user=lemke/lemke --append --interval=1000 --count=5000000 $@
|
[-]
[+]
|
Added |
cego-2.12.8.tar.bz2/samples/chkdb/x.sql
^
|
@@ -0,0 +1,4 @@
+drop if exists table t1;
+create table t1 ( primary a int not null, b string(10));
+select * from $table;
+select * from $index;
|
[-]
[+]
|
Added |
cego-2.12.8.tar.bz2/samples/chkdb/x.sql~
^
|
@@ -0,0 +1,2 @@
+create table t1 ( a int, b string(10));
+select * from $table;
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoAction.cc
^
|
@@ -1610,25 +1610,35 @@
void CegoAction::execProcCreate()
{
-
- Chain procText = _pProc->toChain() + Chain(";");
- Chain procName = _pProc->getName();
- int tabSetId = _pTabMng->getDBMng()->getTabSetId(_procTableSet);
- Chain procEscText;
+ Chain procName;
+ int tabSetId;
- if ( __quoteEscapeFlag )
+ if ( _pProc )
{
- // nothing to do
- procEscText = procText;
+ Chain procText = _pProc->toChain() + Chain(";");
+ procName = _pProc->getName();
+ tabSetId = _pTabMng->getDBMng()->getTabSetId(_procTableSet);
+
+ Chain procEscText;
+
+ if ( __quoteEscapeFlag )
+ {
+ // nothing to do
+ procEscText = procText;
+ }
+ else
+ {
+ procText.replaceAll(Chain("\\"), Chain("\\\\"), procEscText);
+ }
+
+ _pTabMng->createDistProc(_procTableSet, _pProc->getName(), procEscText);
}
else
{
- procText.replaceAll(Chain("\\"), Chain("\\\\"), procEscText);
+ throw Exception(EXLOC, Chain("Cannot create procedure"));
}
- _pTabMng->createDistProc(_procTableSet, _pProc->getName(), procEscText);
-
_pTabMng->getDBMng()->useObject(tabSetId, procName, CegoObject::PROCEDURE, CegoDatabaseManager::EXCLUSIVE, _pTabMng->getThreadId());
try
@@ -1656,6 +1666,8 @@
msg = Chain("Procedure ") + procName + Chain(" created");
o.chainOut(msg);
+
+ _pTabMng->getDBMng()->unuseObject(tabSetId, procName, CegoObject::PROCEDURE, CegoDatabaseManager::EXCLUSIVE);
}
catch ( Exception e )
@@ -1666,7 +1678,7 @@
_pTabMng->getDBMng()->unuseObject(tabSetId, procName, CegoObject::PROCEDURE, CegoDatabaseManager::EXCLUSIVE);
throw Exception(EXLOC, "Cannot create procedure", e);
}
- _pTabMng->getDBMng()->unuseObject(tabSetId, procName, CegoObject::PROCEDURE, CegoDatabaseManager::EXCLUSIVE);
+
}
void CegoAction::execProcLoad()
@@ -3675,7 +3687,7 @@
CegoTableObject *pTO = new CegoTableObject();
_pTabMng->getDistObject(tableSet, sysTable, CegoObject::SYSTEM, *pTO);
- pTO->setName(sysTable);
+ pTO->setName(sysTable);
_coList.Insert(pTO);
}
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoDatabaseManager.cc
^
|
@@ -515,6 +515,7 @@
void CegoDatabaseManager::useObject(int tabSetId, const Chain& objName, CegoObject::ObjectType type, ObjectUseMode mode, long tid)
{
+
if ( mode == SHARED )
{
// cout << "Using object " << objName << " " << type << " shared" << endl;
@@ -1011,7 +1012,6 @@
bool CegoDatabaseManager::verifyAccess(const int tabSetId, const Chain& objName, CegoObject::ObjectType type, CegoXMLSpace::AccessMode mode, const Chain& user)
{
-
SetT<Chain> roleSet;
getRoleSet(user, roleSet);
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoDbThread.cc
^
|
@@ -101,7 +101,24 @@
int ts = *pTS;
_loadList.Remove(*pTS);
_pPool->V(_idx);
- loadObjects(ts);
+
+ _pTabMng->disableAuth();
+
+ try
+ {
+
+ loadObjects(ts);
+ }
+ catch ( Exception e )
+ {
+
+ Chain msg;
+ e.pop(msg);
+ _pDBMng->log(_modId, Logger::LOGERR, Chain("Thread ") + Chain(_idx) + Chain(" reload error : ") + msg);
+ }
+
+ _pTabMng->enableAuth();
+
}
else
{
@@ -220,30 +237,31 @@
Chain tableSet = _pDBMng->getTabSetName(tabSetId);
- try
- {
- _pPA->setTableSet(tableSet);
-
- ListT<Chain> procList;
- _pTabMng->getObjectList(tabSetId, CegoObject::PROCEDURE, procList);
-
- Chain *pProcName = procList.First();
- while ( pProcName )
- {
+ _pPA->setTableSet(tableSet);
+
+ ListT<Chain> procList;
+ _pTabMng->getObjectList(tabSetId, CegoObject::PROCEDURE, procList);
+
+ Chain *pProcName = procList.First();
+ while ( pProcName )
+ {
#ifdef DEBUG
- _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Compiling procedure ") + *pProcName);
+ _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Compiling procedure ") + *pProcName);
#endif
-
- CegoProcObject po;
- _pTabMng->getObject(tabSetId, *pProcName, CegoObject::PROCEDURE, po);
-
- Chain loadString = Chain("load ") + po.getProcText();
-
+
+ CegoProcObject po;
+ _pTabMng->getObject(tabSetId, *pProcName, CegoObject::PROCEDURE, po);
+
+ Chain loadString = Chain("load ") + po.getProcText();
+
#ifdef DEBUG
- _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Loading <<< ") + loadString + Chain(">>>"));
+ _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Loading <<< ") + loadString + Chain(">>>"));
#endif
-
+ // cout << "Loading procedure " << loadString << endl;
+
+ try
+ {
_pPA->cleanUp();
_pPA->setCommandChain(loadString);
_pPA->parse();
@@ -255,52 +273,56 @@
_pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Procedure ") + *pProcName + Chain(" added"));
#endif
-
- pProcName = procList.Next();
+
}
+ catch ( Exception e )
+ {
+
+ Chain msg;
+ e.pop(msg);
+ _pDBMng->log(_modId, Logger::LOGERR, Chain("Thread ") + Chain(_idx) + Chain(" procedure load error : ") + msg);
+ _pPA->cleanUp();
+ }
+
- ListT<Chain> viewList;
- _pTabMng->getObjectList(tabSetId, CegoObject::VIEW, viewList);
-
- Chain *pViewName = viewList.First();
- while ( pViewName )
- {
+ pProcName = procList.Next();
+ }
+
+ ListT<Chain> viewList;
+ _pTabMng->getObjectList(tabSetId, CegoObject::VIEW, viewList);
+
+ Chain *pViewName = viewList.First();
+ while ( pViewName )
+ {
#ifdef DEBUG
- _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Compiling view ") + *pViewName);
+ _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Compiling view ") + *pViewName);
#endif
- CegoViewObject vo;
- _pTabMng->getObject(tabSetId, *pViewName, CegoObject::VIEW, vo);
-
- Chain loadString = Chain("load ") + vo.getViewStmt();
-
+ CegoViewObject vo;
+ _pTabMng->getObject(tabSetId, *pViewName, CegoObject::VIEW, vo);
+
+ Chain loadString = Chain("load ") + vo.getViewStmt();
+
#ifdef DEBUG
- _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Loading <<< ") + loadString + Chain(">>>"));
+ _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : Loading <<< ") + loadString + Chain(">>>"));
#endif
-
-
- _pPA->cleanUp();
- _pPA->setCommandChain(loadString);
- _pPA->parse();
-
- CegoSelect* pSelect = _pPA->getSelect();
-
- CegoView *pView = new CegoView(*pViewName, pSelect);
-
- _pTabMng->addCompView(tabSetId, pView);
-
+
+
+ _pPA->cleanUp();
+ _pPA->setCommandChain(loadString);
+ _pPA->parse();
+
+ CegoSelect* pSelect = _pPA->getSelect();
+
+ CegoView *pView = new CegoView(*pViewName, pSelect);
+
+ _pTabMng->addCompView(tabSetId, pView);
+
#ifdef DEBUG
- _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : View ") + *pViewName + Chain(" added"));
+ _pDBMng->log(_modId, Logger::DEBUG, Chain("Thread ") + Chain(_idx) + Chain(" : View ") + *pViewName + Chain(" added"));
#endif
- pViewName = viewList.Next();
- }
-
+ pViewName = viewList.Next();
}
- catch ( Exception e )
- {
- Chain msg = Chain("Cannot load objects");
- throw Exception(EXLOC, msg, e);
- }
}
void CegoDbThread::unloadObjects(int tabSetId)
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoDefs.h
^
|
@@ -40,7 +40,7 @@
#endif
#define CEGO_PRODUCT "Cego"
-#define CEGO_VERSION "2.12.7"
+#define CEGO_VERSION "2.12.8"
#define CEGO_COPYRIGHT "Copyright (C) 2000-2012 by Bjoern Lemke. All rights reserved"
/*******************************/
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoDistManager.cc
^
|
@@ -96,6 +96,7 @@
CegoDistManager::CegoDistManager(CegoDatabaseManager *pDBMng) : CegoTableManager(pDBMng)
{
_modId = pDBMng->getModId("CegoDistManager");
+ _authEnabled = true;
}
CegoDistManager::~CegoDistManager()
@@ -341,7 +342,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::READ, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::READ, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + objName;
throw Exception(EXLOC, msg);
@@ -407,7 +408,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + objName;
throw Exception(EXLOC, msg);
@@ -560,7 +561,7 @@
Chain hostName = _pDBMng->getPrimary(tableSet);
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, tableName, type, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, tableName, type, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + tableName;
throw Exception(EXLOC, msg);
@@ -637,7 +638,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, indexName, CegoObject::INDEX, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, indexName, CegoObject::INDEX, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for index ") + indexName;
throw Exception(EXLOC, msg);
@@ -694,7 +695,7 @@
Chain hostName = _pDBMng->getPrimary(tableSet);
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, tableName, CegoObject::TABLE, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, tableName, CegoObject::TABLE, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + tableName;
throw Exception(EXLOC, msg);
@@ -735,7 +736,7 @@
Chain hostName = _pDBMng->getPrimary(tableSet);
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, tableName, CegoObject::TABLE, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, tableName, CegoObject::TABLE, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + tableName;
throw Exception(EXLOC, msg);
@@ -778,7 +779,7 @@
Chain hostName = _pDBMng->getPrimary(tableSet);
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + objName;
throw Exception(EXLOC, msg);
@@ -1117,7 +1118,7 @@
_pDBMng->log(_modId, Logger::DEBUG, Chain("Inserting into global table ") + oe.getName());
#endif
- if ( _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + oe.getName();
throw Exception(EXLOC, msg);
@@ -1185,7 +1186,7 @@
_pDBMng->log(_modId, Logger::DEBUG, Chain("Deleting from global table ") + oe.getName());
#endif
- if ( _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + oe.getName();
throw Exception(EXLOC, msg);
@@ -1251,7 +1252,7 @@
_pDBMng->log(_modId, Logger::DEBUG, Chain("Updating global table ") + oe.getName());
#endif
- if ( _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::WRITE, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + oe.getName();
throw Exception(EXLOC, msg);
@@ -1370,7 +1371,7 @@
_pDBMng->log(_modId, Logger::DEBUG, Chain("Altering global table ") + oe.getName());
#endif
- if ( _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(oe.getTabSetId(), oe.getName(), oe.getType(), CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + oe.getName();
throw Exception(EXLOC, msg);
@@ -1411,7 +1412,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, objName, type, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + objName;
throw Exception(EXLOC, msg);
@@ -1457,7 +1458,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, viewName, CegoObject::VIEW, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, viewName, CegoObject::VIEW, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + viewName;
throw Exception(EXLOC, msg);
@@ -1521,7 +1522,7 @@
int tabSetId = _pDBMng->getTabSetId(tableSet);
- if ( _pDBMng->verifyAccess(tabSetId, procName, CegoObject::PROCEDURE, CegoXMLSpace::MODIFY, _authUser) == false )
+ if ( _authEnabled == true && _pDBMng->verifyAccess(tabSetId, procName, CegoObject::PROCEDURE, CegoXMLSpace::MODIFY, _authUser) == false )
{
Chain msg = Chain("Access not allowed for object ") + procName;
throw Exception(EXLOC, msg);
@@ -1859,7 +1860,6 @@
_pDBMng->releaseSession(pSH);
}
-
}
void CegoDistManager::syncLocalTableSet(const Chain& tableSet, const Chain& escCmd, int timeout)
@@ -1867,6 +1867,16 @@
writeCheckPoint(tableSet, true, true, escCmd, timeout);
}
+void CegoDistManager::enableAuth()
+{
+ _authEnabled = true;
+}
+
+void CegoDistManager::disableAuth()
+{
+ _authEnabled = false;
+}
+
void CegoDistManager::setActiveUser(const Chain& tableSet, const Chain& user, const Chain& passwd)
{
_authUser = user;
@@ -2355,7 +2365,11 @@
case CegoObject::PROCEDURE:
{
- int tabSetId = getDBMng()->getTabSetId(tableSet);
+ int tabSetId = getDBMng()->getTabSetId(tableSet);
+
+ if ( checkCompProcedure(tabSetId, objName) == false )
+ reloadProcedure( tabSetId, objName );
+
CegoProcedure* pProc = getCompProcedure(tabSetId, objName);
ListT<CegoProcVar> argList;
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoDistManager.h
^
|
@@ -126,6 +126,9 @@
void syncDistTableSet(const Chain& tableSet, const Chain& escCmd, int timeout);
void syncLocalTableSet(const Chain& tableSet, const Chain& escCmd, int timeout);
+ void enableAuth();
+ void disableAuth();
+
void setActiveUser(const Chain& tableSet, const Chain& user, const Chain& passwd);
CegoLockHandler* getLockHandle();
@@ -180,6 +183,7 @@
ListT<ActiveTSUser> _userList;
Chain _authUser;
+ bool _authEnabled;
long _threadId;
|
[-]
[+]
|
Changed |
cego-2.12.8.tar.bz2/src/CegoSystemObject.cc
^
|
@@ -6,7 +6,7 @@
//
// Design and Implementation by Bjoern Lemke
//
-// (C)opyright 2000-2010 Bjoern Lemke
+// (C)opyright 2000-2012 Bjoern Lemke
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -80,24 +80,28 @@
if ( objectName == (Chain(SYSTAB_TABLE_ID)))
{
- schema.Insert(CegoField(Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN));
- schema.Insert(CegoField(Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_SIZE_ATTR),INT_TYPE, sizeof(int)));
+ CegoFieldValue defVal;
+ schema.Insert(CegoField(Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN, defVal, false, 1));
+ schema.Insert(CegoField(Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_TABLE_ID), Chain(SYSTAB_SIZE_ATTR),INT_TYPE, sizeof(int), defVal, false, 2));
}
else if ( objectName == (Chain(SYSTAB_PROC_ID)))
{
- schema.Insert(CegoField(Chain(SYSTAB_PROC_ID), Chain(SYSTAB_PROC_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN));
- schema.Insert(CegoField(Chain(SYSTAB_PROC_ID), Chain(SYSTAB_PROC_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15));
+ CegoFieldValue defVal;
+ schema.Insert(CegoField(Chain(SYSTAB_PROC_ID), Chain(SYSTAB_PROC_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN, defVal, false, 1));
+ schema.Insert(CegoField(Chain(SYSTAB_PROC_ID), Chain(SYSTAB_PROC_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15, defVal, false, 2));
}
else if ( objectName == (Chain(SYSTAB_VIEW_ID)))
{
- schema.Insert(CegoField(Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN));
- schema.Insert(CegoField(Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15));
+ CegoFieldValue defVal;
+ schema.Insert(CegoField(Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN, defVal, false, 1));
+ schema.Insert(CegoField(Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_VIEW_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15, defVal, false, 2));
}
else if ( objectName == (Chain(SYSTAB_INDEX_ID)))
{
- schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN));
- schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_SIZE_ATTR),INT_TYPE, sizeof(int)));
- schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15));
+ CegoFieldValue defVal;
+ schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_NAME_ATTR),VARCHAR_TYPE, MAX_OBJNAME_LEN, defVal, false, 1));
+ schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_SIZE_ATTR),INT_TYPE, sizeof(int), defVal, false, 2));
+ schema.Insert(CegoField(Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_INDEX_ID), Chain(SYSTAB_STATUS_ATTR), VARCHAR_TYPE, 15, defVal, false, 3));
}
else if ( objectName == (Chain(SYSTAB_KEY_ID)))
{
|