Basically it's an assessment of code. Good assessments that make statements support their statements with arguments and explanations. Bad assessments just make statements and don't support them in any form.
One might say that their assessment is not a Code Review if it doesn't cover all of the code, and only a small section... or if it only makes a single statement, where more should have been said. But that just makes it a small or targetted, or partial Code Review. It's still a Code Review.
To assess, for me, is to observe and then make statements about.
"This code is long", is a valid assessment... but maybe not the best code review. "This code snippet is long for a function, considering the average length of functions in my program is a third of that." is a bit better, but I wouldn't really call it a good code review still.
(If you want to get technical: a statement about code assigns or describes attributes to that code - e.g. that code is long, that code is ugly, that code has bad formatting)
For me, good code reviews provide actionable advice. So not only is it a set of statements, it's also advice for what you should do about those aspects of the code.
A good code review takes (part of) the code, makes 1 or more statements about the code, supports these statements with arguments and explanations, and then provides actionable advice for how to deal with the statement.
If an answer does not make any statements, or these statements are not about the code, then you can't call it a code review. An example of this would be "I rewrote your code for you,
*code*." It might help the asker a lot ("wow, you can do that in 3 lines"), but it's merely providing an alternative (if that), rather than reviewing the code.