Glue Update ============= This glue update fixes a problem that would cause datasets to be corrupted on partition boundaries. Usage has not changed in this update. However, if your dataset is indexed, you should glue it in the following manner: 1. Use V6 to generate a list of indexes in the dataset using proc contents. a. In the Program Editor, submit a program similar to the following. libname v6 "./v6" partsize=100k; proc contents data=v6.bigmat; run; b. Save the end of the log that contains descriptions of the indexes. Sample: -----Alphabetic List of Indexes and Attributes----- # Index Var1 Var2 Var3 ---------------------------------- 1 I 2 IDX A B C 2. Delete the indexes using proc datasets. Example: proc datasets library=v6; modify bigmat; index delete i; index delete idx; run; 3. Exit V6. 4. Use glue to unpartition the dataset. Refer to the manual page below for help. Note that glue works best if you change directories to the location of the partitioned dataset, and add a path to the destination name if an alternate destination location is desired. Example: cd v6 glue bigmat.ssd01 gluemat cd .. 5. Run V7. 6. Recreate the indexes from step 1. Example: From the sample above, v6.bigmat had two indexes. The first index is a simple index, whose name matches the index column. It can be regenerated with "index create i". The second index is a compound index using several columns. It can be recreated with "index create idx=( a b c )". The complete SAS program is: libname v6 "./v6"; proc datasets library=v6; modify gluemat; index create i; index create idx=( a b c ); run; ==================== glue man page ===================== NAME glue - Combines the partitions of a partitioned SAS data set COPYRIGHT Copyright(c) 1998 by SAS Institute Inc. All Rights Reserved. SYNOPSIS glue oldname newname [ dir-path-1...dir-path-n ] DESCRIPTION When Version 6 of the SAS System was released, most UNIX systems placed a two-gigabyte limit on the size of files. SAS provided features that allowed you to partition a data set into multiple smaller UNIX files, thereby creating a data set larger than 2G. Most UNIX vendors have now removed the 2G file limit; therefore, partitioned data sets are not supported in Version 8 of the SAS System. However, you can use the glue utility to recombine all of the partitions of a data set, and then you can use the resulting large data set in your applications. The glue utility reads each partition of a data set and writes all partitions out to a standard Version 6 data set that can then be read by Version 8. SAS appends the filename extension of the original oldname to newname. OPERANDS oldname is the name of the partitioned data set that was created with Version 6 of the SAS System. newname is the name that you want assigned to the new data set that will contain the data from all of the partitions of oldname. You do not need to specify a filename extension. dir-path-1...dir-path-n are the directory pathnames that contain the partitions of oldname. You can enter from 0 to 20 directory names. Separate each pathname with a space. This list of pathnames should be all of the pathnames that were specified in the original LIBNAME statement that created the partitioned data set, unless some of the partitions have been moved. EXAMPLE glue mydataset.ssd01 newdataset /dir1 /tmp/part2 /part3 The above command reads the partitions of mydataset.ssd01 from directories /dir1, /tmp/part2, and /part3, and creates a large data set named newdataset.ssd01. If glue cannot find a partition in any of the specified paths, it displays an error message and asks you to enter a new pathname. You can choose to abort the utility if necessary. TRADEMARKS SAS is a registered trademark of SAS Institute Inc. UNIX is a registered trademark of The Open Group SEE ALSO sas(SAS) AUTHOR SAS Institute Inc., SAS Campus Drive, Cary, NC 27513