If he was going to bite this dog, or you, he would have, right then and there. It sounds like Cody dislikes the schnauzer, possibly for some doggy reason inscrutable to humans. It may be "jealousy" (quote marks because IMHO it's tricky or even invalid to equate human emotions with dog ones), protectiveness, or a dominance issue. If he does not perceive Greta as part of his immediate group (which may be just you and him), he may not like seeing you get too close to her (or vice versa, in his mind: her getting to close to you). Or seeing her sitting next to you, especially if you're petting her or loving her up, may disrupt his instinctive sense of social hierarchy.
I'd probably keep him on a leash when the other dog was in the house. Never leave them alone together. Also it would be wise to chat with your vet about this episode -- she or he may have some insight that would help.
There's good news and bad news. The good new is that all you have written is perfectly normal, the bad news is that this is not going to change..... Many dogs don't like other dogs. Yes, socialization to other dogs can be helpful in the puppy stage, but they just seem to be born that way, this is a matter mostly of genetics. Obviously there is a range. In the case you describe Cody accepts other dogs to some degree, but not in his home and not Greta!!! It actually shows good restraint on his part: he made a furious ruckus, but did not actually hurt her, which he certainly could have done.... That may not be the case next time. It is quite unfortunate that he growled at you, but your comment, that it looked like he lost his mind, is actually a good observation. There are a host of hormonal and other chemical reactions that take place when anger kicks in (in people as well as animals) and confronting anyone really angry is always done at your risk. Many dog owners have gotten bitten more or less seriously in trying to stop a dog fight. So either keep Greta out of your home, or crate him when Greta comes over.
Do not just rely on having him in another room. Any tine you have a dog that can be aggressive in a home situation, you should have two layers of protection. (Crate plus the closed door of a different room, for example) as things happen, especially in times of confusion and you do not want to take chances with aggression. I would avoid the situation altogether.
My male Corgi is fine with other dogs, both coming up to us on our walks ( sometimes they are friendly, sometimes with stiff posture and raised hackles) or coming to our home with friends. An exception which truly caught me unprepared was when my daughter came over with her 7 month old Basenji female pup. Just like you described, I thought he was going to eat her up! It happened soooo fast and, thankfully he immediately stopped and came to me when I yelled. Result, the Basenji no longer comes to our house!
Just because a mini-schnauzer or a corgi looks fairly small relative to a human does not mean they can't inflict some serious damage. A ripped tendon in an arm or a hand is not a joke! Once a real fight gets started, a chain of events kicks in that can be difficult to stop and dangerous to those who try to interfere.
On reading Anna's remarks, I have to agree with her: keep the pooches separated. That way, everyone all the way around will be happier, dogs and people.
The crating depends on how long it has to go on. If Dad is just there for a 3 or 4 hours, it's one thing. If Dad is staying over all day or overnight as a guest, then they would have to alternate being crated. There are many other solutions that can work, but the bottom line is that they need to be well thought out and fail-proof as dogs can easily take advantage of a moment of distraction, or confusion in the environment, etc. Obviously, if Greta can stay in her own home, that's a no brainer.
im glad to hear Baden is not the only one to make corrections like that. people assume hes being aggressive when he simply correcting the other rude dogs behavior
I dealt with a similar situation years ago with my first corgi, Sparty. My son had a doberman puppy and while she was still quite young my husband and I went out of town on a vacation and left our two Corgis with him. I showed him how to use dog gates to gives the corgis a break from the very large puppy. Unfortunately my son while being an animal lover was a total pushover when it came to management and ended up leaving them all on their own all the time. By the time we got back one corgi was limping and Sparty had decided that the dobie needed discipline. Fortunately the dobie was pretty timid so all the fighting was from Sparty. Fast forward about 4 years and my son moved overseas and we suddenly had a 75 lb dog hated by my 25 lb one. I determined to make this work so first I leashed Sparty to me inside for a couple weeks. I never left them all loose at the same time unsupervised. Whenever Sparty got the "stare" I firmly said no, when he looked at me instead of her he got a treat. If she began to race around the house, I tethered her to a Bannister in the house until she calmed down. By identifying the things that made Sparty on guard such as her running etc. I was able to find a way towards peaceful existance. I fed her separately and if Sparty became jealous of my petting her or playing with her, I tethered him until we were done. Having a dog tethered or leashed go you gives you complete control of all situations. Over time I was able to redirect Sparty without the leash with a word and Misty learned to play while laying down with a toy instead of running in the house. They lived together pretty well for about 5 years before we had to let Sparty go at age 13 due to cancer. I don't think this would have worked if Misty had green aggressive. Sparty was a treble to see that not only did I get to decide who was in our house but also that I would protect him from activities that caused him to feel aggressive. The leash can be a powerful tool. You can train for this if you are committed but try to keep it as positive as you can. By the way I threw away the prong collar as it did not work and seemed cruel.