JetRenameColumn Function
Applies to: Windows | Windows Server
JetRenameColumn Function
The JetRenameColumn function can be used to change the name of an existing column on a table.
Windows XP: JetRenameColumn is introduced in Windows XP.
JET_ERR JET_API JetRenameColumn(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_PCSTR szName,
__in JET_PCSTR szNameNew,
__in JET_GRBIT grbit
);
Parameters
sesid
The session to use for this call.
tableid
The cursor to use for this call.
szName
The current name of the column that will be renamed.
szNameNew
The new name for the column that will be renamed.
grbit
This parameter must be 0.
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_errClientRequestToStopJetService |
It is not possible to complete the operation because all activity on the instance associated with the session has ceased as a result of a call to JetStopService. |
JET_errColumnNotFound |
This specified column does not exist for this table. |
JET_errInvalidName |
One of the specified object names was invalid. All object names must conform to the same set of rules. These rules are as follows:
|
JET_errInvalidParameter |
One of the parameters provided contained an unexpected value or contained a value that did not make sense when combined with the value of another parameter. This can happen for JetRenameColumn when:
|
JET_errInstanceUnavailable |
It is not possible to complete the operation because the instance associated with the session has encountered a fatal error that requires that access to all data be revoked to protect the integrity of that data. This error will only be returned by Windows XP and later releases. |
JET_errInTransaction |
This operation may only be performed when the session is not currently inside a transaction. |
JET_errNotInitialized |
It is not possible to complete the operation because the instance associated with the session has not been initialized yet. |
JET_errRestoreInProgress |
It is not possible to complete the operation because a restore operation is in progress on the instance associated with the session. |
JET_errSessionSharingViolation |
The same session cannot be used for more than one thread at the same time. This error will only be returned by Windows XP and later releases. |
JET_errTermInProgress |
It is not possible to complete the operation because the instance associated with the session is being shut down. |
JET_errTransReadOnly |
An update cannot be done while inside the scope of a read-only transaction. A read-only transaction is a transaction that has been started using a call to JetBeginTransaction2 with JET_bitTransactionReadOnly. This error will only be returned by Windows XP and later releases. |
On success, the name of the specified column in the table associated with the cursor is permanently changed to the new name. Any indexes that reference that column will also be updated.
On failure, no change to the database state will occur.
Remarks
The column rename operation is unusual because, unlike other schema operations, it is not carried out as a transaction. When a column in a given table is renamed in one session then any other session using that table will see the change immediately, even if they are in a transaction that would prevent that session from seeing any other change made by the session doing the rename operation.
The column ID of a column is not affected by the rename operation.
Requirements
Requirement | Value |
---|---|
Client |
Requires Windows Vista or Windows XP. |
Server |
Requires Windows Server 2008 or Windows Server 2003. |
Header |
Declared in Esent.h. |
Library |
Use ESENT.lib. |
DLL |
Requires ESENT.dll. |
Unicode |
Implemented as JetRenameColumnW (Unicode) and JetRenameColumnA (ANSI). |
See Also
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2