aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/apache/avro/impl/Schema.cc
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.ru>2022-02-10 16:45:12 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:12 +0300
commit49116032d905455a7b1c994e4a696afc885c1e71 (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/apache/avro/impl/Schema.cc
parent4e839db24a3bbc9f1c610c43d6faaaa99824dcca (diff)
downloadydb-49116032d905455a7b1c994e4a696afc885c1e71.tar.gz
Restoring authorship annotation for <thegeorg@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/apache/avro/impl/Schema.cc')
-rw-r--r--contrib/libs/apache/avro/impl/Schema.cc278
1 files changed, 139 insertions, 139 deletions
diff --git a/contrib/libs/apache/avro/impl/Schema.cc b/contrib/libs/apache/avro/impl/Schema.cc
index 077212895b..e6cfa45c2e 100644
--- a/contrib/libs/apache/avro/impl/Schema.cc
+++ b/contrib/libs/apache/avro/impl/Schema.cc
@@ -1,139 +1,139 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "Schema.hh"
-
-namespace avro {
-
-Schema::Schema()
-{ }
-
-Schema::~Schema()
-{ }
-
-Schema::Schema(const NodePtr &node) :
- node_(node)
-{ }
-
-Schema::Schema(Node *node) :
- node_(node)
-{ }
-
-RecordSchema::RecordSchema(const std::string &name) :
- Schema(new NodeRecord)
-{
- node_->setName(name);
-}
-
-void
-RecordSchema::addField(const std::string &name, const Schema &fieldSchema)
-{
- // add the name first. it will throw if the name is a duplicate, preventing
- // the leaf from being added
- node_->addName(name);
-
- node_->addLeaf(fieldSchema.root());
-}
-
-std::string RecordSchema::getDoc() const
-{
- return node_->getDoc();
-}
-void RecordSchema::setDoc(const std::string& doc)
-{
- node_->setDoc(doc);
-}
-
-EnumSchema::EnumSchema(const std::string &name) :
- Schema(new NodeEnum)
-{
- node_->setName(name);
-}
-
-void
-EnumSchema::addSymbol(const std::string &symbol)
-{
- node_->addName(symbol);
-}
-
-ArraySchema::ArraySchema(const Schema &itemsSchema) :
- Schema(new NodeArray)
-{
- node_->addLeaf(itemsSchema.root());
-}
-
-ArraySchema::ArraySchema(const ArraySchema &itemsSchema) :
- Schema(new NodeArray)
-{
- node_->addLeaf(itemsSchema.root());
-}
-
-MapSchema::MapSchema(const Schema &valuesSchema) :
- Schema(new NodeMap)
-{
- node_->addLeaf(valuesSchema.root());
-}
-
-MapSchema::MapSchema(const MapSchema &valuesSchema) :
- Schema(new NodeMap)
-{
- node_->addLeaf(valuesSchema.root());
-}
-
-UnionSchema::UnionSchema() :
- Schema(new NodeUnion)
-{ }
-
-void
-UnionSchema::addType(const Schema &typeSchema)
-{
- if(typeSchema.type() == AVRO_UNION) {
- throw Exception("Cannot add unions to unions");
- }
-
- if(typeSchema.type() == AVRO_RECORD) {
- // check for duplicate records
- size_t types = node_->leaves();
- for(size_t i = 0; i < types; ++i) {
- const NodePtr &leaf = node_->leafAt(i);
- // TODO, more checks?
- if(leaf->type() == AVRO_RECORD && leaf->name() == typeSchema.root()->name()) {
- throw Exception("Records in unions cannot have duplicate names");
- }
- }
- }
-
- node_->addLeaf(typeSchema.root());
-}
-
-FixedSchema::FixedSchema(int size, const std::string &name) :
- Schema(new NodeFixed)
-{
- node_->setFixedSize(size);
- node_->setName(name);
-}
-
-SymbolicSchema::SymbolicSchema(const Name &name, const NodePtr& link) :
- Schema(new NodeSymbolic(HasName(name), link))
-{
-}
-
-
-
-} // namespace avro
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include "Schema.hh"
+
+namespace avro {
+
+Schema::Schema()
+{ }
+
+Schema::~Schema()
+{ }
+
+Schema::Schema(const NodePtr &node) :
+ node_(node)
+{ }
+
+Schema::Schema(Node *node) :
+ node_(node)
+{ }
+
+RecordSchema::RecordSchema(const std::string &name) :
+ Schema(new NodeRecord)
+{
+ node_->setName(name);
+}
+
+void
+RecordSchema::addField(const std::string &name, const Schema &fieldSchema)
+{
+ // add the name first. it will throw if the name is a duplicate, preventing
+ // the leaf from being added
+ node_->addName(name);
+
+ node_->addLeaf(fieldSchema.root());
+}
+
+std::string RecordSchema::getDoc() const
+{
+ return node_->getDoc();
+}
+void RecordSchema::setDoc(const std::string& doc)
+{
+ node_->setDoc(doc);
+}
+
+EnumSchema::EnumSchema(const std::string &name) :
+ Schema(new NodeEnum)
+{
+ node_->setName(name);
+}
+
+void
+EnumSchema::addSymbol(const std::string &symbol)
+{
+ node_->addName(symbol);
+}
+
+ArraySchema::ArraySchema(const Schema &itemsSchema) :
+ Schema(new NodeArray)
+{
+ node_->addLeaf(itemsSchema.root());
+}
+
+ArraySchema::ArraySchema(const ArraySchema &itemsSchema) :
+ Schema(new NodeArray)
+{
+ node_->addLeaf(itemsSchema.root());
+}
+
+MapSchema::MapSchema(const Schema &valuesSchema) :
+ Schema(new NodeMap)
+{
+ node_->addLeaf(valuesSchema.root());
+}
+
+MapSchema::MapSchema(const MapSchema &valuesSchema) :
+ Schema(new NodeMap)
+{
+ node_->addLeaf(valuesSchema.root());
+}
+
+UnionSchema::UnionSchema() :
+ Schema(new NodeUnion)
+{ }
+
+void
+UnionSchema::addType(const Schema &typeSchema)
+{
+ if(typeSchema.type() == AVRO_UNION) {
+ throw Exception("Cannot add unions to unions");
+ }
+
+ if(typeSchema.type() == AVRO_RECORD) {
+ // check for duplicate records
+ size_t types = node_->leaves();
+ for(size_t i = 0; i < types; ++i) {
+ const NodePtr &leaf = node_->leafAt(i);
+ // TODO, more checks?
+ if(leaf->type() == AVRO_RECORD && leaf->name() == typeSchema.root()->name()) {
+ throw Exception("Records in unions cannot have duplicate names");
+ }
+ }
+ }
+
+ node_->addLeaf(typeSchema.root());
+}
+
+FixedSchema::FixedSchema(int size, const std::string &name) :
+ Schema(new NodeFixed)
+{
+ node_->setFixedSize(size);
+ node_->setName(name);
+}
+
+SymbolicSchema::SymbolicSchema(const Name &name, const NodePtr& link) :
+ Schema(new NodeSymbolic(HasName(name), link))
+{
+}
+
+
+
+} // namespace avro