logback-android/src/main/java/ch/qos/logback/classic/android/SQLiteAppender.java
private void insertProperties(Map<String, String> mergedMap, long eventId) throws SQLException {
    if (mergedMap.size() > 0) {
      SQLiteStatement stmt = db.compileStatement(insertPropertiesSQL);
      try {
        for (Entry<String,String> entry : mergedMap.entrySet()) {
          stmt.bindLong(1, eventId);
          stmt.bindString(2, entry.getKey());
          stmt.bindString(3, entry.getValue());
          stmt.executeInsert();
        }
      } finally {
        stmt.close();
      }
    }
  }
private void insertProperties(Map<String, String> mergedMap, long eventId) throws SQLException {
    if (mergedMap.size() > 0) {
      SQLiteStatement stmt = db.compileStatement(insertPropertiesSQL);
      try {
        for (Entry<String,String> entry : mergedMap.entrySet()) {
          stmt.bindLong(1, eventId);
          stmt.bindString(2, entry.getKey());
          stmt.bindString(3, entry.getValue());
          stmt.executeInsert();
        }
      } finally {
        stmt.close();
      }
    }
  }
private void insertProperties ( Map < String , String > mergedMap , long eventId ) throws SQLException { if ( mergedMap . size ( ) > 0 ) { SQLiteStatement stmt = db . compileStatement ( insertPropertiesSQL ) ; try { for ( Entry < String , String > entry : mergedMap . entrySet ( ) ) { stmt . bindLong ( 1 , eventId ) ; stmt . bindString ( 2 , entry . getKey ( ) ) ; stmt . bindString ( 3 , entry . getValue ( ) ) ; stmt . executeInsert ( ) ; } } finally { stmt . close ( ) ; } } }
Updates an existing row with property details (context properties and event's properties).

@param mergedMap the properties of the context plus the event's properties
@param eventId the row ID of the event
@throws SQLException
Updates an existing row with property details ( context properties and event s properties ) .