kbendick commented on a change in pull request #3938:
URL: https://github.com/apache/iceberg/pull/3938#discussion_r806185400
##########
File path: api/src/main/java/org/apache/iceberg/catalog/Namespace.java
##########
@@ -29,6 +31,8 @@
public class Namespace {
private static final Namespace EMPTY_NAMESPACE = new Namespace(new String[]
{});
private static final Joiner DOT = Joiner.on('.');
+ private static final Predicate<String> CONTAINS_NULL_BYTE =
+ Pattern.compile("\0|\u0000",
Pattern.UNICODE_CHARACTER_CLASS).asPredicate();
Review comment:
One is unicode and one isn't. I do notice that some of our systems
complain when using `\0` and not the full unicode `\u0000` which is the
preferred one.
To be safe, I just included both. Let me test if the unicode one (`\u0000`)
is sufficient to catch the other one.
##########
File path: api/src/main/java/org/apache/iceberg/catalog/Namespace.java
##########
@@ -29,6 +31,8 @@
public class Namespace {
private static final Namespace EMPTY_NAMESPACE = new Namespace(new String[]
{});
private static final Joiner DOT = Joiner.on('.');
+ private static final Predicate<String> CONTAINS_NULL_BYTE =
+ Pattern.compile("\0|\u0000",
Pattern.UNICODE_CHARACTER_CLASS).asPredicate();
Review comment:
Using just `\0000` is sufficient, so I removed the ASCII one.
##########
File path: api/src/main/java/org/apache/iceberg/catalog/Namespace.java
##########
@@ -29,6 +31,8 @@
public class Namespace {
private static final Namespace EMPTY_NAMESPACE = new Namespace(new String[]
{});
private static final Joiner DOT = Joiner.on('.');
+ private static final Predicate<String> CONTAINS_NULL_BYTE =
+ Pattern.compile("\0|\u0000",
Pattern.UNICODE_CHARACTER_CLASS).asPredicate();
Review comment:
One is unicode and one isn't. I do notice that some of our systems
complain when using `\0` and not the full unicode `\u0000` which is the
preferred one.
To be safe, I just included both. Let me test and remove the ASCII one if
it's not needed.
##########
File path: api/src/main/java/org/apache/iceberg/catalog/Namespace.java
##########
@@ -29,6 +31,8 @@
public class Namespace {
private static final Namespace EMPTY_NAMESPACE = new Namespace(new String[]
{});
private static final Joiner DOT = Joiner.on('.');
+ private static final Predicate<String> CONTAINS_NULL_BYTE =
Review comment:
That's fair. Maybe just `CONTAINS_NULL_CHARACTER`? `CONTAINS_NULL` makes
it sound like we're checking for `null` itself, which this regex does not do.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]