Skip to content

Commit

Permalink
Fix SQL issues, fix file restoration
Browse files Browse the repository at this point in the history
  • Loading branch information
isc-etamarch committed Sep 25, 2024
1 parent b9e1c13 commit 8cd6ee7
Showing 1 changed file with 20 additions and 11 deletions.
31 changes: 20 additions & 11 deletions cls/SourceControl/Git/DiscardState.cls
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,17 @@ Property ExternalFile As %Boolean [ Required ];

Method RestoreToFileTree()
{
set fileStream = ##class(%Stream.FileCharacter).%OpenId(..FullExternalName,,.sc)
$$$ThrowOnError(sc)
do fileStream.CopyFrom(..Contents)
$$$ThrowOnError(fileStream.%Save())
if '..ExternalFile {
do ##class(SourceControl.Git.Utils).ImportItem(..Name, 1, 1)
do ##class(SourceControl.Git.Utils).AddToServerSideSourceControl(..Name)
}
set fileStream = ##class(%Stream.FileCharacter).%New()
set fileStream.Filename = ..FullExternalName
$$$THROWONERROR(fileStream.CopyFrom(..Contents))
$$$THROWONERROR(fileStream.%Save())

if '..ExternalFile {
do ##class(SourceControl.Git.Utils).ImportItem(..Name, 1, 1)
do ##class(SourceControl.Git.Utils).AddToServerSideSourceControl(..Name)
}

$$$ThrowOnError(..%DeleteId(..%Id()))
$$$ThrowOnError(..%DeleteId(..%Id()))
}

ClassMethod SaveDiscardState(InternalName As %String, name As %String) As %Status
Expand Down Expand Up @@ -63,8 +64,16 @@ ClassMethod SaveDiscardState(InternalName As %String, name As %String) As %Statu
ClassMethod DiscardStatesInBranch() As %DynamicArray
{
set currentBranch = ##class(SourceControl.Git.Utils).GetCurrentBranch()
set statement = "SELECT ID FROM SourceControl_Git.DiscardState WHERE branch = ?"
set resultSet = ##class(%SQL.Statement).%ExecDirect(, statement, currentBranch)

set query = "SELECT ID FROM SourceControl_Git.DiscardState WHERE branch = ?"
set statement = ##class(%SQL.Statement).%New()
set status = statement.%Prepare(query, 0)
$$$ThrowOnError(status)
set resultSet = statement.%Execute(currentBranch)
if (resultSet.%SQLCODE < 0) {
throw ##class(%Exception.SQL).CreateFromSQLCODE(resultSet.%SQLCODE,resultSet.%Message)
}

set discardStates = []
while resultSet.%Next() {
set discardState = ..%OpenId(resultSet.ID)
Expand Down

0 comments on commit 8cd6ee7

Please sign in to comment.