The first step in using the eXtremeDB Python API is to define the classes that you’ll want to manage in the eXtremeDB database. The eXtremeDB Python wrapper has the
mcocompruntime compiled in, so the database schema can be defined in the form of text, just like a regular.mcofile. For example, the following is a simple database schema defined with a Python string:>>> schema = ''' #define uint4 unsigned<4> declare database opendb; class myclass { uint4 i4; }; ''' >>>To process and load this schema, call the
load_dictionary()method:>>> dict = exdb.load_dictionary(schema) >>> dict <eXDB.Dictionary object at 0x1006e0790> >>>The full load_dictionary() method signature is quite complicated as it includes all the options for the mcocomp schema compiler:
def load_dictionary(schema, nosort=False, dumpxml=False, genhpp=False, gencs=False, genjava=False, outDir='.', csNamespace='eXtremeDB', javaPackage='eXtremeDB', cmode1=False, genXmlMethods=False, genSql=False, largeDatabase=False, wcharSize=2, use_prefix=False, include_dir='.', compact=False, persistent=False, transient=True, suppress_api=False, debug=False):Only the ‘schema’ argument itself is mandatory; all other arguments are optional and take the defaults indicated above. For details on defining the database schema please refer to the C API DDL page.