void writeValueProperties(String fullId,long dbId,String localId,JsonValue value,Connection connection) throws SQLException {
  if (cfg.hasPossibleSearchableProperties()) {
    Integer batchingCount=0;
    PreparedStatement propCreateStatement=getPreparedStatement(connection,QueryDefinition.PROPCREATEQUERYSTR);
    try {
      batchingCount=writeValueProperties(fullId,dbId,localId,value,connection,propCreateStatement,batchingCount);
      if (enableBatching && batchingCount > 0) {
        int[] numUpdates=propCreateStatement.executeBatch();
        logger.debug("Batch update of objectproperties updated: {}",numUpdates);
        if (logger.isDebugEnabled()) {
          logger.debug("Writing batch of objectproperties, updated: {}",Arrays.asList(numUpdates));
        }
        propCreateStatement.clearBatch();
      }
    }
  finally {
      CleanupHelper.loggedClose(propCreateStatement);
    }
  }
}

void writeValueProperties ( String fullId , long dbId , String localId , JsonValue value , Connection connection ) throws SQLException { if ( cfg . hasPossibleSearchableProperties ( ) ) { Integer batchingCount = 0 ; PreparedStatement propCreateStatement = getPreparedStatement ( connection , QueryDefinition . PROPCREATEQUERYSTR ) ; try { batchingCount = writeValueProperties ( fullId , dbId , localId , value , connection , propCreateStatement , batchingCount ) ; if ( enableBatching && batchingCount > 0 ) { int [ ] numUpdates = propCreateStatement . executeBatch ( ) ; logger . debug ( "Batch update of objectproperties updated: {}" , numUpdates ) ; if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Writing batch of objectproperties, updated: {}" , Arrays . asList ( numUpdates ) ) ; } propCreateStatement . clearBatch ( ) ; } } finally { CleanupHelper . loggedClose ( propCreateStatement ) ; } } }
writes all properties of a given resource to the properties table and links them to the main table record .
