Namespace: OpenEdge.DataAdmin.DataSource
Type: Class PartitionDataSource
Parent Classes:
Inherits: OpenEdge.DataAdmin.DataSource.DataSource


/* © 2011-2014 by progress Software Corporation.
/*
/* All rights reserved. No part of this program or document
/* may be reproduced in any form or by any means without
/* permission in writing from progress Software Corporation.
Author(s):hdaniels
/* these could have been properties with getters that just returned data based on URl,
but they are used in rowafter event and while the getters are very fast, overrided getters
are still 20 times slower than variables/props with no overrides. We're talking milliseconds, but
enough to substantially reduce throughput for this datasource, which may need to read a lot of records



Method Summary
  Options Name Purpose
  AfterRow (dataset-handle) /**** the utility command cannot be run with active transactions method private void DeallocatePartition(pcTable as char,pctype as char, pcKey as char ): define variable msg as DeallocateRequest no-undo. msg = new DeallocateRequest(). msg:Type = if pctype = "T" then "tenant" else "group". msg:Name = pcKey. msg:TableName = pctable. DeallocateCommand:Execute(msg). end method. ************/
  AfterSetUrl ()
  CHARACTER ColumnExpression (character, character, character) /* convert allocationstate char to bitmap expression required in the db */
  CHARACTER ColumnSortSource (character) /* convert to allocation from bitmap in the db */
  CHARACTER ColumnSource (character) /* This is the call back for the QueryString parsing. There is currently no mapping, but we override it in order to return the ttPartition's parent keys to the Query. This allows us to extract the expression later. Because it is added as parent (i.e _tenant) we can also extract the actual query fields without these. NOTE: check subclasses override */
  CreateRefreshQuery (handle)
  DeleteRefreshQuery ()
  CHARACTER FindAreaJoin (character) /* throw standard progress error if non found */
  CHARACTER FindPartitionPolicyDetailJoin (character) /* throw standard progress error if non found */
  CHARACTER FindTableJoinValues (character, character)
  CHARACTER FindTenantGroupJoin (character) /* throw standard progress error if non found */
  CHARACTER FindTenantJoin (character) /* throw standard progress error if non found */
  CHARACTER GetMappingForJoin (character)
  CHARACTER GetName (handle)
  CHARACTER Getstate (handle)
  LOGICAL Prepare (handle, character, character, character)
  RefreshAllocationState (character, character) /** called from save to refresh index and fields to be returned to client when allocationstate of the table changed (they are updated before the table partitions ) */
  LOGICAL Save (handle) /** Save all @param buffer the temp-table buffer handle with data */
  LOGICAL Save (handle, integer) /** Save changes of specified state @param buffer the temp-table buffer handle with data @param state the row-state to save (row-created, row-deleted or row-modified) ? = all */

Constructor Summary
  Options Name Purpose
  PartitionDataSource ()
  PartitionDataSource (character, character, character)
  PartitionDataSource (character, character, character, character)
  PartitionDataSource (character, character, character, log)
  PartitionDataSource (handle, character)
  PartitionDataSource (handle, character, character, character)

Property Summary
  Options Name Purpose
  Progress.Database.DBConfig DBConfig
  CHARACTER FindArea
  CHARACTER FindFirstGroupAndArea
  CHARACTER FindGroup
  CHARACTER FindPartitionPolicyDetail
  CHARACTER FindTenant
  CHARACTER FindTenantAndArea
  CHARACTER StorageAreaMap
  CHARACTER StorageFileMap
  CHARACTER StorageGroupMap
  CHARACTER StorageMap
  CHARACTER StoragePartitionPolicyDetailMap
  CHARACTER StorageTenantMap
  CHARACTER ValidAllocationList
  CHARACTER ValidHorizontalAllocationList


Method Detail
Top

AfterRow (dataset-handle)

method private void DeallocatePartition(pcTable as char,pctype as char, pcKey as char ):
define variable msg as DeallocateRequest no-undo.
msg = new DeallocateRequest().
msg:Type Type = if pctype = "T" then "tenant"
else "group".
msg:Name Name = pcKey.
msg:TableName TableName = pctable.
DeallocateCommand:Execute(msg). Execute(msg).
end method.
Parameters:
hds DATASET-HANDLE
 
Top

AfterSetUrl ()

Top

CHARACTER ColumnExpression (character, character, character)

/* convert allocationstate char to bitmap expression required in the db
Parameters:
pcColumn CHARACTER
 
pcOperator CHARACTER
 
pcValue CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER ColumnSortSource (character)

/* convert to allocation from bitmap in the db
Parameters:
pcColumn CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER ColumnSource (character)

/* This is the call back for the QueryString parsing. There is currently no mapping, but we override it in
order to return the ttPartition's parent keys to the Query. This allows us to extract the expression later.
Because it is added as parent (i.e _tenant) we can also extract the actual query fields without these.
NOTE: check subclasses override
Parameters:
pcColumn CHARACTER
 
Returns CHARACTER
 
Top

CreateRefreshQuery (handle)

Parameters:
pbufferHandle HANDLE
 
Top

DeleteRefreshQuery ()

Top

CHARACTER FindAreaJoin (character)

/* throw standard progress error if non found
Parameters:
pFind CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER FindPartitionPolicyDetailJoin (character)

/* throw standard progress error if non found
Parameters:
pFind CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER FindTableJoinValues (character, character)

Parameters:
pTable CHARACTER
 
pFind CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER FindTenantGroupJoin (character)

/* throw standard progress error if non found
Parameters:
pFind CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER FindTenantJoin (character)

/* throw standard progress error if non found
Parameters:
pFind CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetMappingForJoin (character)

Parameters:
pcTables CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetName (handle)

Parameters:
phbuffer HANDLE
 
Returns CHARACTER
 
Top

CHARACTER Getstate (handle)

Parameters:
phbuffer HANDLE
 
Returns CHARACTER
 
Top

LOGICAL Prepare (handle, character, character, character)

Parameters:
phBuffer HANDLE
 
pcBaseQuery CHARACTER
 
pcTargetQuery CHARACTER
 
pcJoin CHARACTER
 
Returns LOGICAL
 
Top

RefreshAllocationState (character, character)

Purpose: called from save to refresh index and fields to be returned to client when
allocationstate of the table changed (they are updated before the table partitions )
Parameters:
pcTable CHARACTER
 
pcState CHARACTER
 
Top

LOGICAL Save (handle)

Purpose: Save all
Parameters:
bufferHandle HANDLE
 
Returns LOGICAL
 
Top

LOGICAL Save (handle, integer)

Purpose: Save changes of specified state
? = all
Parameters:
phbuffer HANDLE
 
piState INTEGER
 
Returns LOGICAL
 


Constructor Detail
Top

PartitionDataSource ()

Top

PartitionDataSource (character, character, character)

Parameters:
pcTables CHARACTER
 
pcPhysicalTables CHARACTER
 
pcMapping CHARACTER
 
Top

PartitionDataSource (character, character, character, character)

Parameters:
pcTables CHARACTER
 
pcPhysicalTables CHARACTER
 
pcMapping CHARACTER
 
pcBaseQuery CHARACTER
 
Top

PartitionDataSource (character, character, character, log)

Parameters:
pcTables CHARACTER
 
pcPhysicalTables CHARACTER
 
pcMapping CHARACTER
 
plSimulation LOGICAL
 
Top

PartitionDataSource (handle, character)

Parameters:
hTempSource HANDLE
 
cQuery CHARACTER
 
Top

PartitionDataSource (handle, character, character, character)

Parameters:
hTempSource HANDLE
 
pcTables CHARACTER
 
pcPhysicalTables CHARACTER
 
pcMapping CHARACTER
 


Property Detail
Top

Progress.Database.DBConfig DBConfig

Returns Progress.Database.DBConfig
 
Top

CHARACTER FindArea

Returns CHARACTER
 
Top

CHARACTER FindFirstGroupAndArea

Returns CHARACTER
 
Top

CHARACTER FindGroup

Returns CHARACTER
 
Top

CHARACTER FindPartitionPolicyDetail

Returns CHARACTER
 
Top

CHARACTER FindTenant

Returns CHARACTER
 
Top

CHARACTER FindTenantAndArea

Returns CHARACTER
 
Top

CHARACTER StorageAreaMap

Returns CHARACTER
 
Top

CHARACTER StorageFileMap

Returns CHARACTER
 
Top

CHARACTER StorageGroupMap

Returns CHARACTER
 
Top

CHARACTER StorageMap

Returns CHARACTER
 
Top

CHARACTER StoragePartitionPolicyDetailMap

Returns CHARACTER
 
Top

CHARACTER StorageTenantMap

Returns CHARACTER
 
Top

CHARACTER ValidAllocationList

Returns CHARACTER
 
Top

CHARACTER ValidHorizontalAllocationList

Returns CHARACTER