28 #ifndef TABLES_TABLETRACE_H
29 #define TABLES_TABLETRACE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/casa/Utilities/Regex.h>
125 static void trace (
int tabid,
const String& columnName,
char oper);
127 static void trace (
int tabid,
const String& columnName,
char oper,
130 static void trace (
int tabid,
const String& columnName,
char oper,
133 static void trace (
int tabid,
const String& columnName,
char oper,
136 static void trace (
int tabid,
const String& columnName,
char oper,
139 static void trace (
int tabid,
const String& columnName,
char oper,
142 static void trace (
int tabid,
const String& columnName,
char oper,
147 static void trace (
int tabid,
const String& columnName,
char oper,
152 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)