6.39 SDO_NET.GENERATE_PARTITION_BLOBS

Format

SDO_NET.GENERATE_PARTITION_BLOBS(
     network                   IN VARCHAR2,
     link_level                IN NUMBER DEFAULT 1,
     partition_blob_table_name IN VARCHAR2,
     include_user_data         IN BOOLEAN,
     commit_for_each_blob      IN BOOLEAN DEFAULT TRUE,
     log_loc                   IN VARCHAR2,
     log_file                  IN VARCHAR2,
     open_mode                 IN VARCHAR2 DEFAULT 'A',
     perform_delta_update      IN BOOLEAN DEFAULT FALSE,
     regenerate_node_levels    IN BOOLEAN DEFAULT FALSE);

Description

Generates a binary large object (BLOB) representation for partitions associated with a specified link level in the network, and stores the information in the partition BLOB table.

Parameters

network

Network name.

link_level

Link level for links to be included in each BLOB (default = 1). The link level reflects the priority level for the link, and is used for network analysis, so that links with higher priority levels can be considered first in computing a path.

partition_blob_table_name

Name of the partition BLOB table, which is created by this procedure. (If an existing table with the specified name already exists, it is updated with information for the specified link level.) The partition BLOB table is described in Partition BLOB Table.

include_user_data

TRUE if each BLOB should include any user data of category 0 (zero) associated with the network elements represented in each BLOB, or FALSE if each BLOB should not include any user data.

commit_for_each_blob

TRUE (the default) if each partition BLOB should be committed to the database after it is generated, or FALSE if each BLOB should not be committed (in which case you must perform one or more explicit commit operations).

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.

perform_delta_update

(Reserved for future use. The only permitted value is FALSE, the default.)

regenerate_node_levels

TRUE to regenerate the node level table for multilevel networks, or FALSE (the default) not to regenerate the node level table for multilevel networks. You should set this parameter to TRUE if higher-level (second level or above) nodes are added or deleted from the network, or if the level of a node is changed. The level of a node is defined as the maximum link level coming into or out of the node.

Usage Notes

Generating partition BLOBs enables better performance for many network analysis operations, especially with large networks.

If the network is not partitioned, this procedure generates a single BLOB representing the entire network.

When this procedure is first executed on a multilevel network, it internally calls SDO_NET.GENERATE_NODE_LEVELS to create and populate the node level table (described in Node Level Table (Optional)). When this procedure is called subsequently on a multilevel network, you can use the regenerate_node_levels parameter to specify whether to overwrite the existing node level table.

Do not confuse this procedure with SDO_NET.GENERATE_PARTITION_BLOB, which regenerates a single BLOB for a specified combination of link level and partition ID, and adds that information to the existing partition BLOB table.

Examples

The following example generates partition BLOBs for link level 1 in the SDO_PARTITIONED network, and creates or updates the SDO_PARTITIONED_PART_BLOB_TAB table. Any user data of category 0 (zero) associated with the network elements is also included. Information about the operation is added (open_mode => 'a') to the sdo_partitioned.log file, located in the location associated with the directory object named LOG_DIR.

EXECUTE SDO_NET.GENERATE_PARTITION_BLOBS(-
  network => 'SDO_PARTITIONED', -
  link_level => 1,-
  partition_blob_table_name => 'sdo_partitioned_part_blob_tab',-
  include_user_data => true,-
  log_loc => 'LOG_DIR', log_file=> 'sdo_partitioned.log',-
  open_mode => 'a');