blob: 0c1139879d2366e8084ef7e1b5e1df7defd165ae [file] [log] [blame]
/*
* 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
*
* http://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.
*/
package org.apache.asterix.bad.metadata;
import org.apache.asterix.bad.BADConstants;
import org.apache.asterix.metadata.bootstrap.MetadataRecordTypes;
import org.apache.asterix.om.types.AOrderedListType;
import org.apache.asterix.om.types.ARecordType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
public class BADMetadataRecordTypes {
// -------------------------------------- Subscriptions --------------------------------------//
private static final String[] subTypeFieldNames = { BADConstants.METADATA_TYPE_NAME_DATAVERSENAME,
BADConstants.METADATA_TYPE_FIELD_NAME_BROKERNAME, BADConstants.SubscriptionId };
private static final IAType[] subTypeFieldTypes = { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.AUUID };
public static final ARecordType channelSubscriptionsType =
new ARecordType(BADConstants.METADATA_TYPENAME_SUBSCRIPTIONS, subTypeFieldNames, subTypeFieldTypes, true);
// ---------------------------------------- Results --------------------------------------------//
private static final String[] resultTypeFieldNames = { BADConstants.ResultId, BADConstants.ChannelExecutionTime,
BADConstants.SubscriptionId, BADConstants.DeliveryTime };
private static final IAType[] resultTypeFieldTypes =
{ BuiltinType.AUUID, BuiltinType.ADATETIME, BuiltinType.AUUID, BuiltinType.ADATETIME };
public static final ARecordType channelResultsType =
new ARecordType(BADConstants.ChannelResultsType, resultTypeFieldNames, resultTypeFieldTypes, true);
//------------------------------------------ Channel ----------------------------------------//
public static final int CHANNEL_ARECORD_DATAVERSE_NAME_FIELD_INDEX = 0;
public static final int CHANNEL_ARECORD_CHANNEL_NAME_FIELD_INDEX = 1;
public static final int CHANNEL_ARECORD_SUBSCRIPTIONS_NAME_FIELD_INDEX = 2;
public static final int CHANNEL_ARECORD_RESULTS_NAME_FIELD_INDEX = 3;
public static final int CHANNEL_ARECORD_FUNCTION_FIELD_INDEX = 4;
public static final int CHANNEL_ARECORD_DURATION_FIELD_INDEX = 5;
public static final int CHANNEL_ARECORD_DEPENDENCIES_FIELD_INDEX = 6;
public static final int CHANNEL_ARECORD_BODY_FIELD_INDEX = 7;
public static final ARecordType CHANNEL_RECORDTYPE = MetadataRecordTypes.createRecordType(
// RecordTypeName
BADConstants.METADATA_TYPENAME_CHANNEL,
// FieldNames
new String[] { BADConstants.METADATA_TYPE_NAME_DATAVERSENAME, BADConstants.ChannelName,
BADConstants.SubscriptionsDatasetName, BADConstants.ResultsDatasetName, BADConstants.Function,
BADConstants.Duration, BADConstants.FIELD_NAME_DEPENDENCIES, BADConstants.FIELD_NAME_BODY },
// FieldTypes
new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
new AOrderedListType(BuiltinType.ASTRING, null), BuiltinType.ASTRING,
new AOrderedListType(new AOrderedListType(new AOrderedListType(BuiltinType.ASTRING, null), null),
null),
BuiltinType.ASTRING },
//IsOpen?
true);
//------------------------------------------ Broker ----------------------------------------//
public static final int BROKER_DATAVERSE_NAME_FIELD_INDEX = 0;
public static final int BROKER_NAME_FIELD_INDEX = 1;
public static final int BROKER_ENDPOINT_FIELD_INDEX = 2;
public static final int BROKER_TYPE_FIELD_INDEX = 3;
public static final ARecordType BROKER_RECORDTYPE = MetadataRecordTypes.createRecordType(
// RecordTypeName
BADConstants.METADATA_TYPENAME_BROKER,
// FieldNames
new String[] { BADConstants.METADATA_TYPE_NAME_DATAVERSENAME,
BADConstants.METADATA_TYPE_FIELD_NAME_BROKERNAME,
BADConstants.METADATA_TYPE_FIELD_NAME_BROKER_END_POINT,
BADConstants.METADATA_TYPE_FIELD_NAME_BROKER_TYPE },
// FieldTypes
new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING },
//IsOpen?
true);
//----------------------------------------- Procedure ----------------------------------------//
public static final int PROCEDURE_ARECORD_DATAVERSENAME_FIELD_INDEX = 0;
public static final int PROCEDURE_ARECORD_PROCEDURE_NAME_FIELD_INDEX = 1;
public static final int PROCEDURE_ARECORD_PROCEDURE_ARITY_FIELD_INDEX = 2;
public static final int PROCEDURE_ARECORD_PROCEDURE_PARAM_LIST_FIELD_INDEX = 3;
public static final int PROCEDURE_ARECORD_PROCEDURE_TYPE_FIELD_INDEX = 4;
public static final int PROCEDURE_ARECORD_PROCEDURE_DEFINITION_FIELD_INDEX = 5;
public static final int PROCEDURE_ARECORD_PROCEDURE_LANGUAGE_FIELD_INDEX = 6;
public static final int PROCEDURE_ARECORD_PROCEDURE_DURATION_FIELD_INDEX = 7;
public static final int PROCEDURE_ARECORD_DEPENDENCIES_FIELD_INDEX = 8;
public static final ARecordType PROCEDURE_RECORDTYPE = MetadataRecordTypes.createRecordType(
// RecordTypeName
BADConstants.METADATA_TYPENAME_PROCEDURE,
// FieldNames
new String[] { BADConstants.METADATA_TYPE_NAME_DATAVERSENAME, BADConstants.ProcedureName,
BADConstants.FIELD_NAME_ARITY, BADConstants.FIELD_NAME_PARAMS, BADConstants.FIELD_NAME_TYPE,
BADConstants.FIELD_NAME_DEFINITION, BADConstants.FIELD_NAME_LANGUAGE, BADConstants.Duration,
BADConstants.FIELD_NAME_DEPENDENCIES },
// FieldTypes
new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
new AOrderedListType(BuiltinType.ASTRING, null), BuiltinType.ASTRING, BuiltinType.ASTRING,
BuiltinType.ASTRING, BuiltinType.ASTRING,
new AOrderedListType(new AOrderedListType(new AOrderedListType(BuiltinType.ASTRING, null), null),
null) },
//IsOpen?
true);
//------------------------------------------ Active Timestamp ----------------------------------------//
public static final ARecordType ACTIVE_RECORD_RECORD_TYPE = MetadataRecordTypes.createRecordType(
// RecordTypeName
BADConstants.RECORD_TYPENAME_ACTIVE_RECORD,
// FieldNames
new String[] { BADConstants.FIELD_NAME_ACTIVE_TS },
// FieldTypes
new IAType[] { BuiltinType.ADATETIME },
//IsOpen?
true);
}