Skip to content

Commit 8cd6ee7

Browse files
committed
Fix SQL issues, fix file restoration
1 parent b9e1c13 commit 8cd6ee7

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

cls/SourceControl/Git/DiscardState.cls

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,17 @@ Property ExternalFile As %Boolean [ Required ];
1717

1818
Method RestoreToFileTree()
1919
{
20-
set fileStream = ##class(%Stream.FileCharacter).%OpenId(..FullExternalName,,.sc)
21-
$$$ThrowOnError(sc)
22-
do fileStream.CopyFrom(..Contents)
23-
$$$ThrowOnError(fileStream.%Save())
24-
if '..ExternalFile {
25-
do ##class(SourceControl.Git.Utils).ImportItem(..Name, 1, 1)
26-
do ##class(SourceControl.Git.Utils).AddToServerSideSourceControl(..Name)
27-
}
20+
set fileStream = ##class(%Stream.FileCharacter).%New()
21+
set fileStream.Filename = ..FullExternalName
22+
$$$THROWONERROR(fileStream.CopyFrom(..Contents))
23+
$$$THROWONERROR(fileStream.%Save())
24+
25+
if '..ExternalFile {
26+
do ##class(SourceControl.Git.Utils).ImportItem(..Name, 1, 1)
27+
do ##class(SourceControl.Git.Utils).AddToServerSideSourceControl(..Name)
28+
}
2829

29-
$$$ThrowOnError(..%DeleteId(..%Id()))
30+
$$$ThrowOnError(..%DeleteId(..%Id()))
3031
}
3132

3233
ClassMethod SaveDiscardState(InternalName As %String, name As %String) As %Status
@@ -63,8 +64,16 @@ ClassMethod SaveDiscardState(InternalName As %String, name As %String) As %Statu
6364
ClassMethod DiscardStatesInBranch() As %DynamicArray
6465
{
6566
set currentBranch = ##class(SourceControl.Git.Utils).GetCurrentBranch()
66-
set statement = "SELECT ID FROM SourceControl_Git.DiscardState WHERE branch = ?"
67-
set resultSet = ##class(%SQL.Statement).%ExecDirect(, statement, currentBranch)
67+
68+
set query = "SELECT ID FROM SourceControl_Git.DiscardState WHERE branch = ?"
69+
set statement = ##class(%SQL.Statement).%New()
70+
set status = statement.%Prepare(query, 0)
71+
$$$ThrowOnError(status)
72+
set resultSet = statement.%Execute(currentBranch)
73+
if (resultSet.%SQLCODE < 0) {
74+
throw ##class(%Exception.SQL).CreateFromSQLCODE(resultSet.%SQLCODE,resultSet.%Message)
75+
}
76+
6877
set discardStates = []
6978
while resultSet.%Next() {
7079
set discardState = ..%OpenId(resultSet.ID)

0 commit comments

Comments
 (0)