blob: 8b1e10238e991de6562ab63ef5599dffc43238b5 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_sdbc_KeyRule_idl__
#define __com_sun_star_sdbc_KeyRule_idl__
module com { module sun { module star { module sdbc {
/** determines the rules for foreign key constraints.
*/
published constants KeyRule
{
/** a possible value for the column's
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
in the
<type scope="com::sun::star::sdbc">XResultSet</type>
objects returned by the methods
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
,
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
,
and
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
.
<P>
For the column
<code>UPDATE_RULE</code>
,
it indicates that
when the primary key is updated, the foreign key (imported key)
is changed to agree with it.
</P>
<P>
For the column
<code>DELETE_RULE</code>
,
it indicates that
when the primary key is deleted, rows that imported that key
are deleted.
</P>
*/
const long CASCADE = 0;
//-------------------------------------------------------------------------
/** a possible value for the column's
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
in the
<type scope="com::sun::star::sdbc">XResultSet</type>
objects returned by the methods
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
,
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
,
and
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
.
<P>
For the column
<code>UPDATE_RULE</code>
, it indicates that
a primary key may not be updated if it has been imported by
another table as a foreign key.
</P>
<P>
For the column
<code>DELETE_RULE</code>
, it indicates that
a primary key may not be deleted if it has been imported by
another table as a foreign key.
</P>
*/
const long RESTRICT = 1;
//-------------------------------------------------------------------------
/** a possible value for the column's
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
in the
<type scope="com::sun::star::sdbc">XResultSet</type>
objects returned by the methods
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
,
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
,
and
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
.
<P>
For the columns
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
,
it indicates that
when the primary key is updated or deleted, the foreign key (imported key)
is changed to <code>NULL</code>.
</P>
*/
const long SET_NULL = 2;
//-------------------------------------------------------------------------
/** a possible value for the column's
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
in the
<type scope="com::sun::star::sdbc">XResultSet</type>
objects returned by the methods
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
,
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
,
and
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
.
<P>
For the columns
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
,
it indicates that if the primary key has been imported, it cannot be updated or deleted.
</P>
*/
const long NO_ACTION = 3;
//-------------------------------------------------------------------------
/** a possible value for the column's
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
in the
<type scope="com::sun::star::sdbc">XResultSet</type>
objects returned by the methods
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
,
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
,
and
<member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
.
<P>
For the columns
<code>UPDATE_RULE</code>
and
<code>DELETE_RULE</code>
,
it indicates that
if the primary key is updated or deleted, the foreign key (imported key)
is set to the default value.
</P>
*/
const long SET_DEFAULT = 4;
};
//=============================================================================
}; }; }; };
/*===========================================================================
===========================================================================*/
#endif