Home page  
Help >
ddlDestruct() - destroy structure for keyed field(s)
Version 7.11
ddlDestruct() - destroy structure for keyed field(s) ddlDestruct() - destroy structure for keyed field(s)

Prototype:
   void ddlDestruct(
      CONTROL *ctl,
      char *OptnStr,
      char *ArgList);

Permitted values in OptnStr:
/Z - Destruct virtual as well as non-virtual keys

Form of ArgList:
      <no-arg>
      <table-name>
      <keyname>
      <table-name> <keyname>

Description:
ddlDestruct() discards existing key index structure for the data in a specified portion of the database.

Form 1 <no-arg> Destruct all keys for all tables, except virtual keys;
if the /Z option is used, Destruct for all keys
Form 2 <table-name> Destruct all keys for specified table, except virtual keys;
if the /Z option is used, Destruct for all keys
Form 3 <keyname> Destruct <keyname> for all tables;
in this case, <keyname> can be either non-virtual or virtual
Form 4 <keyname> <table-name> Destruct <keyname> for specified table;
in this case, <keyname> can be either non-virtual or virtual


Value returned in Control.Ans1:
      Number of keys destructed (fully or partially).

Selective Destruct:

Form of ArgList:
      <collection> <table-name> <index-name>

Selective Destruct discards structure information selectively based on the contents of a collection. That is, for every record in the source collection, the structure information for that record is discarded.

This feature is intended primarily for virtual indexes. In this case, Selective Destruct gives an alternative method to ddlUdiStruct() for index deletes and the delete portion of index updates. The advantages of this method are 1) that it allows batch mode operation; and 2) that it does not require that the old data be supplied. The disadvantage of this method is that it requires that the entire index be read and partially rewritten.-

Copyright © 2019 , WhamTech, Inc.  All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. Names may be trademarks of their respective owners.