File: rdb_mariadb_port.h

package info (click to toggle)
mariadb-10.5 1%3A10.5.23-0%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 712,240 kB
  • sloc: ansic: 2,158,658; cpp: 1,843,101; asm: 297,745; perl: 59,967; sh: 53,869; pascal: 38,348; java: 33,919; yacc: 19,639; python: 11,119; xml: 10,126; sql: 10,027; ruby: 8,544; makefile: 6,343; cs: 2,866; lex: 1,205; javascript: 1,037; objc: 80; tcl: 73; awk: 46; php: 22; sed: 16
file content (55 lines) | stat: -rw-r--r-- 1,657 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
  A temporary header to resolve WebScaleSQL vs MariaDB differences 
  when porting MyRocks to MariaDB.
*/
#ifndef RDB_MARIADB_PORT_H
#define RDB_MARIADB_PORT_H

#include "my_global.h"                   /* ulonglong */
#include "atomic_stat.h"

// These are for split_into_vector:
#include <vector>
#include <string>

/* The following is copied from storage/innobase/univ.i: */
#ifndef MY_ATTRIBUTE
#if defined(__GNUC__)
#  define MY_ATTRIBUTE(A) __attribute__(A)
#else
#  define MY_ATTRIBUTE(A)
#endif
#endif

/* Struct used for IO performance counters, shared among multiple threads */
struct my_io_perf_atomic_struct {
  atomic_stat<ulonglong> bytes;
  atomic_stat<ulonglong> requests;
  atomic_stat<ulonglong> svc_time; /*!< time to do read or write operation */
  atomic_stat<ulonglong> svc_time_max;
  atomic_stat<ulonglong> wait_time; /*!< total time in the request array */
  atomic_stat<ulonglong> wait_time_max;
  atomic_stat<ulonglong> slow_ios; /*!< requests that take too long */
};
typedef struct my_io_perf_atomic_struct my_io_perf_atomic_t;

////////////////////////////////////////////////////////////////////////////

/*
  Temporary stand-in for 
  fae59683dc116be2cc78b0b30d61c84659c33bd3
  Print stack traces before committing suicide

*/
#define abort_with_stack_traces()  { abort(); }

////////////////////////////////////////////////////////////////////////////
typedef struct my_io_perf_struct my_io_perf_t;

std::vector<std::string> split_into_vector(const std::string& input,
                                           char delimiter);

void
mysql_bin_log_commit_pos(THD *thd, ulonglong *out_pos, const char **out_file);

#endif