MCPcopy
hub / github.com/tanelpoder/0xtools / _create_indexes

Method _create_indexes

xtop/core/materializer.py:156–176  ·  view source on GitHub ↗

Create indexes on materialized tables

(self, table_name: str, source: str)

Source from the content-addressed store, hash-verified

154 self._create_indexes(table_name, source)
155
156 def _create_indexes(self, table_name: str, source: str):
157 """Create indexes on materialized tables"""
158 if source == 'samples':
159 # Index on join columns and commonly filtered columns
160 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_tid ON {table_name}(tid)")
161 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_timestamp ON {table_name}(timestamp)")
162 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_sysc_seq ON {table_name}(sysc_seq_num)")
163 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_iorq_seq ON {table_name}(iorq_seq_num)")
164 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_kstack ON {table_name}(kstack_hash)")
165 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_ustack ON {table_name}(ustack_hash)")
166 elif source == 'syscend':
167 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_tid ON {table_name}(tid, sysc_seq_num)")
168 elif source == 'iorqend':
169 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_tid ON {table_name}(insert_tid, iorq_seq_num)")
170 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_dev ON {table_name}(dev_maj, dev_min)")
171 elif source == 'kstacks':
172 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_hash ON {table_name}(KSTACK_HASH)")
173 elif source == 'ustacks':
174 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_hash ON {table_name}(USTACK_HASH)")
175 elif source == 'partitions':
176 self.conn.execute(f"CREATE INDEX IF NOT EXISTS idx_{table_name}_dev ON {table_name}(dev_maj, dev_min)")
177
178 def drop_all(self):
179 """Drop all materialized tables"""

Callers 1

_materialize_sourceMethod · 0.95

Calls 1

executeMethod · 0.45

Tested by

no test coverage detected