|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.catalog.SystemProcedures
Some system built-in procedures, and help routines. Now used for network server. These procedures are built-in to the SYSIBM schema which match the DB2 SYSIBM procedures. Currently information on those can be found at url: ftp://ftp.software.ibm.com/ps/products/db2/info/vr8/pdf/letter/db2l2e80.pdf
Field Summary | |
private static int |
SQL_BEST_ROWID
|
private static int |
SQL_ROWVER
|
Constructor Summary | |
SystemProcedures()
|
Method Summary | |
private static void |
checkJarSQLName(java.lang.String sqlName)
|
private static java.sql.DatabaseMetaData |
getDMD()
Get the DatabaseMetaData for the current connection for use in mapping the jcc SYSIBM.* calls to the Cloudscape DatabaseMetaData methods |
private static java.lang.String |
getOption(java.lang.String pattern,
java.lang.String options)
Helper for SQLForeignKeys and SQLTables |
static void |
INSTALL_JAR(java.lang.String url,
java.lang.String jar,
int deploy)
Install a jar file in the database. |
static void |
METADATA(java.sql.ResultSet[] rs)
|
static void |
REMOVE_JAR(java.lang.String jar,
int undeploy)
Remove a jar file from the database. |
static void |
REPLACE_JAR(java.lang.String url,
java.lang.String jar)
Replace a jar file in the database. |
static void |
SQLCAMESSAGE(int sqlcode,
short errmcLen,
java.lang.String sqlerrmc,
java.lang.String sqlerrp,
int errd0,
int errd1,
int errd2,
int errd3,
int errd4,
int errd5,
java.lang.String warn,
java.lang.String sqlState,
java.lang.String file,
java.lang.String localeStr,
java.lang.String[] msg,
int[] rc)
Method used by Cloudscape Network Server to get localized message (original call from jcc. |
static void |
SQLCOLPRIVILEGES(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLColPrivileges to EmbedDatabaseMetaData.getColumnPrivileges |
static void |
SQLCOLUMNS(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLColumns to EmbedDatabaseMetaData.getColumns |
static void |
SQLFOREIGNKEYS(java.lang.String pkCatalogName,
java.lang.String pkSchemaName,
java.lang.String pkTableName,
java.lang.String fkCatalogName,
java.lang.String fkSchemaName,
java.lang.String fkTableName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLForeignKeys to EmbedDatabaseMetaData.getImportedKeys, getExportedKeys, and getCrossReference |
static void |
SQLGETTYPEINFO(short dataType,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLGetTypeInfo to EmbedDatabaseMetaData.getTypeInfo |
static void |
SQLPRIMARYKEYS(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLPrimaryKeys to EmbedDatabaseMetaData.getPrimaryKeys |
static void |
SQLPROCEDURECOLS(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String procName,
java.lang.String paramName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLProcedureCols to EmbedDatabaseMetaData.getProcedureColumns |
static void |
SQLPROCEDURES(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String procName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLProcedures to EmbedDatabaseMetaData.getProcedures |
static void |
SQLSPECIALCOLUMNS(short colType,
java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
short scope,
short nullable,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLSpecialColumns to EmbedDatabaseMetaData.getBestRowIdentifier and getVersionColumns |
static void |
SQLSTATISTICS(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
short unique,
short approximate,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLStatistics to EmbedDatabaseMetaData.getIndexInfo |
static void |
SQLTABLEPRIVILEGES(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLTablePrivileges to EmbedDatabaseMetaData.getTablePrivileges |
static void |
SQLTABLES(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String tableType,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLTables to EmbedDatabaseMetaData.getSchemas, getCatalogs, getTableTypes and getTables |
static void |
SQLUDTS(java.lang.String catalogName,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String udtTypes,
java.lang.String options,
java.sql.ResultSet[] rs)
Map SQLUDTS to EmbedDatabaseMetaData.getUDTs |
static void |
SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE(java.lang.String backupDir,
int deleteOnlineArchivedLogFiles)
|
static void |
SYSCS_BACKUP_DATABASE(java.lang.String backupDir)
|
static void |
SYSCS_BULK_INSERT(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String vtiName,
java.lang.String vtiArg)
Perform bulk insert using the specificed vti . |
static int |
SYSCS_CHECK_TABLE(java.lang.String schema,
java.lang.String tablename)
|
static void |
SYSCS_CHECKPOINT_DATABASE()
|
static void |
SYSCS_COMPRESS_TABLE(java.lang.String schema,
java.lang.String tablename,
int sequential)
compress the table Calls the "alter table compress {sequential}" sql. |
static void |
SYSCS_DISABLE_LOG_ARCHIVE_MODE(int deleteOnlineArchivedLogFiles)
|
static void |
SYSCS_EXPORT_QUERY(java.lang.String selectStatement,
java.lang.String fileName,
java.lang.String columnDelimiter,
java.lang.String characterDelimiter,
java.lang.String codeset)
Export data from a select statement to given file. |
static void |
SYSCS_EXPORT_TABLE(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String fileName,
java.lang.String columnDelimiter,
java.lang.String characterDelimiter,
java.lang.String codeset)
Export data from a table to given file. |
static void |
SYSCS_FREEZE_DATABASE()
Freeze the database. |
static java.lang.String |
SYSCS_GET_DATABASE_PROPERTY(java.lang.String key)
Get the value of a property of the database in current connection. |
static java.lang.String |
SYSCS_GET_RUNTIMESTATISTICS()
|
static void |
SYSCS_IMPORT_DATA(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String insertColumnList,
java.lang.String columnIndexes,
java.lang.String fileName,
java.lang.String columnDelimiter,
java.lang.String characterDelimiter,
java.lang.String codeset,
short replace)
Import data from a given file into the specified table columns from the specified columns in the file. |
static void |
SYSCS_IMPORT_TABLE(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String fileName,
java.lang.String columnDelimiter,
java.lang.String characterDelimiter,
java.lang.String codeset,
short replace)
Import data from a given file to a table. |
static void |
SYSCS_SET_DATABASE_PROPERTY(java.lang.String key,
java.lang.String value)
Set/delete the value of a property of the database in current connection. |
static void |
SYSCS_SET_RUNTIMESTATISTICS(int enable)
|
static void |
SYSCS_SET_STATISTICS_TIMING(int enable)
|
static void |
SYSCS_UNFREEZE_DATABASE()
Unfreeze the database. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final int SQL_BEST_ROWID
private static final int SQL_ROWVER
Constructor Detail |
public SystemProcedures()
Method Detail |
public static void SQLCAMESSAGE(int sqlcode, short errmcLen, java.lang.String sqlerrmc, java.lang.String sqlerrp, int errd0, int errd1, int errd2, int errd3, int errd4, int errd5, java.lang.String warn, java.lang.String sqlState, java.lang.String file, java.lang.String localeStr, java.lang.String[] msg, int[] rc)
sqlcode
- sqlcode, not used.errmcLen
- sqlerrmc lengthsqlerrmc
- sql error message tokens, variable part of error message (ie.,
arguments) plus messageId, separated by separator.sqlerrp
- not usedwarn
- not usedsqlState
- 5-char sql statefile
- not usedlocaleStr
- client locale in stringmsg
- OUTPUT parameter, localized error messagerc
- OUTPUT parameter, return code -- 0 for successprivate static java.sql.DatabaseMetaData getDMD() throws java.sql.SQLException
java.sql.SQLException
public static void SQLPROCEDURES(java.lang.String catalogName, java.lang.String schemaName, java.lang.String procName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLProcedures CatalogName varchar(128),schemaName
- SYSIBM.SQLProcedures SchemaName varchar(128),procName
- SYSIBM.SQLProcedures ProcName varchar(128),options
- SYSIBM.SQLProcedures Options varchar(4000))
java.sql.SQLException
public static void SQLTABLES(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String tableType, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLTables CatalogName varchar(128),schemaName
- SYSIBM.SQLTables SchemaName varchar(128),tableName
- SYSIBM.SQLTables TableName varchar(128),tableType
- SYSIBM.SQLTables TableType varchar(4000))options
- SYSIBM.SQLTables Options varchar(4000))
JCC overloads this method:
If options contains the string 'GETSCHEMAS=1', call getSchemas
If options contains the string 'GETCATALOGS=1', call getCatalogs
If options contains the string 'GETTABLETYPES=1', call getTableTypes
otherwise, call getTables
java.sql.SQLException
public static void SQLFOREIGNKEYS(java.lang.String pkCatalogName, java.lang.String pkSchemaName, java.lang.String pkTableName, java.lang.String fkCatalogName, java.lang.String fkSchemaName, java.lang.String fkTableName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
pkCatalogName
- SYSIBM.SQLForeignKeys PKCatalogName varchar(128),pkSchemaName
- SYSIBM.SQLForeignKeys PKSchemaName varchar(128),pkTableName
- SYSIBM.SQLForeignKeys PKTableName varchar(128),fkCatalogName
- SYSIBM.SQLForeignKeys FKCatalogName varchar(128),fkSchemaName
- SYSIBM.SQLForeignKeys FKSchemaName varchar(128),fkTableName
- SYSIBM.SQLForeignKeys FKTableName varchar(128),options
- SYSIBM.SQLForeignKeys Options varchar(4000))
JCC overloads this method:
If options contains the string 'EXPORTEDKEY=1', call getImportedKeys
If options contains the string 'IMPORTEDKEY=1', call getExportedKeys
otherwise, call getCrossReference
java.sql.SQLException
private static java.lang.String getOption(java.lang.String pattern, java.lang.String options)
pattern
- String containing the option to search foroptions
- String containing the options to search through
public static void SQLPROCEDURECOLS(java.lang.String catalogName, java.lang.String schemaName, java.lang.String procName, java.lang.String paramName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLProcedureCols CatalogName varchar(128),schemaName
- SYSIBM.SQLProcedureCols SchemaName varchar(128),procName
- SYSIBM.SQLProcedureCols ProcName varchar(128),paramName
- SYSIBM.SQLProcedureCols ParamName varchar(128),options
- SYSIBM.SQLProcedureCols Options varchar(4000))
java.sql.SQLException
public static void SQLCOLUMNS(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String columnName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLColumns CatalogName varchar(128),schemaName
- SYSIBM.SQLColumns SchemaName varchar(128),tableName
- SYSIBM.SQLColumns TableName varchar(128),columnName
- SYSIBM.SQLColumns ColumnName varchar(128),options
- SYSIBM.SQLColumns Options varchar(4000))
java.sql.SQLException
public static void SQLCOLPRIVILEGES(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String columnName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLColPrivileges CatalogName varchar(128),schemaName
- SYSIBM.SQLColPrivileges SchemaName varchar(128),tableName
- SYSIBM.SQLColPrivileges ProcName varchar(128),columnName
- SYSIBM.SQLColPrivileges ColumnName varchar(128),options
- SYSIBM.SQLColPrivileges Options varchar(4000))
java.sql.SQLException
public static void SQLTABLEPRIVILEGES(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLTablePrivileges CatalogName varchar(128),schemaName
- SYSIBM.SQLTablePrivileges SchemaName varchar(128),tableName
- SYSIBM.SQLTablePrivileges ProcName varchar(128),options
- SYSIBM.SQLTablePrivileges Options varchar(4000))
java.sql.SQLException
public static void SQLPRIMARYKEYS(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLPrimaryKeys CatalogName varchar(128),schemaName
- SYSIBM.SQLPrimaryKeys SchemaName varchar(128),tableName
- SYSIBM.SQLPrimaryKeys TableName varchar(128),options
- SYSIBM.SQLPrimaryKeys Options varchar(4000))
java.sql.SQLException
public static void SQLGETTYPEINFO(short dataType, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
options
- SYSIBM.SQLGetTypeInfo Options varchar(4000))
java.sql.SQLException
public static void SQLSTATISTICS(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, short unique, short approximate, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLStatistics CatalogName varchar(128),schemaName
- SYSIBM.SQLStatistics SchemaName varchar(128),tableName
- SYSIBM.SQLStatistics TableName varchar(128),unique
- SYSIBM.SQLStatistics Unique smallint; 0=SQL_INDEX_UNIQUE(0); 1=SQL_INDEX_ALL(1),approximate
- SYSIBM.SQLStatistics Approximate smallint; 1=true; 0=false,options
- SYSIBM.SQLStatistics Options varchar(4000))
java.sql.SQLException
public static void SQLSPECIALCOLUMNS(short colType, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, short scope, short nullable, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLSpecialColumns CatalogName varchar(128),schemaName
- SYSIBM.SQLSpecialColumns SchemaName varchar(128),tableName
- SYSIBM.SQLSpecialColumns TableName varchar(128),scope
- SYSIBM.SQLSpecialColumns Scope smallint,nullable
- SYSIBM.SQLSpecialColumns Nullable smallint; 0=false, 1=true,options
- SYSIBM.SQLSpecialColumns Options varchar(4000))
java.sql.SQLException
public static void SQLUDTS(java.lang.String catalogName, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String udtTypes, java.lang.String options, java.sql.ResultSet[] rs) throws java.sql.SQLException
catalogName
- SYSIBM.SQLUDTS CatalogName varchar(128),schemaPattern
- SYSIBM.SQLUDTS Schema_Name_Pattern varchar(128),typeNamePattern
- SYSIBM.SQLUDTS Type_Name_Pattern varchar(128),udtTypes
- SYSIBM.SQLUDTS UDTTypes varchar(128),options
- SYSIBM.SQLUDTS Options varchar(4000))
java.sql.SQLException
public static void METADATA(java.sql.ResultSet[] rs) throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_SET_DATABASE_PROPERTY(java.lang.String key, java.lang.String value) throws java.sql.SQLException
Will be called as SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY.
key
- The property key.value
- The new value, if null the property is deleted.
StandardException
- Standard exception policy.
java.sql.SQLException
public static java.lang.String SYSCS_GET_DATABASE_PROPERTY(java.lang.String key) throws java.sql.SQLException
Will be called as SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY.
key
- The property key.
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_COMPRESS_TABLE(java.lang.String schema, java.lang.String tablename, int sequential) throws java.sql.SQLException
Calls the "alter table compress {sequential}" sql. This syntax is not db2 compatible so it mapped by a system routine. This routine will be called when an application calls: SYSCS_UTIL.SYSCS_COMPRESS_TABLE
schema
- schema name of the table to compress. Must be
non-null, no default is used.tablename
- table name of the table to compress. Must be
non-null.sequential
- if non-zero then rebuild indexes sequentially,
if 0 then rebuild all indexes in parallel.
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_FREEZE_DATABASE() throws java.sql.SQLException
Call internal routine to freeze the database so that a backup can be made.
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_UNFREEZE_DATABASE() throws java.sql.SQLException
Call internal routine to unfreeze the database, which was "freezed" by calling SYSCS_FREEZE_DATABASE(). can be made.
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_CHECKPOINT_DATABASE() throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_BACKUP_DATABASE(java.lang.String backupDir) throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE(java.lang.String backupDir, int deleteOnlineArchivedLogFiles) throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_DISABLE_LOG_ARCHIVE_MODE(int deleteOnlineArchivedLogFiles) throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_SET_RUNTIMESTATISTICS(int enable) throws java.sql.SQLException
java.sql.SQLException
public static void SYSCS_SET_STATISTICS_TIMING(int enable) throws java.sql.SQLException
java.sql.SQLException
public static int SYSCS_CHECK_TABLE(java.lang.String schema, java.lang.String tablename) throws java.sql.SQLException
java.sql.SQLException
public static java.lang.String SYSCS_GET_RUNTIMESTATISTICS() throws java.sql.SQLException
java.sql.SQLException
public static void INSTALL_JAR(java.lang.String url, java.lang.String jar, int deploy) throws java.sql.SQLException
url
- URL of the jar file to be installed in the database.jar
- SQL name jar will be installed as.deploy
- Ignored.
java.sql.SQLException
- Error installing jar file.public static void REPLACE_JAR(java.lang.String url, java.lang.String jar) throws java.sql.SQLException
url
- URL of the jar file to be installed in the database.jar
- SQL name of jar to be replaced.
java.sql.SQLException
- Error replacing jar file.public static void REMOVE_JAR(java.lang.String jar, int undeploy) throws java.sql.SQLException
jar
- SQL name of jar to be replaced.
java.sql.SQLException
- Error removing jar file.private static void checkJarSQLName(java.lang.String sqlName) throws StandardException
StandardException
public static void SYSCS_EXPORT_TABLE(java.lang.String schemaName, java.lang.String tableName, java.lang.String fileName, java.lang.String columnDelimiter, java.lang.String characterDelimiter, java.lang.String codeset) throws java.sql.SQLException
Will be called by system procedure: SYSCS_EXPORT_TABLE(IN SCHEMANAME VARCHAR(128), IN TABLENAME VARCHAR(128), IN FILENAME VARCHAR(32672) , IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1) , IN CODESET VARCHAR(128))
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_EXPORT_QUERY(java.lang.String selectStatement, java.lang.String fileName, java.lang.String columnDelimiter, java.lang.String characterDelimiter, java.lang.String codeset) throws java.sql.SQLException
Will be called as SYSCS_EXPORT_QUERY(IN SELECTSTATEMENT VARCHAR(32672), IN FILENAME VARCHAR(32672) , IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1) , IN CODESET VARCHAR(128))
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_IMPORT_TABLE(java.lang.String schemaName, java.lang.String tableName, java.lang.String fileName, java.lang.String columnDelimiter, java.lang.String characterDelimiter, java.lang.String codeset, short replace) throws java.sql.SQLException
Will be called by system procedure as SYSCS_IMPORT_TABLE(IN SCHEMANAME VARCHAR(128), IN TABLENAME VARCHAR(128), IN FILENAME VARCHAR(32672) , IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1) , IN CODESET VARCHAR(128), IN� REPLACE SMALLINT)
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_IMPORT_DATA(java.lang.String schemaName, java.lang.String tableName, java.lang.String insertColumnList, java.lang.String columnIndexes, java.lang.String fileName, java.lang.String columnDelimiter, java.lang.String characterDelimiter, java.lang.String codeset, short replace) throws java.sql.SQLException
Will be called as SYSCS_IMPORT_DATA (IN SCHEMANAME� VARCHAR(128), IN TABLENAME��� VARCHAR(128),� IN INSERTCOLUMNLIST VARCHAR(32762), IN COLUMNINDEXES VARCHAR(32762), IN FILENAME VARCHAR(32762), IN COLUMNDELIMITER CHAR(1),� IN CHARACTERDELIMITER� CHAR(1) ,� IN CODESET VARCHAR(128) , IN� REPLACE SMALLINT)
StandardException
- Standard exception policy.
java.sql.SQLException
public static void SYSCS_BULK_INSERT(java.lang.String schemaName, java.lang.String tableName, java.lang.String vtiName, java.lang.String vtiArg) throws java.sql.SQLException
Will be called as SYSCS_BULK_INSERT (IN SCHEMANAME VARCHAR(128), IN TABLENAME��� VARCHAR(128),� IN VTINAME VARCHAR(32762), IN VTIARG VARCHAR(32762))
StandardException
- Standard exception policy.
java.sql.SQLException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |