vastdb 1.3.5__py3-none-any.whl → 1.3.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: tabular
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class ColumnDetails(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = ColumnDetails()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsColumnDetails(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ # ColumnDetails
24
+ def Init(self, buf, pos):
25
+ self._tab = flatbuffers.table.Table(buf, pos)
26
+
27
+ # ColumnDetails
28
+ def Name(self):
29
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30
+ if o != 0:
31
+ return self._tab.String(o + self._tab.Pos)
32
+ return None
33
+
34
+ # ColumnDetails
35
+ def Mask(self):
36
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
37
+ if o != 0:
38
+ return self._tab.String(o + self._tab.Pos)
39
+ return None
40
+
41
+ def Start(builder): builder.StartObject(2)
42
+ def ColumnDetailsStart(builder):
43
+ """This method is deprecated. Please switch to Start."""
44
+ return Start(builder)
45
+ def AddName(builder, name): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
46
+ def ColumnDetailsAddName(builder, name):
47
+ """This method is deprecated. Please switch to AddName."""
48
+ return AddName(builder, name)
49
+ def AddMask(builder, mask): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(mask), 0)
50
+ def ColumnDetailsAddMask(builder, mask):
51
+ """This method is deprecated. Please switch to AddMask."""
52
+ return AddMask(builder, mask)
53
+ def End(builder): return builder.EndObject()
54
+ def ColumnDetailsEnd(builder):
55
+ """This method is deprecated. Please switch to End."""
56
+ return End(builder)
@@ -0,0 +1,45 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: tabular
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class FilterString(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = FilterString()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsFilterString(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ # FilterString
24
+ def Init(self, buf, pos):
25
+ self._tab = flatbuffers.table.Table(buf, pos)
26
+
27
+ # FilterString
28
+ def Filter(self):
29
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30
+ if o != 0:
31
+ return self._tab.String(o + self._tab.Pos)
32
+ return None
33
+
34
+ def Start(builder): builder.StartObject(1)
35
+ def FilterStringStart(builder):
36
+ """This method is deprecated. Please switch to Start."""
37
+ return Start(builder)
38
+ def AddFilter(builder, filter): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(filter), 0)
39
+ def FilterStringAddFilter(builder, filter):
40
+ """This method is deprecated. Please switch to AddFilter."""
41
+ return AddFilter(builder, filter)
42
+ def End(builder): return builder.EndObject()
43
+ def FilterStringEnd(builder):
44
+ """This method is deprecated. Please switch to End."""
45
+ return End(builder)
@@ -0,0 +1,166 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: tabular
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class GetRowColumnSecurityResponse(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = GetRowColumnSecurityResponse()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsGetRowColumnSecurityResponse(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ # GetRowColumnSecurityResponse
24
+ def Init(self, buf, pos):
25
+ self._tab = flatbuffers.table.Table(buf, pos)
26
+
27
+ # GetRowColumnSecurityResponse
28
+ def RowFilter(self, j):
29
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30
+ if o != 0:
31
+ x = self._tab.Vector(o)
32
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
33
+ x = self._tab.Indirect(x)
34
+ from vast_flatbuf.tabular.FilterString import FilterString
35
+ obj = FilterString()
36
+ obj.Init(self._tab.Bytes, x)
37
+ return obj
38
+ return None
39
+
40
+ # GetRowColumnSecurityResponse
41
+ def RowFilterLength(self):
42
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
43
+ if o != 0:
44
+ return self._tab.VectorLen(o)
45
+ return 0
46
+
47
+ # GetRowColumnSecurityResponse
48
+ def RowFilterIsNone(self):
49
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
50
+ return o == 0
51
+
52
+ # GetRowColumnSecurityResponse
53
+ def ColumnMask(self, j):
54
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
55
+ if o != 0:
56
+ x = self._tab.Vector(o)
57
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
58
+ x = self._tab.Indirect(x)
59
+ from vast_flatbuf.tabular.ColumnDetails import ColumnDetails
60
+ obj = ColumnDetails()
61
+ obj.Init(self._tab.Bytes, x)
62
+ return obj
63
+ return None
64
+
65
+ # GetRowColumnSecurityResponse
66
+ def ColumnMaskLength(self):
67
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
68
+ if o != 0:
69
+ return self._tab.VectorLen(o)
70
+ return 0
71
+
72
+ # GetRowColumnSecurityResponse
73
+ def ColumnMaskIsNone(self):
74
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
75
+ return o == 0
76
+
77
+ # GetRowColumnSecurityResponse
78
+ def ColumnAllow(self, j):
79
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
80
+ if o != 0:
81
+ x = self._tab.Vector(o)
82
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
83
+ x = self._tab.Indirect(x)
84
+ from vast_flatbuf.tabular.NameString import NameString
85
+ obj = NameString()
86
+ obj.Init(self._tab.Bytes, x)
87
+ return obj
88
+ return None
89
+
90
+ # GetRowColumnSecurityResponse
91
+ def ColumnAllowLength(self):
92
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
93
+ if o != 0:
94
+ return self._tab.VectorLen(o)
95
+ return 0
96
+
97
+ # GetRowColumnSecurityResponse
98
+ def ColumnAllowIsNone(self):
99
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
100
+ return o == 0
101
+
102
+ # GetRowColumnSecurityResponse
103
+ def ColumnDeny(self, j):
104
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
105
+ if o != 0:
106
+ x = self._tab.Vector(o)
107
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
108
+ x = self._tab.Indirect(x)
109
+ from vast_flatbuf.tabular.NameString import NameString
110
+ obj = NameString()
111
+ obj.Init(self._tab.Bytes, x)
112
+ return obj
113
+ return None
114
+
115
+ # GetRowColumnSecurityResponse
116
+ def ColumnDenyLength(self):
117
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
118
+ if o != 0:
119
+ return self._tab.VectorLen(o)
120
+ return 0
121
+
122
+ # GetRowColumnSecurityResponse
123
+ def ColumnDenyIsNone(self):
124
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
125
+ return o == 0
126
+
127
+ def Start(builder): builder.StartObject(4)
128
+ def GetRowColumnSecurityResponseStart(builder):
129
+ """This method is deprecated. Please switch to Start."""
130
+ return Start(builder)
131
+ def AddRowFilter(builder, rowFilter): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(rowFilter), 0)
132
+ def GetRowColumnSecurityResponseAddRowFilter(builder, rowFilter):
133
+ """This method is deprecated. Please switch to AddRowFilter."""
134
+ return AddRowFilter(builder, rowFilter)
135
+ def StartRowFilterVector(builder, numElems): return builder.StartVector(4, numElems, 4)
136
+ def GetRowColumnSecurityResponseStartRowFilterVector(builder, numElems):
137
+ """This method is deprecated. Please switch to Start."""
138
+ return StartRowFilterVector(builder, numElems)
139
+ def AddColumnMask(builder, columnMask): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(columnMask), 0)
140
+ def GetRowColumnSecurityResponseAddColumnMask(builder, columnMask):
141
+ """This method is deprecated. Please switch to AddColumnMask."""
142
+ return AddColumnMask(builder, columnMask)
143
+ def StartColumnMaskVector(builder, numElems): return builder.StartVector(4, numElems, 4)
144
+ def GetRowColumnSecurityResponseStartColumnMaskVector(builder, numElems):
145
+ """This method is deprecated. Please switch to Start."""
146
+ return StartColumnMaskVector(builder, numElems)
147
+ def AddColumnAllow(builder, columnAllow): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(columnAllow), 0)
148
+ def GetRowColumnSecurityResponseAddColumnAllow(builder, columnAllow):
149
+ """This method is deprecated. Please switch to AddColumnAllow."""
150
+ return AddColumnAllow(builder, columnAllow)
151
+ def StartColumnAllowVector(builder, numElems): return builder.StartVector(4, numElems, 4)
152
+ def GetRowColumnSecurityResponseStartColumnAllowVector(builder, numElems):
153
+ """This method is deprecated. Please switch to Start."""
154
+ return StartColumnAllowVector(builder, numElems)
155
+ def AddColumnDeny(builder, columnDeny): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(columnDeny), 0)
156
+ def GetRowColumnSecurityResponseAddColumnDeny(builder, columnDeny):
157
+ """This method is deprecated. Please switch to AddColumnDeny."""
158
+ return AddColumnDeny(builder, columnDeny)
159
+ def StartColumnDenyVector(builder, numElems): return builder.StartVector(4, numElems, 4)
160
+ def GetRowColumnSecurityResponseStartColumnDenyVector(builder, numElems):
161
+ """This method is deprecated. Please switch to Start."""
162
+ return StartColumnDenyVector(builder, numElems)
163
+ def End(builder): return builder.EndObject()
164
+ def GetRowColumnSecurityResponseEnd(builder):
165
+ """This method is deprecated. Please switch to End."""
166
+ return End(builder)
@@ -77,35 +77,102 @@ class GetTableStatsResponse(object):
77
77
  o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
78
78
  return o == 0
79
79
 
80
- def Start(builder): builder.StartObject(5)
80
+ # GetTableStatsResponse
81
+ def SortingKeyEnabled(self):
82
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
83
+ if o != 0:
84
+ return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
85
+ return False
86
+
87
+ # GetTableStatsResponse
88
+ def SortingScore(self):
89
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
90
+ if o != 0:
91
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
92
+ return 0
93
+
94
+ # GetTableStatsResponse
95
+ def WriteAmplification(self):
96
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
97
+ if o != 0:
98
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
99
+ return 0
100
+
101
+ # GetTableStatsResponse
102
+ def AcummulativeRowInseritionCount(self):
103
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
104
+ if o != 0:
105
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
106
+ return 0
107
+
81
108
  def GetTableStatsResponseStart(builder):
82
- """This method is deprecated. Please switch to Start."""
83
- return Start(builder)
84
- def AddNumRows(builder, numRows): builder.PrependInt64Slot(0, numRows, 0)
109
+ builder.StartObject(9)
110
+
111
+ def Start(builder):
112
+ GetTableStatsResponseStart(builder)
113
+
85
114
  def GetTableStatsResponseAddNumRows(builder, numRows):
86
- """This method is deprecated. Please switch to AddNumRows."""
87
- return AddNumRows(builder, numRows)
88
- def AddSizeInBytes(builder, sizeInBytes): builder.PrependInt64Slot(1, sizeInBytes, 0)
115
+ builder.PrependInt64Slot(0, numRows, 0)
116
+
117
+ def AddNumRows(builder, numRows):
118
+ GetTableStatsResponseAddNumRows(builder, numRows)
119
+
89
120
  def GetTableStatsResponseAddSizeInBytes(builder, sizeInBytes):
90
- """This method is deprecated. Please switch to AddSizeInBytes."""
91
- return AddSizeInBytes(builder, sizeInBytes)
92
- def AddIsExternalRowidAlloc(builder, isExternalRowidAlloc): builder.PrependBoolSlot(2, isExternalRowidAlloc, 0)
121
+ builder.PrependInt64Slot(1, sizeInBytes, 0)
122
+
123
+ def AddSizeInBytes(builder, sizeInBytes):
124
+ GetTableStatsResponseAddSizeInBytes(builder, sizeInBytes)
125
+
93
126
  def GetTableStatsResponseAddIsExternalRowidAlloc(builder, isExternalRowidAlloc):
94
- """This method is deprecated. Please switch to AddIsExternalRowidAlloc."""
95
- return AddIsExternalRowidAlloc(builder, isExternalRowidAlloc)
96
- def AddAddressType(builder, addressType): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(addressType), 0)
127
+ builder.PrependBoolSlot(2, isExternalRowidAlloc, 0)
128
+
129
+ def AddIsExternalRowidAlloc(builder, isExternalRowidAlloc):
130
+ GetTableStatsResponseAddIsExternalRowidAlloc(builder, isExternalRowidAlloc)
131
+
97
132
  def GetTableStatsResponseAddAddressType(builder, addressType):
98
- """This method is deprecated. Please switch to AddAddressType."""
99
- return AddAddressType(builder, addressType)
100
- def AddVips(builder, vips): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(vips), 0)
133
+ builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(addressType), 0)
134
+
135
+ def AddAddressType(builder, addressType):
136
+ GetTableStatsResponseAddAddressType(builder, addressType)
137
+
101
138
  def GetTableStatsResponseAddVips(builder, vips):
102
- """This method is deprecated. Please switch to AddVips."""
103
- return AddVips(builder, vips)
104
- def StartVipsVector(builder, numElems): return builder.StartVector(4, numElems, 4)
139
+ builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(vips), 0)
140
+
141
+ def AddVips(builder, vips):
142
+ GetTableStatsResponseAddVips(builder, vips)
143
+
105
144
  def GetTableStatsResponseStartVipsVector(builder, numElems):
106
- """This method is deprecated. Please switch to Start."""
107
- return StartVipsVector(builder, numElems)
108
- def End(builder): return builder.EndObject()
145
+ return builder.StartVector(4, numElems, 4)
146
+
147
+ def StartVipsVector(builder, numElems):
148
+ return GetTableStatsResponseStartVipsVector(builder, numElems)
149
+
150
+ def GetTableStatsResponseAddSortingKeyEnabled(builder, sortingKeyEnabled):
151
+ builder.PrependBoolSlot(5, sortingKeyEnabled, 0)
152
+
153
+ def AddSortingKeyEnabled(builder, sortingKeyEnabled):
154
+ GetTableStatsResponseAddSortingKeyEnabled(builder, sortingKeyEnabled)
155
+
156
+ def GetTableStatsResponseAddSortingScore(builder, sortingScore):
157
+ builder.PrependInt64Slot(6, sortingScore, 0)
158
+
159
+ def AddSortingScore(builder, sortingScore):
160
+ GetTableStatsResponseAddSortingScore(builder, sortingScore)
161
+
162
+ def GetTableStatsResponseAddWriteAmplification(builder, writeAmplification):
163
+ builder.PrependInt64Slot(7, writeAmplification, 0)
164
+
165
+ def AddWriteAmplification(builder, writeAmplification):
166
+ GetTableStatsResponseAddWriteAmplification(builder, writeAmplification)
167
+
168
+ def GetTableStatsResponseAddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount):
169
+ builder.PrependInt64Slot(8, acummulativeRowInseritionCount, 0)
170
+
171
+ def AddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount):
172
+ GetTableStatsResponseAddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount)
173
+
109
174
  def GetTableStatsResponseEnd(builder):
110
- """This method is deprecated. Please switch to End."""
111
- return End(builder)
175
+ return builder.EndObject()
176
+
177
+ def End(builder):
178
+ return GetTableStatsResponseEnd(builder)
@@ -0,0 +1,45 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: tabular
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class NameString(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = NameString()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsNameString(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ # NameString
24
+ def Init(self, buf, pos):
25
+ self._tab = flatbuffers.table.Table(buf, pos)
26
+
27
+ # NameString
28
+ def Name(self):
29
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30
+ if o != 0:
31
+ return self._tab.String(o + self._tab.Pos)
32
+ return None
33
+
34
+ def Start(builder): builder.StartObject(1)
35
+ def NameStringStart(builder):
36
+ """This method is deprecated. Please switch to Start."""
37
+ return Start(builder)
38
+ def AddName(builder, name): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
39
+ def NameStringAddName(builder, name):
40
+ """This method is deprecated. Please switch to AddName."""
41
+ return AddName(builder, name)
42
+ def End(builder): return builder.EndObject()
43
+ def NameStringEnd(builder):
44
+ """This method is deprecated. Please switch to End."""
45
+ return End(builder)
@@ -74,39 +74,95 @@ class ObjectDetails(object):
74
74
  return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
75
75
  return False
76
76
 
77
- def Start(builder): builder.StartObject(7)
77
+ # ObjectDetails
78
+ def SortingScore(self):
79
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
80
+ if o != 0:
81
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
82
+ return 0
83
+
84
+ # ObjectDetails
85
+ def WriteAmplification(self):
86
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
87
+ if o != 0:
88
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
89
+ return 0
90
+
91
+ # ObjectDetails
92
+ def AcummulativeRowInseritionCount(self):
93
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
94
+ if o != 0:
95
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, o + self._tab.Pos)
96
+ return 0
97
+
78
98
  def ObjectDetailsStart(builder):
79
- """This method is deprecated. Please switch to Start."""
80
- return Start(builder)
81
- def AddName(builder, name): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
99
+ builder.StartObject(10)
100
+
101
+ def Start(builder):
102
+ ObjectDetailsStart(builder)
103
+
82
104
  def ObjectDetailsAddName(builder, name):
83
- """This method is deprecated. Please switch to AddName."""
84
- return AddName(builder, name)
85
- def AddProperties(builder, properties): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(properties), 0)
105
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
106
+
107
+ def AddName(builder, name):
108
+ ObjectDetailsAddName(builder, name)
109
+
86
110
  def ObjectDetailsAddProperties(builder, properties):
87
- """This method is deprecated. Please switch to AddProperties."""
88
- return AddProperties(builder, properties)
89
- def AddHandle(builder, handle): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(handle), 0)
111
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(properties), 0)
112
+
113
+ def AddProperties(builder, properties):
114
+ ObjectDetailsAddProperties(builder, properties)
115
+
90
116
  def ObjectDetailsAddHandle(builder, handle):
91
- """This method is deprecated. Please switch to AddHandle."""
92
- return AddHandle(builder, handle)
93
- def AddNumRows(builder, numRows): builder.PrependUint64Slot(3, numRows, 0)
117
+ builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(handle), 0)
118
+
119
+ def AddHandle(builder, handle):
120
+ ObjectDetailsAddHandle(builder, handle)
121
+
94
122
  def ObjectDetailsAddNumRows(builder, numRows):
95
- """This method is deprecated. Please switch to AddNumRows."""
96
- return AddNumRows(builder, numRows)
97
- def AddSizeInBytes(builder, sizeInBytes): builder.PrependUint64Slot(4, sizeInBytes, 0)
123
+ builder.PrependUint64Slot(3, numRows, 0)
124
+
125
+ def AddNumRows(builder, numRows):
126
+ ObjectDetailsAddNumRows(builder, numRows)
127
+
98
128
  def ObjectDetailsAddSizeInBytes(builder, sizeInBytes):
99
- """This method is deprecated. Please switch to AddSizeInBytes."""
100
- return AddSizeInBytes(builder, sizeInBytes)
101
- def AddNumPartitions(builder, numPartitions): builder.PrependUint64Slot(5, numPartitions, 0)
129
+ builder.PrependUint64Slot(4, sizeInBytes, 0)
130
+
131
+ def AddSizeInBytes(builder, sizeInBytes):
132
+ ObjectDetailsAddSizeInBytes(builder, sizeInBytes)
133
+
102
134
  def ObjectDetailsAddNumPartitions(builder, numPartitions):
103
- """This method is deprecated. Please switch to AddNumPartitions."""
104
- return AddNumPartitions(builder, numPartitions)
105
- def AddSortingKeyEnabled(builder, sortingKeyEnabled): builder.PrependBoolSlot(6, sortingKeyEnabled, 0)
135
+ builder.PrependUint64Slot(5, numPartitions, 0)
136
+
137
+ def AddNumPartitions(builder, numPartitions):
138
+ ObjectDetailsAddNumPartitions(builder, numPartitions)
139
+
106
140
  def ObjectDetailsAddSortingKeyEnabled(builder, sortingKeyEnabled):
107
- """This method is deprecated. Please switch to AddSortingKeyEnabled."""
108
- return AddSortingKeyEnabled(builder, sortingKeyEnabled)
109
- def End(builder): return builder.EndObject()
141
+ builder.PrependBoolSlot(6, sortingKeyEnabled, 0)
142
+
143
+ def AddSortingKeyEnabled(builder, sortingKeyEnabled):
144
+ ObjectDetailsAddSortingKeyEnabled(builder, sortingKeyEnabled)
145
+
146
+ def ObjectDetailsAddSortingScore(builder, sortingScore):
147
+ builder.PrependInt64Slot(7, sortingScore, 0)
148
+
149
+ def AddSortingScore(builder, sortingScore):
150
+ ObjectDetailsAddSortingScore(builder, sortingScore)
151
+
152
+ def ObjectDetailsAddWriteAmplification(builder, writeAmplification):
153
+ builder.PrependInt64Slot(8, writeAmplification, 0)
154
+
155
+ def AddWriteAmplification(builder, writeAmplification):
156
+ ObjectDetailsAddWriteAmplification(builder, writeAmplification)
157
+
158
+ def ObjectDetailsAddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount):
159
+ builder.PrependInt64Slot(9, acummulativeRowInseritionCount, 0)
160
+
161
+ def AddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount):
162
+ ObjectDetailsAddAcummulativeRowInseritionCount(builder, acummulativeRowInseritionCount)
163
+
110
164
  def ObjectDetailsEnd(builder):
111
- """This method is deprecated. Please switch to End."""
112
- return End(builder)
165
+ return builder.EndObject()
166
+
167
+ def End(builder):
168
+ return ObjectDetailsEnd(builder)
vastdb/_internal.py CHANGED
@@ -3,6 +3,7 @@ import json
3
3
  import logging
4
4
  import re
5
5
  import struct
6
+ import time
6
7
  import urllib.parse
7
8
  from collections import defaultdict, namedtuple
8
9
  from enum import Enum
@@ -238,7 +239,7 @@ class Predicate:
238
239
  field_path.append(subfield_name)
239
240
 
240
241
  if not isinstance(column, Field):
241
- raise NotImplementedError(self.expr)
242
+ raise NotImplementedError("predicates not supported for column types ", column, "expr=", self.expr)
242
243
 
243
244
  field_path.append(column.name)
244
245
  field_path.reverse() # first entry should be the top-level column name
@@ -1110,6 +1111,15 @@ class VastdbApi:
1110
1111
 
1111
1112
  return snapshots, is_truncated, marker
1112
1113
 
1114
+ def _make_sure_schema_exists(self, bucket, schema, timeout_sec=3):
1115
+ start_time = time.time()
1116
+ while time.time() - start_time < timeout_sec:
1117
+ _, schemas, _, _, _ = self.list_schemas(bucket)
1118
+ if schema in (x[0] for x in schemas):
1119
+ return
1120
+ self.create_schema(bucket, schema)
1121
+ raise Exception(f"Failed to find or create schema {schema} in {timeout_sec} seconds.")
1122
+
1113
1123
  def create_table(self, bucket, schema, name, arrow_schema=None,
1114
1124
  txid=0, client_tags=[], expected_retvals=[],
1115
1125
  create_imports_table=False, use_external_row_ids_allocation=False, table_props=None):
@@ -1121,6 +1131,7 @@ class VastdbApi:
1121
1131
  def create_topic(self, bucket, name, topic_partitions, expected_retvals=[],
1122
1132
  message_timestamp_type=None, retention_ms=None, message_timestamp_after_max_ms=None,
1123
1133
  message_timestamp_before_max_ms=None):
1134
+ self._make_sure_schema_exists(bucket, KAFKA_TOPICS_SCHEMA_NAME)
1124
1135
  table_props = _encode_table_props(message_timestamp_type=message_timestamp_type,
1125
1136
  retention_ms=retention_ms,
1126
1137
  message_timestamp_after_max_ms=message_timestamp_after_max_ms,
@@ -1171,6 +1182,9 @@ class VastdbApi:
1171
1182
  url=self._url(bucket=bucket, schema=schema, table=name, command="table", url_params=url_params),
1172
1183
  data=serialized_schema, headers=headers)
1173
1184
 
1185
+ def get_topic_stats(self, bucket, name, expected_retvals=[]):
1186
+ return self.get_table_stats(bucket=bucket, schema=KAFKA_TOPICS_SCHEMA_NAME, name=name, expected_retvals=expected_retvals)
1187
+
1174
1188
  def get_table_stats(self, bucket, schema, name, txid=0, client_tags=[], expected_retvals=[], imports_table_stats=False):
1175
1189
  """
1176
1190
  GET /mybucket/myschema/mytable?stats HTTP/1.1
@@ -1205,7 +1219,7 @@ class VastdbApi:
1205
1219
  table_properties = ""
1206
1220
 
1207
1221
  self.alter_table(bucket=bucket, schema=KAFKA_TOPICS_SCHEMA_NAME, name=name,
1208
- table_properties=table_properties, expected_retvals=expected_retvals)
1222
+ table_properties=table_properties, new_name=new_name, expected_retvals=expected_retvals)
1209
1223
 
1210
1224
  def alter_table(self, bucket, schema, name, txid=0, client_tags=[], table_properties="",
1211
1225
  new_name="", expected_retvals=[]):
vastdb/bucket.py CHANGED
@@ -40,7 +40,7 @@ class Bucket:
40
40
  """List bucket's schemas."""
41
41
  return self._root_schema.schemas(batch_size=batch_size)
42
42
 
43
- def snapshot(self, name, fail_if_missing=True) -> Optional["Bucket"]:
43
+ def snapshot(self, name: str, fail_if_missing=True) -> Optional["Bucket"]:
44
44
  """Get snapshot by name (if exists)."""
45
45
  snapshots, _is_truncated, _next_key = \
46
46
  self.tx._rpc.api.list_snapshots(bucket=self.name, name_prefix=name, max_keys=1)
vastdb/schema.py CHANGED
@@ -122,8 +122,11 @@ class Schema:
122
122
  if not is_truncated:
123
123
  break
124
124
 
125
- def tables(self, table_name=None) -> List["Table"]:
126
- """List all tables under this schema."""
125
+ def tables(self, table_name: str = "") -> List["Table"]:
126
+ """List all tables under this schema if `table_name` is empty.
127
+
128
+ Otherwise, list only the specific table (if exists).
129
+ """
127
130
  return [
128
131
  _parse_table_info(table_info, self)
129
132
  for table_info in self._iter_tables(table_name=table_name)
vastdb/table.py CHANGED
@@ -168,8 +168,11 @@ class Table:
168
168
  log.debug("Found projection: %s", projs[0])
169
169
  return projs[0]
170
170
 
171
- def projections(self, projection_name=None) -> Iterable["Projection"]:
172
- """List all semi-sorted projections of this table."""
171
+ def projections(self, projection_name: str = "") -> Iterable["Projection"]:
172
+ """List all semi-sorted projections of this table if `projection_name` is empty.
173
+
174
+ Otherwise, list only the specific projection (if exists).
175
+ """
173
176
  if self._imports_table:
174
177
  raise errors.NotSupportedCommand(self.bucket.name, self.schema.name, self.name)
175
178
  projections = []
@@ -523,7 +526,7 @@ class Table:
523
526
  self.tx._rpc.api.drop_table(self.bucket.name, self.schema.name, self.name, txid=self.tx.txid, remove_imports_table=self._imports_table)
524
527
  log.info("Dropped table: %s", self.name)
525
528
 
526
- def rename(self, new_name) -> None:
529
+ def rename(self, new_name: str) -> None:
527
530
  """Rename this table."""
528
531
  if self._imports_table:
529
532
  raise errors.NotSupportedCommand(self.bucket.name, self.schema.name, self.name)
@@ -582,7 +585,7 @@ class Table:
582
585
  self.tx._rpc.features.check_imports_table()
583
586
  return Table(name=self.name, schema=self.schema, handle=int(self.handle), _imports_table=True)
584
587
 
585
- def __getitem__(self, col_name):
588
+ def __getitem__(self, col_name: str):
586
589
  """Allow constructing ibis-like column expressions from this table.
587
590
 
588
591
  It is useful for constructing expressions for predicate pushdown in `Table.select()` method.
@@ -630,7 +633,7 @@ class Projection:
630
633
  self.arrow_schema = pa.schema([(col[0], col[1]) for col in columns])
631
634
  return self.arrow_schema
632
635
 
633
- def rename(self, new_name) -> None:
636
+ def rename(self, new_name: str) -> None:
634
637
  """Rename this projection."""
635
638
  self.tx._rpc.api.alter_projection(self.bucket.name, self.schema.name,
636
639
  self.table.name, self.name, txid=self.tx.txid, new_name=new_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vastdb
3
- Version: 1.3.5
3
+ Version: 1.3.7
4
4
  Summary: VAST Data SDK
5
5
  Home-page: https://github.com/vast-data/vastdb_sdk
6
6
  Author: VAST DATA
@@ -135,31 +135,35 @@ vast_flatbuf/tabular/AlterProjectionTableRequest.py,sha256=dDeI_7owfilYoEMVQ5j_g
135
135
  vast_flatbuf/tabular/AlterSchemaRequest.py,sha256=FiFpcGNcgNpRMXizJn4Lyt3oRJOaYaa5GsaJz0D2DjY,1618
136
136
  vast_flatbuf/tabular/AlterTableRequest.py,sha256=WC5TVopeVerdig7lSNWUl-W2yhkWJj5P1DZRcjrvx3g,1610
137
137
  vast_flatbuf/tabular/Column.py,sha256=2iXTlN8pynb_Sf7n15k8n2uXP_8eoz2RqKrUbTBrIyI,1901
138
+ vast_flatbuf/tabular/ColumnDetails.py,sha256=X5YYPNNTx5ViCPVLcQpGoB4tt24TBXL2I1Vk6rVeMEo,2002
138
139
  vast_flatbuf/tabular/ColumnType.py,sha256=_4-jMG08VR2zdn1ZH7F4aahYPxWsBSm7adUoVf-HFSU,151
139
140
  vast_flatbuf/tabular/CreateProjectionRequest.py,sha256=POlK1DrYMAldNJscLIRL3j4jAT0Sv_fRzfvBXwZAAMw,2516
140
141
  vast_flatbuf/tabular/CreateSchemaRequest.py,sha256=MrOfWaFu0Q1-mxLlGV8YMPajZ5kASyvowVSrKU-NPx8,1626
141
142
  vast_flatbuf/tabular/CreateViewRequest.py,sha256=zagEVFrcWZLDY2exRHxr_uf-Yirchp7uYLk5b6Zvah8,4497
143
+ vast_flatbuf/tabular/FilterString.py,sha256=cQ59oRHxTV2g4UQdb70CzgcQGopginqz_sTykYOChzg,1535
142
144
  vast_flatbuf/tabular/GetProjectionTableStatsResponse.py,sha256=Bp-ln-0lcZEiUvp3vWYmnCP6t2UsZ5J-lezgkUUWhzo,3474
143
- vast_flatbuf/tabular/GetTableStatsResponse.py,sha256=_UsKj6-VAvyDZ8Eku9fegQlRKV-T_0Dsb7qjulYoZus,4655
145
+ vast_flatbuf/tabular/GetRowColumnSecurityResponse.py,sha256=79RGGuKZruHlPpZ-2uxKy6TDiVU3aQDDZk3mYG7PeBI,7108
146
+ vast_flatbuf/tabular/GetTableStatsResponse.py,sha256=7iD91X-QRpi5mXykNhPQzxnUE8TniyU2eQQ4y_6CwEU,6488
144
147
  vast_flatbuf/tabular/ImportDataRequest.py,sha256=f1chKp5d5NUxfNjI8YI1o4MYInF8UDhIhpWkT3vG4Do,2450
145
148
  vast_flatbuf/tabular/ListProjectionsResponse.py,sha256=secqrBsJY3ydbA28j09rmxzBqj-c1JNqaP7JMuib7nE,4240
146
149
  vast_flatbuf/tabular/ListSchemasResponse.py,sha256=V8tbwcWAC96eNwuoqDNqCSb02BnMdq60TpyISuWTVMk,3036
147
150
  vast_flatbuf/tabular/ListTablesResponse.py,sha256=V7jZAS8ryKY8s6o_QyjWzgan-rsGm17zjKEmi7K6qTM,3550
148
151
  vast_flatbuf/tabular/ListViewsResponse.py,sha256=tn7mfW9afjWxMyBs3tsBcS_JA7uTAVNkFyaM7tctyns,3521
149
- vast_flatbuf/tabular/ObjectDetails.py,sha256=yS16tYAu8BCYe7h_B4w7C9BDRVVxFMFg8_mkCyU7nOs,4697
152
+ vast_flatbuf/tabular/NameString.py,sha256=TkCp4wt61gzqoyaue9wf91SPEQ2W1FqqNbRBSMzK5y0,1501
153
+ vast_flatbuf/tabular/ObjectDetails.py,sha256=YEi7dyFmRTtXskVbQbtCDEhU1vxrUKj6_KnYCmAOMnI,5793
150
154
  vast_flatbuf/tabular/S3File.py,sha256=KC9c2oS5-JXwTTriUVFdjOvRG0B54Cq9kviSDZY3NI0,4450
151
155
  vast_flatbuf/tabular/VipRange.py,sha256=_BJd1RRZAcK76T9vlsHzXKYVsPVaz6WTEAqStMQCAUQ,2069
152
156
  vast_flatbuf/tabular/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
157
  vastdb/__init__.py,sha256=J1JjKiFkKC95BHowfh9kJfQFTjRce-QMsc6zF_FfxC0,432
154
- vastdb/_internal.py,sha256=N3Z5uQ9aYj-UlzJTtBBXpht2JV685emtiVhawm1zlKQ,99787
155
- vastdb/bucket.py,sha256=5KuKhPjZOevznZqWHDVVocejvAy7dcwobPuV6BJCfPc,2544
158
+ vastdb/_internal.py,sha256=EOpYjGo8no3NeLDOf6U5pNLPvsMyCyG0k-pV7DaCVHI,100584
159
+ vastdb/bucket.py,sha256=aomUbrfK5Oa6FdGPVsoBXgRW39IzYnmsorF8642r990,2549
156
160
  vastdb/config.py,sha256=1tMYtzKXerGcIUjH4tIGEvZNWvO4fviCEdcNCnELJZo,2269
157
161
  vastdb/conftest.py,sha256=X2kVveySPQYZlVBXUMoo7Oea5IsvmJzjdqq3fpH2kVw,3469
158
162
  vastdb/errors.py,sha256=2XR1ko7J5nkfiHSAgwuVAADw0SsyqxOwSeFaGgKZEXM,4186
159
163
  vastdb/features.py,sha256=DxV746LSkORwVSD6MP2hdXRfnyoLkJwtOwGmp1dnquo,1322
160
- vastdb/schema.py,sha256=N9GLEoSFPrbpreJbCwcWGCtknoNQkavqra8UQvCzy3E,6306
164
+ vastdb/schema.py,sha256=ZokzIGWaiwWOSMpCtJnhWC09BFGl09LzoCMOb0wGoK0,6407
161
165
  vastdb/session.py,sha256=toMR0BXwTaECdWDKnIZky1F3MA1SmelRBiqCrqQ3GCM,2067
162
- vastdb/table.py,sha256=PHtirFNL8j9PlXAgJp_rcLU37FgnWj0dPaFPFYWm28o,31186
166
+ vastdb/table.py,sha256=QoER7nHrJbvVh9PnRXz7Fae6UOksSRhKYlY4_7joT4I,31312
163
167
  vastdb/transaction.py,sha256=NlVkEowJ_pmtffjWBBDaKExYDKPekjSZyj_fK_bZPJE,3026
164
168
  vastdb/util.py,sha256=8CUnVRsJukC3uNHNoB5D0qPf0FxS8OSdVB84nNoLJKc,6290
165
169
  vastdb/bench/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -204,8 +208,8 @@ vastdb/tests/util.py,sha256=dpRJYbboDnlqL4qIdvScpp8--5fxRUBIcIYitrfcj9o,555
204
208
  vastdb/vast_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
209
  vastdb/vast_tests/test_ha.py,sha256=744P4G6VJ09RIkHhMQL4wlipCBJWQVMhyvUrSc4k1HQ,975
206
210
  vastdb/vast_tests/test_scale.py,sha256=5jGwOdZH6Tv5tPdZYPWoqcxOceI2jA5i2D1zNKZHER4,3958
207
- vastdb-1.3.5.dist-info/LICENSE,sha256=obffan7LYrq7hLHNrY7vHcn2pKUTBUYXMKu-VOAvDxU,11333
208
- vastdb-1.3.5.dist-info/METADATA,sha256=Vsfa6X_4snlbZNOVzNZ5x_HKEDzZozAn1Q3i9rCpRv4,1340
209
- vastdb-1.3.5.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
210
- vastdb-1.3.5.dist-info/top_level.txt,sha256=Vsj2MKtlhPg0J4so64slQtnwjhgoPmJgcG-6YcVAwVc,20
211
- vastdb-1.3.5.dist-info/RECORD,,
211
+ vastdb-1.3.7.dist-info/LICENSE,sha256=obffan7LYrq7hLHNrY7vHcn2pKUTBUYXMKu-VOAvDxU,11333
212
+ vastdb-1.3.7.dist-info/METADATA,sha256=s7mM3N4mJu1dPHwGd1N4zKFb9RgRGUbv6hG7-mBxjwQ,1340
213
+ vastdb-1.3.7.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
214
+ vastdb-1.3.7.dist-info/top_level.txt,sha256=Vsj2MKtlhPg0J4so64slQtnwjhgoPmJgcG-6YcVAwVc,20
215
+ vastdb-1.3.7.dist-info/RECORD,,
File without changes