Ejemplo n.º 1
0
        public Statement EmitColumnHandler(TableVar tableVar, TableVarColumn column, EmitMode mode)
        {
            AttachStatement statement = new AttachStatement();

            statement.MetaData                 = MetaData;
            statement.OperatorName             = _operator.OperatorName;
            statement.EventSourceSpecifier     = new ColumnEventSourceSpecifier(tableVar.Name, column.Name);
            statement.EventSpecifier           = new EventSpecifier();
            statement.EventSpecifier.EventType = _eventType;
            return(statement);
        }
Ejemplo n.º 2
0
 private int GetNumericScale(TableVarColumn column)
 {
     DAE.Language.D4.Tag tag = column.GetMetaDataTag("DAEDataReader.NumericScale");
     if (tag != null)
     {
         return(System.Convert.ToInt32(tag.Value));
     }
     else
     {
         return(DefaultNumericScale);
     }
 }
Ejemplo n.º 3
0
 private bool GetIsAutoIncrement(TableVarColumn column)
 {
     DAE.Language.D4.Tag tag = column.GetMetaDataTag("DAEDataReader.IsAutoIncrement");
     if (tag != null)
     {
         return(tag.Value.ToLower() == "true");
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 4
0
 private bool GetIsLong(TableVarColumn column, Schema.DataTypes dataTypes)
 {
     DAE.Language.D4.Tag tag = column.GetMetaDataTag("DAEDataReader.IsLong");
     if (tag != null)
     {
         return(tag.Value.ToLower() == "true");
     }
     else
     {
         return(GetNativeType(column.DataType, column, dataTypes) == typeof(byte[]));
     }
 }
Ejemplo n.º 5
0
 private int GetColumnSize(TableVarColumn column)
 {
     DAE.Language.D4.Tag tag = column.GetMetaDataTag("DAEDataReader.ColumnSize");
     if (tag != null)
     {
         return(System.Convert.ToInt32(tag.Value));
     }
     else
     {
         return(System.Int32.MaxValue);
     }
 }
Ejemplo n.º 6
0
 public static Type GetNativeType(IDataType dataType, TableVarColumn column, Schema.DataTypes dataTypes)
 {
     DAE.Language.D4.Tag tag = column.GetMetaDataTag("DAEDataReader.NativeType");
     if (tag != Tag.None)
     {
         return(Type.GetType(tag.Value, true, true));
     }
     else
     {
         return(GetNativeType(dataType, dataTypes));
     }
 }
Ejemplo n.º 7
0
		public SQLType GetSQLParameterType(TableVarColumn AColumn)
		{
			return GetSQLParameterType(AColumn.MetaData);
		}
Ejemplo n.º 8
0
		public string ParameterDomainName(TableVarColumn AColumn)
		{
			return ParameterDomainName(AColumn.MetaData);
		}
Ejemplo n.º 9
0
		public string DomainName(TableVarColumn AColumn)
		{
			return DomainName(AColumn.MetaData);
		}
Ejemplo n.º 10
0
 public ColumnSchema(TableVarColumn AColumn, TableSchema ATable)
 {
     FColumn = AColumn;
     FTable  = ATable;
 }
Ejemplo n.º 11
0
 public TableVarColumnEventHandlers(TableVarColumn tableVarColumn) : base()
 {
     _tableVarColumn = tableVarColumn;
 }
Ejemplo n.º 12
0
 public TableVarColumnConstraints(TableVarColumn tableVarColumn) : base()
 {
     _tableVarColumn = tableVarColumn;
 }
Ejemplo n.º 13
0
 public override string DomainName(TableVarColumn AColumn)
 {
     return("number(3, 0)");
 }
Ejemplo n.º 14
0
        private void EnsureColumn(TableVarColumn column, string combinedName, TableVarColumn rowIDColumn, string rowIDmappedType, int columnId, RangeSet podIds, ref int nextPod)
        {
            // Attempt to find the column by ID, determine if it is already created
            Range query = new Range();

            query.ColumnID = Dictionary.ColumnID;
            query.Start    = new RangeBound()
            {
                Bound = columnId, Inclusive = true
            };
            query.End = new RangeBound()
            {
                Bound = columnId, Inclusive = true
            };
            var result = Device.Database.GetRange(new int[] { }, query, int.MaxValue);

            if (result.Data.Count == 0)
            {
                // Determine the storage pod - default, but let the user override
                var defaultPodID = podIds.Data[nextPod++ % podIds.Data.Count].Values[0];
                var podIDs       =
                    (
                        from p in D4.MetaData.GetTag(column.MetaData, "Storage.PodIDs", defaultPodID.ToString()).Split(',')
                        select Int32.Parse(p)
                    ).ToArray();
                if (podIDs.Length == 0)
                {
                    throw new Exception(String.Format("No Pod ID(s) given for column {0} of table {1}.", column.DisplayName, column.TableVar.DisplayName));
                }

                var mappedName = MapTypeNames(column.DataType);

                using (var transaction = Device.Database.Begin(true, true))
                {
                    transaction.Include
                    (
                        Dictionary.ColumnColumns,
                        columnId,
                        new object[]
                    {
                        columnId,
                        combinedName,
                        mappedName,
                        rowIDmappedType,
                        (rowIDColumn == column) ? BufferType.Identity
                                                                : column.TableVar.Keys.Any(k => k.Columns.Count == 1 && k.Columns[0] == column) ? BufferType.Unique
                                                                : BufferType.Multi
                    }
                    );

                    foreach (var pod in podIDs)
                    {
                        transaction.Include
                        (
                            Dictionary.PodColumnColumns,
                            Device.IDGenerator.Generate(Dictionary.PodColumnPodID),
                            new object[] { pod, columnId }
                        );
                    }

                    transaction.Commit();
                }
            }
        }
Ejemplo n.º 15
0
 public static bool IsColumnVisible(TableVarColumn column)
 {
     return(Convert.ToBoolean(DAE.Language.D4.MetaData.GetTag(column.MetaData, "Frontend.Visible", "true")));
 }
Ejemplo n.º 16
0
 private static string GetColumnTitle(TableVarColumn column)
 {
     return(DAE.Language.D4.MetaData.GetTag(column.MetaData, "Frontend.Title", DAE.Schema.Object.Unqualify(column.Name)));
 }