/// <summary> /// Field's constructor. /// </summary> /// <param name="name">Field name</param> /// <param name="field_type">Field type</param> /// <param name="idx_flags">Index types (hash/T-tree)</param> /// <param name="ref_table">Reference table name for inverse reference fields</param> /// <param name="inv_ref_field">Inverse reference field name</param> public FastDbField(string name, CLI.FieldType field_type, CLI.FieldFlags idx_flags, string ref_table, string inv_ref_field) : base(name, field_type, idx_flags) { this.RefTable = ref_table; this.InvRefField = inv_ref_field; }
public unsafe FastDbBuffer(string name, CLI.FieldType var_type, CLI.FieldFlags idx_flags) { buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(CLI.UnmanagedBuffer))); ((CLI.UnmanagedBuffer *)buffer)->fetch_data = true; ((CLI.UnmanagedBuffer *)buffer)->type = (int)var_type; ((CLI.UnmanagedBuffer *)buffer)->size = CLI.SizeOfCliType[(int)var_type]; ((CLI.UnmanagedBuffer *)buffer)->capacity = MIN_CAPACITY; ((CLI.UnmanagedBuffer *)buffer)->data = Marshal.AllocCoTaskMem(MIN_CAPACITY); this.name = name; //Marshal.StringToHGlobalAnsi(name); this.flags = (int)idx_flags; disposed = false; }
/// <summary> /// Alter index on a field /// </summary> /// <param name="TableName">Name of the table</param> /// <param name="FieldName">Name of the field</param> /// <param name="NewFlags">New index types.</param> public void AlterIndex(string TableName, string FieldName, CLI.FieldFlags NewFlags) { CLI.CliCheck(CLI.cli_alter_index(session, TableName, FieldName, NewFlags)); }
/// <summary> /// Use this method to add a field to the collection. /// </summary> /// <param name="name">Name of the field</param> /// <param name="field_type">Type of the field</param> /// <param name="index_type">Optional index to be built on the field (default: CLI.FieldFlags.no_index)</param> /// <param name="ref_table">Reference table name (used for inverse references). Default: null.</param> /// <param name="inv_ref_field">Inverse reference field name (default: null)</param> /// <returns></returns> public FastDbField Add(string name, CLI.FieldType field_type, CLI.FieldFlags index_type, string ref_table, string inv_ref_field) { int i = items.Add(new FastDbField(name, field_type, index_type, ref_table, inv_ref_field)); return((FastDbField)items[i]); }
public FastDbField Add(string name, CLI.FieldType field_type, CLI.FieldFlags index_type, string ref_table) { return(Add(name, field_type, index_type, ref_table, null)); }