Info

source: bluebase/sm/info.py


class SmTableInfo(buffer: bytearray)[source]

Bases: LayoutMixin

Layout

Offset

Size

Name

Format

0

24

name

'24s'

24

4

schema_size

'<i'

28

4

record_size

'<i'

32

4

index_count

'<i'

MAX_TABLE_LENGTH: ClassVar[int] = 24

table name의 최대 길이를 나타내는 상수.

classmethod new(name: str, schema_size: int, record_size: int, index_count: int) → Self[source]
property name: strread-only
property schema_size: intread-only
property record_size: intread-only
property index_count: intread-write
encode() → RmRecordData[source]
size: ClassVar[int] = 36

The total size of the layout, automatically calculated from fields.

class SmAttrInfo(buffer: bytearray)[source]

Bases: LayoutMixin

Layout

Offset

Size

Name

Format

0

1

indexed

'<B'

1

24

table

'24s'

25

24

name

'24s'

49

4

number

'<i'

53

4

domain_enum

'<i'

57

4

domain_size

'<i'

61

4

offset

'<i'

MAX_TABLE_LENGTH: ClassVar[int] = 24

table name의 최대 길이를 나타내는 상수.

MAX_ATTR_LENGTH: ClassVar[int] = 24

attr name의 최대 길이를 나타내는 상수.

classmethod new(table: str, name: str, number: int, domain: Domain, offset: int) → Self[source]
slice() → slice[source]
property indexed: boolread-write
property table: strread-only
property name: strread-only
size: ClassVar[int] = 65

The total size of the layout, automatically calculated from fields.

property number: intread-only
property domain: Domainread-only
property offset: intread-only
encode() → RmRecordData[source]