Table of Contents

Class Column

Namespace
WoWLib.Database
Assembly
WoWLib.dll

One column of a table schema: its name, value class, integer shape, array length and key roles.

public class Column : IDisposable
Inheritance
Column
Implements
Inherited Members

Constructors

Column()

public Column()

Column(Column)

Copy-construct: a deep copy of other (the C++ copy constructor).

public Column(Column other)

Parameters

other Column

Properties

ArrayLen

Element count; 1 for scalar columns.

public ushort ArrayLen { get; set; }

Property Value

ushort

Bits

Integer element width in bits; 32 for float/string refs.

public byte Bits { get; set; }

Property Value

byte

DbdName

The verbatim WoWDBDefs spelling of the column ('MapName_lang'); column_index accepts it as an alias. Empty for columns without a DBD identity (reflection-derived schemas).

public string DbdName { get; }

Property Value

string

IsId

Whether this is the table's primary key (\(id\)).

public bool IsId { get; set; }

Property Value

bool

IsRelation

Whether this is a relationship key (\(relation\)).

public bool IsRelation { get; set; }

Property Value

bool

IsSigned

Integer signedness; false for non-Int columns.

public bool IsSigned { get; set; }

Property Value

bool

LocaleCount

LocString language slots (8 or 16); 0 otherwise.

public byte LocaleCount { get; set; }

Property Value

byte

Name

The column name: the snake_case spelling of the WoWDBDefs column ('MapName' -> 'map_name'). This spelling is a stable cross-release contract on every binding surface.

public string Name { get; }

Property Value

string

Noninline

Whether the column holds no bytes inside the record image (\(noninline\)).

public bool Noninline { get; set; }

Property Value

bool

Type

The logical value class.

public ColumnType Type { get; set; }

Property Value

ColumnType

Methods

DbdNameView()

public string DbdNameView()

Returns

string

Dispose()

Release the native object now. Optional: the finalizer releases it on collection anyway - dispose (or using) when you want native memory back promptly.

public virtual void Dispose()

FieldSlots()

public uint FieldSlots()

Returns

uint

InlineBytes()

public ulong InlineBytes()

Returns

ulong

NameView()

public string NameView()

Returns

string

StringSlots()

public ulong StringSlots()

Returns

ulong