26#ifndef TABLES_TABLETRACE_H
27#define TABLES_TABLETRACE_H
31#include <casacore/casa/aips.h>
32#include <casacore/casa/Utilities/Regex.h>
123 static void trace (
int tabid,
const String& columnName,
char oper);
125 static void trace (
int tabid,
const String& columnName,
char oper,
128 static void trace (
int tabid,
const String& columnName,
char oper,
131 static void trace (
int tabid,
const String& columnName,
char oper,
134 static void trace (
int tabid,
const String& columnName,
char oper,
137 static void trace (
int tabid,
const String& columnName,
char oper,
140 static void trace (
int tabid,
const String& columnName,
char oper,
145 static void trace (
int tabid,
const String& columnName,
char oper,
150 static void trace (
int tabid,
const String& columnName,
char oper,
String: the storage and methods of handling collections of characters.
static void trace(int tabid, const String &columnName, char oper, const RefRows &rownrs)
Write a trace message for ranges of scalar rows.
static void trace(int tabid, const String &columnName, char oper, const IPosition &shape)
Write a trace message for an array column.
static void trace(int tabid, const String &columnName, char oper, Int64 row)
Write a trace message for a scalar row.
static std::vector< String > theirTables
static std::mutex theirMutex
static std::ostream * theirStream
static void traceClose(const String &tableName)
If needed, trace closing a table.
static int traceColumn(const ColumnDesc &)
Does the given column have to be traced for read and/or write? bit 0 set means read tracing; bit 1 wr...
static int findTable(const String &name)
Find the table name in the vector.
static std::vector< Regex > theirColumns
static void initTracing()
Initialize the tracing mechanism which should be done only once.
static void writeSlice(const IPosition &blc, const IPosition &trc, const IPosition &inc)
Write the blc, trc, and inc of an array slice.
static int traceTable(const String &tableName, char oper)
If needed, write a trace message for table open or create.
static void trace(int tabid, const String &columnName, char oper)
If needed, write a trace message Write a trace message for a scalar column.
static std::once_flag theirCallOnceFlag
static void traceRefTable(const String &parentName, char oper)
If needed, write a trace message for reftable open, create, or close.
static void trace(int tabid, const String &columnName, char oper, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
Write a trace message for an array column slice.
static void trace(int tabid, const String &columnName, char oper, const RefRows &rownrs, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
Write a trace message for ranges of array rows slice.
static void writeTraceFirst(int tabid, const String &name, char oper)
Write the first part of the trace message.
static void traceFile(int tabid, const String &oper)
If needed, trace an operation on a table.
static void trace(int tabid, const String &columnName, char oper, const RefRows &rownrs, const IPosition &shape)
Write a trace message for ranges of array rows.
static void trace(int tabid, const String &columnName, char oper, Int64 row, const IPosition &shape)
Write a trace message for an array row.
static void trace(int tabid, const String &columnName, char oper, Int64 row, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
Write a trace message for an array row slice.
static std::ofstream theirTraceFile
static void writeRefRows(const RefRows &rownrs)
Write the RefRows as vector of rows or slices.
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)