anchor.diff:      case string:tokens(TableAliasRev, "_") of
           [[$@|RN]|_] -> 
               try 
  -                _ = list_to_integer(lists:reverse(RN)),
  +                _ = list_to_integer(RN),
                   true    % timestamp partitioned
               catch
                   _:_ -> false
  
positive.code: read(ddSchema,_) -> [];
  read(ddSize,Table) ->
      PTN =  physical_table_name(Table),
      case is_local_time_partitioned_table(PTN) of  % 
          true ->
              case (catch {table_size(PTN),table_memory(PTN), time_of_partition_expiry(PTN),time_to_partition_expiry(PTN)}) of
                  {S,M,E,T} when is_integer(S),is_integer(M) -> 
  
negative.code:             end;
          [$_,$@|_] ->       
              [[$@|RN]|_] = string:tokens(tl(TableAliasRev), "_"),
              case length(RN) of
                  10 ->   TableAlias;         % this is a partition name
                  _ ->
                      try 
                          Period = list_to_integer(lists:reverse(RN)),
                          {Mega,Sec,_} = Key,
                          PartitionEnd=integer_to_list(Period*((1000000*Mega+Sec) div Period) + Period),
                          Prefix = lists:duplicate(10-length(PartitionEnd),$0),
                          {BaseName,_} = lists:split(length(TableAlias)-length(RN)-2, TableAlias),
                          lists:flatten(BaseName ++ Prefix ++ PartitionEnd ++ "@_" )
                          % timestamp partitioned cluster table
                      catch
                          _:_ -> TableAlias   % this is a table name
                      end
              end;
          _ ->
              TableAlias    
  