6.37 SDO_NET.GENERATE_NODE_LEVELS

Format

SDO_NET.GENERATE_NODE_LEVELS(
     network               IN VARCHAR2,
     node_level_table_name IN VARCHAR2,
     overwrite             IN BOOLEAN DEFAULT FALSE,
     log_loc               IN VARCHAR2,
     log_file              IN VARCHAR2,
     open_mode             IN VARCHAR2 DEFAULT 'A');

Description

Generates node levels for a specified multilevel network, and stores the information in a table.

Parameters

network

Network name.

node_level_table_name

Table in which to store node level information. This table must have the following definition: (node_id NUMBER PRIMARY KEY, link_level NUMBER)

overwrite

Controls the behavior if the table specified in node_level_table_name already exists: TRUE replaces the contents of that table with new data; FALSE (the default) generates an error. (This parameter has no effect if the table specified in node_level_table_name does not exist.)

log_loc

Directory object that identifies the path for the log file. To create a directory object, use the SQL*Plus command CREATE DIRECTORY.

log_file

Log file containing information about spatial network operations, including any possible errors or problems.

open_mode

A one-character code indicating the mode in which to open the log file: W for write over (that is, delete any existing log file at the specified location and name, and create a new file), or A (the default) for append (that is, append information to the existing specified log file). If you specify A and the log file does not exist, a new log file is created.

Usage Notes

If network is not a multilevel network (one with multiple link levels), this procedure does not perform any operation.

This procedure is used internally by the SDO_NET.GENERATE_PARTITION_BLOBS procedure. Therefore, if you have executed SDO_NET.GENERATE_PARTITION_BLOBS, you do not need to execute this procedure. However, you do need to execute this procedure explicitly in these cases:

  • When a Java application has been configured to read partitions from the node or link tables instead of from BLOBs, and partition BLOBs have never been generated on the network.

  • When a higher-level node has been added or deleted in the network and the node-partition relationship has been updated. Before you execute SDO_NET.GENERATE_PARTITION_BLOB to regenerate the containing partition BLOB or BLOBs, you must manually either update the node level table or execute this procedure (SDO_NET.GENERATE_NODE_LEVELS).

The node level table name is stored in the NODE_LEVEL_TABLE_NAME column of the USER_SDO_NETWORK_METADATA view, which is described in xxx_SDO_NETWORK_METADATA Views.

Examples

The following example generates the node level information for the MY_MULTILEVEL_NET network, and stores the information in the MY_NET_NODE_LEVELS table. Information about the operation is added (open_mode => 'a') to the my_multilevel_net.log file, located in the location associated with the directory object named LOG_DIR.

EXECUTE SDO_NET.GENERATE_NODE_LEVELS(-
  network => 'MY_MULTILEVEL_NET', -
  node_level_table_name => 'MY_NET_NODE_LEVELS',-
  overwrite => FALSE,-
  log_loc => 'LOG_DIR', log_file=> 'my_multilevel_net.log',-
  open_mode => 'a');