JetGrowDatabase Function

Applies to: Windows | Windows Server

JetGrowDatabase Function

The JetGrowDatabase function extends the size of a database that is currently open.

    JET_ERR JET_API JetGrowDatabase(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          unsigned long cpg,
      __in          unsigned long* pcpgReal
    );

Parameters

sesid

The database session context to use for the API call.

dbid

The database that will be extended.

cpg

The desired size of the database, in pages.

pcpgReal

Pointer to a number that receives the size of the database, in pages, after the API call. If the API call fails, the contents of pcpgReal are undefined.

Return Value

This function returns the JET_ERR datatype with one of the following return codes. For more information about the possible ESE errors, see Extensible Storage Engine Errors and Error Handling Parameters.

Return code

Description

JET_errSuccess

The operation completed successfully.

JET_errDiskFull

There is insufficient free space on the volume to perform the grow operation.

JET_errDiskIO

A file-related error was returned by JetSetDatabaseSize. For more information about other file-related errors that might be returned, see JetSetDatabaseSize.

Remarks

If JetGrowDatabase is called prior to inserting large amounts of data, the database file will be grown in one operation. This will reduce the likelihood of the database file becoming fragmented at the file system level, and also reduce the number of times the database file has to be grown. Growing the database file once can be faster than growing it several times.

Only growing the file is currently supported. To shrink a file, use the defragmentation feature of the esentutl.exe utility program.

To set the size of a database that is not opened, see JetSetDatabaseSize.

The file size might not match the number of pages that are returned in pcpgReal. There are two additional reserved pages that might not be counted in pcpgReal.

Requirements

Requirement Value

Client

Requires Windows Vista, Windows XP, or Windows 2000 Professional.

Server

Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.

Header

Declared in Esent.h.

Library

Use ESENT.lib.

DLL

Requires ESENT.dll.

See Also

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetSetDatabaseSize