Opened 14 years ago
Closed 14 years ago
#538 closed doubt (fixed)
Método para eliminar un dataset de un repositorio
Reported by: | imendez | Owned by: | Pedro Gea |
---|---|---|---|
Priority: | major | Milestone: | Release 0.6 |
Component: | Persistence | Keywords: | |
Cc: |
Description
Hola, me parece lógico que exista un método para eliminar un dataset de un repositorio, opuesto al Save_AtRepository.
Podría llamarse Remove_FromRepository; os paso un código que hace eso, por si es útil:
Real Remove_FromRepository(NameBlock dataSet, NameBlock repository, Text type) { Text repName = repository::GetConnection(?); Set dataSet_Info = [[ Text name = dataSet::GetName(?); Text version = dataSet::GetVersion(?) ]]; Real (MMS::Container::GetRepository(repName))::RemoveDataSet(dataSet_Info) };
Una pregunta: ¿por qué Save_AtRepository devuelve 0 cuando logra guardar el objeto, y RemoveDataSet devuelve 1 cuando lo borra?
Gracias.
Un saludo.
Change History (5)
comment:1 Changed 14 years ago by
Component: | General → Persistence |
---|---|
Milestone: | → Release 0.6 |
Status: | new → accepted |
Type: | defect → doubt |
version: | → 0.6 |
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
comment:4 Changed 14 years ago by
Respecto a la salida de tipo Real de los métodos de MMS no hay un criterio bien definido y por tanto no se ha revisado con cuidado.
Habitualmente se devuelve un 1 cuando ha tenido éxito y 0 cuando no. He "corregido" esta situación en el ejemplo que indicas aunque para revisar este tipo de salidas creo un tique nuevo: #539
comment:5 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
El método que indicas parece algo retorcido, podría hacerse simplemente:
Como parece intuitivo el método para eliminar un objeto de un repositorio es un método del repositorio que recibe como argumento al "objeto" y no un método del objeto que recibe como argumento al repositorio. Sin embargo trasponer esto es fácil.