@@ -1215,26 +1215,24 @@ func (g *Generator) GenerateSamples(ctx context.Context, data *ProcessedData, sa
12151215
12161216 samplesDir := filesystem .Join (g .outputDir , "samples" )
12171217 samplesDirExistedBefore := g .fs .IsDir (ctx , samplesDir )
1218- samplesDirCreated := false
12191218
12201219 // If no samples, still create an empty index for consistency when --with-samples is enabled.
12211220 if len (samples ) == 0 {
12221221 return g .generateEmptySamplesIndex (ctx , data , samplesDir , samplesDirExistedBefore )
12231222 }
12241223
1224+ // Create samples directory if it doesn't exist.
1225+ // We know samples is non-empty here due to the guard above.
1226+ if ! samplesDirExistedBefore {
1227+ if err := g .fs .Mkdir (ctx , samplesDir ); err != nil {
1228+ return errors .Errorf ("failed to create samples directory: %w" , err )
1229+ }
1230+ }
1231+
12251232 // Generate individual sample files first, collecting only successful ones.
1226- // Create samples/ directory only on first sample attempt.
12271233 successfulSamples := make ([]* TableSample , 0 , len (samples ))
12281234 failedCount := 0
12291235 for _ , sample := range samples {
1230- // Create samples directory on first sample attempt if it doesn't exist.
1231- if ! samplesDirCreated && ! samplesDirExistedBefore {
1232- if err := g .fs .Mkdir (ctx , samplesDir ); err != nil {
1233- return errors .Errorf ("failed to create samples directory: %w" , err )
1234- }
1235- samplesDirCreated = true
1236- }
1237-
12381236 if err := g .generateSampleFile (ctx , sample ); err != nil {
12391237 g .logger .Warnf (ctx , "Failed to generate sample for table %s: %v" , sample .TableID , err )
12401238 failedCount ++
@@ -1246,7 +1244,7 @@ func (g *Generator) GenerateSamples(ctx context.Context, data *ProcessedData, sa
12461244 if len (successfulSamples ) == 0 {
12471245 g .logger .Warn (ctx , "No samples were successfully generated, skipping samples index" )
12481246 // Remove samples directory only if we created it in this run (not pre-existing).
1249- if samplesDirCreated {
1247+ if ! samplesDirExistedBefore {
12501248 if err := g .fs .Remove (ctx , samplesDir ); err != nil {
12511249 g .logger .Warnf (ctx , "Failed to remove empty samples directory: %v" , err )
12521250 }
0 commit comments