Step 2: Opening Databases

The simplest way to open a database in Python is to use the open_database() method:

 
    >>> db = exdb.open_database("myopendb", dict)
    >>> db
    <exdb.Database object at 0x100827610>
    >>>
     

In this example, a database with the name “myopendb” is created. By default, it is opened as an in-memory database, using 128Mb of RAM. The variable db is a handle to the open database.

To create a database with other parameters, other arguments can be specified:

 
    def open_database(dbname, dictionary, is_disk = False,
                db_segment_size = 128*1024*1024,
                cache_segment_size = 16*1024*1024,
                mem_page_size=256,
                disk_page_size=4096, 										db_log_type="REDO_LOG",
                disk_max_database_size = 0,
                file_extension_quantum = 4096*1024,
                db_max_connections = 10)
                 

Note that if parameter is_disk = True the database is created or opened on persistent media and the corresponding parameters disk_max_database_size and disk_page_size must be set to appropriate non-zero values. If is_disk = True and disk_page_size = 0 the eXtremeDB runtime will assign it the default value of 4096. If multiple applications or tasks attempt to assign different disk page sizes for the same database, the runtime returns an error code.

To open an existing disk file as a database the database metadata must be identical to that used to create the database. For example if the disk file was created with xSQL, the exact same values for max_indexes , max_classes, mem_page_size and disk_page_size must be used as were defined in the xSQL configuration file:

 
    >>> db = exdb.open_database(dbname=sys.argv[1], dictionary=dict,
                        is_disk=true, max_indexes=1000, 
                        max_classes=100, mem_page_size=256, 
                        disk_page_size=8*256)
                         

SDK sample samples/python/open illustrates how to open a simple In-Memory database. The sample also demonstrates how to display runtime information by calling the Database method GetRunTimeInfo(). Please build and run the sample application and examine the source code.