### Question:
Table { public Optional<?> save(Row row) { return this.save(row, RowSerializer.INSTANCE_SPECIAL_ROWKEY, RowDeserializer.INSTANCE_SPECIAL_ROWKEY); } Table(LSql lSql, String sqlSchemaAndTableName);   Table(LSql lSql,
          String sqlSchemaName,
          String sqlTableName,
          String primaryKeyColumn); LSql getlSql(); String getSqlSchemaAndTableName(); String getSchemaName(); String getTableName(); Optional<String> getPrimaryKeyColumn(); Optional<Class<?>> getPrimaryKeyType(); Map<String, Column> getColumns(); @Nullable synchronized Column column(String columnName); @Deprecated PojoTable<T> withPojo(Class<T> pojoClass); void enableRevisionSupport(); void enableRevisionSupport(String revisionColumnName); Optional<Column> getRevisionColumn(); Optional<Object> insert(Row row); Optional<Object> insert(Row row, RowSerializer<Row> rowSerializer, RowDeserializer<Row> rowDeserializer); void update(Row row); void update(Row row, RowSerializer<Row> rowSerializer, RowDeserializer<Row> rowDeserializer); void updateWhere(Row values, Row where); void updateWhere(Row values, Row where, RowSerializer<Row> rowSerializer, RowDeserializer<Row> rowDeserializer); Optional<?> save(Row row); Optional<?> save(Row row, RowSerializer<Row> rowSerializer, RowDeserializer<Row> rowDeserializer); void delete(Object id); void delete(Object id, RowDeserializer<Row> rowDeserializer); void delete(Row row); void delete(Row row, RowDeserializer<Row> rowDeserializer); Optional<LinkedRow> load(Object id); Optional<LinkedRow> load(Object id, RowDeserializer<Row> rowDeserializer); @Deprecated LinkedRow newLinkedRow(); LinkedRow newLinkedRow(Object... keyVals); LinkedRow newLinkedRow(Map<String, Object> data); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void save() throws SQLException { createTable("CREATE TABLE table1 (id SERIAL PRIMARY KEY, name TEXT)"); Table table1 = lSql.table("table1"); Row row = Row.fromKeyVals("name", "Max"); Object id = table1.save(row).get(); assertEquals(id, row.get(table1.getPrimaryKeyColumn().get())); LinkedRow queriedRow = table1.load(id).get(); assertEquals(queriedRow, row); row.put("name", "John"); id = table1.save(row).get(); queriedRow = table1.load(id).get(); assertEquals(queriedRow, row); }