Giter Site home page Giter Site logo

badoo / pinba2 Goto Github PK

View Code? Open in Web Editor NEW
131.0 11.0 18.0 1.45 MB

Pinba2: new implementation of https://github.com/tony2001/pinba_engine

License: BSD 3-Clause "New" or "Revised" License

Makefile 0.51% Shell 4.84% M4 2.07% C++ 72.01% C 17.92% PHP 2.35% Dockerfile 0.31%
pinba mysql mariadb stats timeseries

pinba2's People

Contributors

alexanderilyin avatar anton-povarov avatar caseycs avatar leonstafford avatar mkevac avatar sannis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pinba2's Issues

MySQL died after PHP send data to it.

Here is what I got in logs

2018-11-29  1:21:57 139656613899008 [Warning] IP address '172.18.0.1' could not be resolved: Name or service not known
181129  1:23:23 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
Server version: 10.1.26-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=1
max_threads=153
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467133 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...

After it, MySQL could not start and docker container goes in crush loop:

+ '[' mysqld = mysqld ']'
+ ln -snf /usr/libexec/mysqld /usr/local/bin
+ rm -rf /etc/my.cnf.d/auth_gssapi.cnf
+ mysql_install_db --rpm
my_print_defaults: [ERROR] unknown option '--mysqld'
2018-11-29  1:23:25 140014962817344 [Note] /usr/libexec/mysqld (mysqld 10.1.26-MariaDB) starting as process 18 ...
2018-11-29  1:23:29 140588855441728 [Note] /usr/libexec/mysqld (mysqld 10.1.26-MariaDB) starting as process 49 ...
2018-11-29  1:23:32 140083679729984 [Note] /usr/libexec/mysqld (mysqld 10.1.26-MariaDB) starting as process 79 ...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h b02202262875 password 'new-password'
Alternatively you can run:
'/usr/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.
Please report any problems at http://mariadb.org/jira
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
+ chmod -R 777 /var/lib/mysql
+ pid=107
+ for i in '{10..0}'
+ mysqld --skip-networking -umysql
+ mysql
+ echo 'SELECT 1'
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
2018-11-29  1:23:35 139764970879296 [Note] mysqld (mysqld 10.1.26-MariaDB) starting as process 107 ...
2018-11-29 01:23:35 107 [Note] PINBA: engine initialized on 0.0.0.0:3002
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: The InnoDB memory heap is disabled
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Compressed tables use zlib 1.2.8
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Using Linux native AIO
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Using SSE crc32 instructions
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Completed initialization of buffer pool
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Highest supported file format is Barracuda.
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: 128 rollback segment(s) are active.
2018-11-29  1:23:35 139764970879296 [Note] InnoDB: Waiting for purge to start
2018-11-29  1:23:35 139764970879296 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.36-82.1 started; log sequence number 1616869
2018-11-29  1:23:35 139763868759808 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-11-29  1:23:35 139764970879296 [Note] Plugin 'FEEDBACK' is disabled.
2018-11-29  1:23:35 139764970879296 [Note] mysqld: ready for connections.
Version: '10.1.26-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 0  MariaDB Server
+ for i in '{10..0}'
+ mysql
+ echo 'SELECT 1'
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ mysql
+ echo 'SELECT 1'
MySQL init process in progress...
+ echo 'MySQL init process in progress...'
+ sleep 1
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
MySQL init process in progress...
+ echo 'MySQL init process in progress...'
+ sleep 1
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
MySQL init process in progress...
+ echo 'MySQL init process in progress...'
+ sleep 1
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
+ sleep 1
MySQL init process in progress...
+ for i in '{10..0}'
+ echo 'SELECT 1'
+ mysql
+ echo 'MySQL init process in progress...'
MySQL init process in progress...
+ sleep 1
+ '[' 0 = 0 ']'
+ echo 'MySQL init process failed.'
MySQL init process failed.
+ exit 1

Following SQL was applied to MySQL. It was generated using https://github.com/badoo/pinba2/blob/master/scripts/convert_mysqldump.php

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '***';
update mysql.user set password=PASSWORD("***") where User='root';

CREATE USER IF NOT EXISTS 'manager'@'%' IDENTIFIED BY '***';
GRANT ALL PRIVILEGES ON * . * TO 'manager'@'%';

CREATE USER IF NOT EXISTS 'pinboard'@'%' IDENTIFIED BY '***';
GRANT ALL PRIVILEGES ON * . * TO 'pinboard'@'%';
FLUSH PRIVILEGES;

CREATE DATABASE IF NOT EXISTS pinba DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci;

use pinba;

DROP TABLE IF EXISTS report_by_script_name;

CREATE TABLE `report_by_script_name` (
  `script_name` varchar(128) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~script/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_server_name;

CREATE TABLE `report_by_server_name` (
  `server_name` varchar(64) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~server/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname;

CREATE TABLE `report_by_hostname` (
  `hostname` varchar(32) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_server_and_script;

CREATE TABLE `report_by_server_and_script` (
  `server_name` varchar(64) NOT NULL,
  `script_name` varchar(128) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~server,~script/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_and_script;

CREATE TABLE `report_by_hostname_and_script` (
  `hostname` varchar(32) NOT NULL,
  `script_name` varchar(128) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~script/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_and_server;

CREATE TABLE `report_by_hostname_and_server` (
  `hostname` varchar(32) NOT NULL,
  `server_name` varchar(64) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~server/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_server_and_script;

CREATE TABLE `report_by_hostname_server_and_script` (
  `hostname` varchar(32) NOT NULL,
  `server_name` varchar(64) NOT NULL,
  `script_name` varchar(128) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~server,~script/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_status;

CREATE TABLE `report_by_status` (
  `status` int(11) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~status/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_script_and_status;

CREATE TABLE `report_by_script_and_status` (
  `script_name` varchar(128) NOT NULL,
  `status` int(11) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~script,~status/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_server_and_status;

CREATE TABLE `report_by_server_and_status` (
  `server_name` varchar(64) NOT NULL,
  `status` int(11) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~server,~status/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_and_status;

CREATE TABLE `report_by_hostname_and_status` (
  `hostname` varchar(32) NOT NULL,
  `status` int(11) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~status/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_script_and_status;

CREATE TABLE `report_by_hostname_script_and_status` (
  `hostname` varchar(32) NOT NULL,
  `script_name` varchar(128) NOT NULL,
  `status` int(11) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~script,~status/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_schema;

CREATE TABLE `report_by_schema` (
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~schema/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_script_and_schema;

CREATE TABLE `report_by_script_and_schema` (
  `script_name` varchar(128) NOT NULL,
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~script,~schema/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_server_and_schema;

CREATE TABLE `report_by_server_and_schema` (
  `server_name` varchar(64) NOT NULL,
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~server,~schema/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_and_schema;

CREATE TABLE `report_by_hostname_and_schema` (
  `hostname` varchar(32) NOT NULL,
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~schema/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_script_and_schema;

CREATE TABLE `report_by_hostname_script_and_schema` (
  `hostname` varchar(32) NOT NULL,
  `script_name` varchar(128) NOT NULL,
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~script,~schema/hv=0:60000:32768,p50/no_filters';

DROP TABLE IF EXISTS report_by_hostname_status_and_schema;

CREATE TABLE `report_by_hostname_status_and_schema` (
  `hostname` varchar(32) NOT NULL,
  `status` int(11) NOT NULL,
  `schema` varchar(16) NOT NULL,
  `req_count` int(10) unsigned NOT NULL,
  `req_per_sec` float NOT NULL,
  `req_time_total` float NOT NULL,
  `req_time_per_sec` float NOT NULL,
  `ru_utime_total` float NOT NULL,
  `ru_utime_per_sec` float NOT NULL,
  `ru_stime_total` float NOT NULL,
  `ru_stime_per_sec` float NOT NULL,
  `traffic_total` bigint(20) unsigned NOT NULL,
  `traffic_per_sec` float NOT NULL,
  `memory_footprint` bigint(20) NOT NULL,
  `p50` float NOT NULL
) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='v2/request/default_history_time/~host,~status,~schema/hv=0:60000:32768,p50/no_filters';

Tables like request, tag, timer, timertag, info and status were not converted by script and were not created in new MySQL.

Here are details about used PHP version

PHP 7.2.11 (cli) (built: Oct 15 2018 18:55:39) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.11, Copyright (c) 1999-2018, by Zend Technologies

and pinba extention:

Extension [ <persistent> extension #49 pinba version 1.1.2-dev ] {

  - INI {
    Entry [ pinba.server <ALL> ]
      Current = '127.0.0.1:3002'
    }
    Entry [ pinba.enabled <ALL> ]
      Current = '1'
    }
    Entry [ pinba.auto_flush <ALL> ]
      Current = '1'
    }
  }

  - Constants [5] {
    Constant [ integer PINBA_FLUSH_ONLY_STOPPED_TIMERS ] { 1 }
    Constant [ integer PINBA_FLUSH_RESET_DATA ] { 2 }
    Constant [ integer PINBA_ONLY_STOPPED_TIMERS ] { 1 }
    Constant [ integer PINBA_ONLY_RUNNING_TIMERS ] { 4 }
    Constant [ integer PINBA_AUTO_FLUSH ] { 8 }
  }

  - Functions {
    Function [ <internal:pinba> function pinba_timer_start ] {

      - Parameters [3] {
        Parameter #0 [ <required> $tags ]
        Parameter #1 [ <optional> $data ]
        Parameter #2 [ <optional> $hit_count ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_add ] {

      - Parameters [3] {
        Parameter #0 [ <required> $tags ]
        Parameter #1 [ <required> $value ]
        Parameter #2 [ <optional> $data ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_stop ] {

      - Parameters [1] {
        Parameter #0 [ <required> $timer ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_delete ] {

      - Parameters [1] {
        Parameter #0 [ <required> $timer ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_data_merge ] {

      - Parameters [2] {
        Parameter #0 [ <required> $timer ]
        Parameter #1 [ <required> $data ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_data_replace ] {

      - Parameters [2] {
        Parameter #0 [ <required> $timer ]
        Parameter #1 [ <required> $data ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_tags_merge ] {

      - Parameters [2] {
        Parameter #0 [ <required> $timer ]
        Parameter #1 [ <required> $tags ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_tags_replace ] {

      - Parameters [2] {
        Parameter #0 [ <required> $timer ]
        Parameter #1 [ <required> $tags ]
      }
    }
    Function [ <internal:pinba> function pinba_flush ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $custom_script_name ]
        Parameter #1 [ <optional> $flags ]
      }
    }
    Function [ <internal:pinba> function pinba_reset ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:pinba> function pinba_get_info ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:pinba> function pinba_get_data ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $flags ]
      }
    }
    Function [ <internal:pinba> function pinba_timer_get_info ] {

      - Parameters [1] {
        Parameter #0 [ <required> $timer ]
      }
    }
    Function [ <internal:pinba> function pinba_timers_stop ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:pinba> function pinba_timers_get ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:pinba> function pinba_script_name_set ] {

      - Parameters [1] {
        Parameter #0 [ <required> $custom_script_name ]
      }
    }
    Function [ <internal:pinba> function pinba_hostname_set ] {

      - Parameters [1] {
        Parameter #0 [ <required> $custom_hostname ]
      }
    }
    Function [ <internal:pinba> function pinba_server_name_set ] {

      - Parameters [1] {
        Parameter #0 [ <required> $custom_server_name ]
      }
    }
    Function [ <internal:pinba> function pinba_schema_set ] {

      - Parameters [1] {
        Parameter #0 [ <required> $custom_schema ]
      }
    }
    Function [ <internal:pinba> function pinba_request_time_set ] {

      - Parameters [1] {
        Parameter #0 [ <required> $request_time ]
      }
    }
    Function [ <internal:pinba> function pinba_tag_set ] {

      - Parameters [2] {
        Parameter #0 [ <required> $tag ]
        Parameter #1 [ <required> $value ]
      }
    }
    Function [ <internal:pinba> function pinba_tag_get ] {

      - Parameters [1] {
        Parameter #0 [ <required> $tag ]
      }
    }
    Function [ <internal:pinba> function pinba_tag_delete ] {

      - Parameters [1] {
        Parameter #0 [ <required> $tag ]
      }
    }
    Function [ <internal:pinba> function pinba_tags_get ] {

      - Parameters [0] {
      }
    }
  }

  - Classes [1] {
    Class [ <internal:pinba> class PinbaClient ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [0] {
      }

      - Properties [0] {
      }

      - Methods [17] {
        Method [ <internal:pinba, ctor> public method __construct ] {

          - Parameters [1] {
            Parameter #0 [ <required> $servers ]
          }
        }

        Method [ <internal:pinba> public method setHostname ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setScriptname ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setServername ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setRequestCount ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setDocumentSize ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setMemoryPeak ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setMemoryFootprint ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setRusage ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setRequestTime ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setStatus ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setSchema ] {

          - Parameters [1] {
            Parameter #0 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setTag ] {

          - Parameters [2] {
            Parameter #0 [ <required> $tag ]
            Parameter #1 [ <required> $value ]
          }
        }

        Method [ <internal:pinba> public method setTimer ] {

          - Parameters [4] {
            Parameter #0 [ <required> $tags ]
            Parameter #1 [ <required> $value ]
            Parameter #2 [ <optional> $rusage ]
            Parameter #3 [ <optional> $hit_count ]
          }
        }

        Method [ <internal:pinba> public method addTimer ] {

          - Parameters [4] {
            Parameter #0 [ <required> $tags ]
            Parameter #1 [ <required> $value ]
            Parameter #2 [ <optional> $rusage ]
            Parameter #3 [ <optional> $hit_count ]
          }
        }

        Method [ <internal:pinba> public method send ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $flags ]
          }
        }

        Method [ <internal:pinba> public method getData ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $flags ]
          }
        }
      }
    }
  }
}

MySQL crushed after first fpm request was processed. Please send help.

Idea: improve select-s performance with lockless word_id -> word translations

Currently to translate word_id -> word_str (done for each key in each selected row, potentially millions of times per select) - we need to read lock global dictionary shard.

This incurs significant overhead just for locks themselves.
An in cases where contention might be high (when per-repacker caching is inefficient, e.g. nginx urls) - might also slow down new packets processing.

The lock is only needed, because we use std::deque to find a word by offset, and it might get inserted into while we're reading (changing it's structure).

The proposed idea is to rework dictionary shard to use just a contiguous mmap()-ed memory region, enabling fully-lockless read-at-offset path (as the mmap()-ed region pointer never changes).

The word_t size is less than modern x86 CPU's cache line size, but due to the strong x86 cache-coherence model - this might only incur a performance penalty, but not compromise correctness.

As far as i understand it, anyway :)

Проблема при компиляции pinba2

Здравствуйте.
Подскажите в чем может быть проблема. Есть debian 8.11, пытаюсь скомпилировать pinba2 по инструкции, но на этапе "make" получаю следующие офибки:

In file included from globals.cpp:15:0:
../include/pinba/dictionary.h:131:72: error: expected ‘,’ before ‘)’ token
static_assert(std::is_nothrow_move_constructible<nameword_t>::value);
^
../include/pinba/dictionary.h:131:72: error: expected string-literal before ‘)’ token
../include/pinba/dictionary.h: In member function ‘const nameword_dictionary_t::nameword_t* nameword_dictionary_t::insert_with_external_locking(meow::str_ref)’:
../include/pinba/dictionary.h:219:2: error: could not convert ‘{word_id, pinba::hash_number(((uint32_t)word_id)), word_hash}’ from ‘’ to ‘nameword_dictionary_t::nameword_t’
};
^
globals.cpp: At global scope:
globals.cpp:207:90: error: expected ‘,’ or ‘;’ before ‘PINBA_VCS_FULL_HASH’
volatile char const pinba_version_info[] = "pinba_version_info " PINBA_VERSION " git: " PINBA_VCS_FULL_HASH " modified: " PINBA_VCS_WC_MODIFIED;
^
Makefile:580: ошибка выполнения рецепта для цели «globals.o»
make[2]: *** [globals.o] Ошибка 1
make[2]: выход из каталога «/home/vladimir/pinba/pinba2-master/src»
Makefile:483: ошибка выполнения рецепта для цели «all-recursive»
make[1]: *** [all-recursive] Ошибка 1
make[1]: выход из каталога «/home/vladimir/pinba/pinba2-master»
Makefile:372: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2

Подскажите, что и где подправить. Спасибо.

Improve manual build instructions for centos7 (maybe add pre-built docker images)

Here's the HOWTO from Alexey Medov building on centos7 + mariadb 10.2
A nice starting point.

Добавляем репозиторий нужной версии MariaDB по инструкции по ссылке
https://downloads.mariadb.org/mariadb/repositories/#mirror=mephi&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.2

На тот случай если ссылка не работает, нужно создать файл /etc/yum.repos.d/MariaDB.repo и прописать в него следующий текст:

MariaDB 10.2 CentOS repository list - created 2019-03-06 07:50 UTC

http://downloads.mariadb.org/mariadb/repositories/

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Потом выполняем:
sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
yum clean metadata
yum install MariaDB-backup MariaDB-client MariaDB-common MariaDB-compat MariaDB-server MariaDB-shared
mysql --version

==========================================================================

yum install autoconf automake cmake make git libtool ncurses-devel openssl-devel
yum install centos-release-scl
yum install devtoolset-6-gcc*
scl enable devtoolset-6 bash
which gcc
gcc --version
yum install git -y
mkdir /_install
mkdir /build_folder
cd /build_folder/

git clone https://github.com/anton-povarov/meow.git
git clone https://github.com/badoo/pinba2.git
git clone https://github.com/nanomsg/nanomsg.git
wget https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0_rc1.tar.gz
tar -xzf boost_1_69_0_rc1.tar.gz
rm -rf boost_1_69_0_rc1.tar.gz

Качаем нужную версию исходников MariaDB с официального сайта https://downloads.mariadb.org/mariadb/10.2.22/
wget http://mirror.mephi.ru/mariadb//mariadb-10.2.22/source/mariadb-10.2.22.tar.gz
tar -xzf mariadb-10.2.22.tar.gz
rm -rf mariadb-10.2.22.tar.gz
cd mariadb-10.2.22
yum-builddep mariadb-server
yum install bison libxml2-devel libevent-devel rpm-build
scl enable devtoolset-6 bash ; rm -rf CMakeCache.txt ; make clean ; cmake -DRPM=centos7 . ; make -j 6

cd ../nanomsg
cmake -DNN_STATIC_LIB=ON -DNN_ENABLE_DOC=OFF -NN_MAX_SOCKETS=4096 -DCMAKE_C_FLAGS="-fPIC -DPIC" -DCMAKE_INSTALL_PREFIX=/_install/nanomsg -DCMAKE_INSTALL_LIBDIR=lib .
make ; make install

cd ../pinba2
./buildconf.sh
./configure --prefix=/_install/pinba2 --with-mysql=/build_folder/mariadb-10.2.22/ --with-nanomsg=/_install/nanomsg --with-meow=/build_folder/meow/ --with-boost=/build_folder/boost_1_69_0 --enable-libmysqlservices
systemctl start mariadb && systemctl enable mariadb && systemctl status mariadb
yum install mariadb-devel
mysql_secure_installation

Далее добавляем в файл /etc/my.cnf.d/server.conf в секцию [mysqld] строку:
plugin_maturity=unknown
service mysqld restart && service mariadb restart
cp mysql_engine/.libs/libpinba_engine2.so mysql_config --plugindir
semanage permissive -a mysqld_t
echo "install plugin PINBA soname 'libpinba_engine2.so';" | mysql -uroot -p
echo "create database pinba;" | mysql -uroot -p
cat scripts/default_reports.sql | mysql -uroot -p
cat scripts/default_tables/active.sql | mysql -uroot -p
cat scripts/default_tables/info.sql | mysql -uroot -p
cat scripts/default_tables/stats.sql | mysql -uroot -p

Docker Image does NOT build

@anton-povarov hey, I can' build docker image from master and getting following error:

g++ -DHAVE_CONFIG_H -I. -I..    -std=gnu++11 -fno-rtti  -pthread -Wall -Wextra -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D__STDC_FORMAT_MACROS -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -pthread -I/_install/nanomsg/include -I/_src/meow -I/usr/include -I/usr -I.. -I../include   -MT report_by_packet.o -MD -MP -MF $depbase.Tpo -c -o report_by_packet.o report_by_packet.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from ../include/pinba/histogram.h:8:0,
                 from report_snapshot.cpp:3:
../include/pinba/hdr_histogram.h: In instantiation of 'bool hdr_histogram___impl_t<CounterT>::increment(const config_t&, int64_t, hdr_histogram___impl_t<CounterT>::counter_t) [with CounterT = unsigned int; hdr_histogram___impl_t<CounterT>::config_t = hdr_histogram_conf_t; int64_t = long int; hdr_histogram___impl_t<CounterT>::counter_t = unsigned int]':
../include/pinba/histogram.h:150:56:   required from here
../include/pinba/hdr_histogram.h:259:27: error: throw will always call terminate() [-Werror=terminate]
      throw std::bad_alloc();
                           ^
In file included from ../include/pinba/histogram.h:8:0,
                 from report_by_packet.cpp:8:
../include/pinba/hdr_histogram.h: In instantiation of 'bool hdr_histogram___impl_t<CounterT>::increment(const config_t&, int64_t, hdr_histogram___impl_t<CounterT>::counter_t) [with CounterT = unsigned int; hdr_histogram___impl_t<CounterT>::config_t = hdr_histogram_conf_t; int64_t = long int; hdr_histogram___impl_t<CounterT>::counter_t = unsigned int]':
../include/pinba/histogram.h:150:56:   required from here
../include/pinba/hdr_histogram.h:259:27: error: throw will always call terminate() [-Werror=terminate]
      throw std::bad_alloc();
                           ^
depbase=`echo report_by_request.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..    -std=gnu++11 -fno-rtti  -pthread -Wall -Wextra -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D__STDC_FORMAT_MACROS -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -pthread -I/_install/nanomsg/include -I/_src/meow -I/usr/include -I/usr -I.. -I../include   -MT report_by_request.o -MD -MP -MF $depbase.Tpo -c -o report_by_request.o report_by_request.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo report_by_timer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..    -std=gnu++11 -fno-rtti  -pthread -Wall -Wextra -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D__STDC_FORMAT_MACROS -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -pthread -I/_install/nanomsg/include -I/_src/meow -I/usr/include -I/usr -I.. -I../include   -MT report_by_timer.o -MD -MP -MF $depbase.Tpo -c -o report_by_timer.o report_by_timer.cpp &&\
mv -f $depbase.Tpo $depbase.Po
cc1plus: all warnings being treated as errors
Makefile:608: recipe for target 'report_snapshot.o' failed
make[2]: *** [report_snapshot.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../include/pinba/histogram.h:8:0,
                 from report_by_request.cpp:11:
../include/pinba/hdr_histogram.h: In instantiation of 'bool hdr_histogram___impl_t<CounterT>::increment(const config_t&, int64_t, hdr_histogram___impl_t<CounterT>::counter_t) [with CounterT = unsigned int; hdr_histogram___impl_t<CounterT>::config_t = hdr_histogram_conf_t; int64_t = long int; hdr_histogram___impl_t<CounterT>::counter_t = unsigned int]':
../include/pinba/histogram.h:150:56:   required from here
../include/pinba/hdr_histogram.h:259:27: error: throw will always call terminate() [-Werror=terminate]
      throw std::bad_alloc();
                           ^
cc1plus: all warnings being treated as errors
Makefile:608: recipe for target 'report_by_packet.o' failed
make[2]: *** [report_by_packet.o] Error 1
In file included from ../include/pinba/histogram.h:8:0,
                 from report_by_timer.cpp:17:
../include/pinba/hdr_histogram.h: In instantiation of 'bool hdr_histogram___impl_t<CounterT>::increment(const config_t&, int64_t, hdr_histogram___impl_t<CounterT>::counter_t) [with CounterT = unsigned int; hdr_histogram___impl_t<CounterT>::config_t = hdr_histogram_conf_t; int64_t = long int; hdr_histogram___impl_t<CounterT>::counter_t = unsigned int]':
../include/pinba/histogram.h:150:56:   required from here
../include/pinba/hdr_histogram.h:259:27: error: throw will always call terminate() [-Werror=terminate]
      throw std::bad_alloc();
                           ^
cc1plus: all warnings being treated as errors
make[2]: *** [report_by_timer.o] Error 1
Makefile:608: recipe for target 'report_by_timer.o' failed
cc1plus: all warnings being treated as errors
Makefile:608: recipe for target 'report_by_request.o' failed
make[2]: *** [report_by_request.o] Error 1
make[2]: Leaving directory '/_src/pinba2/src'
Makefile:493: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/_src/pinba2'
make: *** [all] Error 2
Makefile:383: recipe for target 'all' failed
The command '/bin/sh -c /_src/pinba2/docker/build-from-source.sh' returned a non-zero code: 2

Full log here: Log at 2018-10-08 14-12-12.txt

P. S.

Do you have ready-to use docker image?

Docker-compose issues

Hi!
I'm building pinba2 in docker env (git clone of master -> docker-compose build -> docker-compose up)

I have no issues during build phase, but "up" stage failing: mysql daemon cannot start:
pinba2-fedora-25 | ERROR 1126 (HY000) at line 1: Can't open shared library '/usr/lib64/mysql/plugin/libpinba_engine2.so' (errno: 13, undefined symbol: gai_cancel)
pinba2-fedora-25 exited with code 1

Mysql/Mariadb version seems to be correct:
pinba2-fedora-25 | Version: '10.1.26-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 0 MariaDB Server

Have you any workardounds for this issue?
Thanks!

Why Latin1 for report tables?

Is it ok to use eg. utf8 charset when defining the reports tables? It would seem to make sense, given the script/hostname data present in them

Move to c++14

Just as a minimal requirement.

And fix a few things (more to be added)

  • collector move lambda capture when creating reader threads (after ipv6 support is merged)

Error when compiling pinba2 with maridb 10.5.10 (Debian buster)

I have error when compiling pinba2 with maridb 10.5.10. (Debian buster)

mariadb

cmake -Wno-dev -DWITHOUT_ROCKSDB=1 -DWITHOUT_MROONGA=1 -DWITHOUT_TOKUDB=1 \ 
-DPLUGIN_AUTH_GSSAPI_CLIENT=OFF -DCMAKE_SKIP_BUILD_RPATH:BOOL=YES \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_WSREP=OFF -DWITH_ROCKSDB_LZ4=OFF \
-DWITH_INNODB_SNAPPY=OFF -DWITH_ROCKSDB_snappy=OFF -DPLUGIN_MROONGA=NO \
-DWITHOUT_MROONGA=1 -DPLUGIN_OQGRAPH=NO -DWITHOUT_OQGRAPH=1 -DPLUGIN_ROCKSDB=NO \
-DWITHOUT_ROCKSDB=1 -DPLUGIN_SPHINX=NO -DWITHOUT_SPHINX=1 -DPLUGIN_SPIDER=NO \
-DWITHOUT_SPIDER=1 -DPLUGIN_TOKUDB=NO -DWITHOUT_TOKUDB=1  --enable-debug . && \ 
make -j4 

pinba

cd pinba2 && \
 ./configure \ 
--prefix=/_install/pinba2 \
--with-mysql=/var/src/pinba/mariadb \
--with-boost=/var/src/pinba/boost/ \
--with-meow=/var/src/pinba/meow \
--with-nanomsg=/_install/nanomsg \
--with-lz4=/_install/lz4 \
--enable-libmysqlservices && \
make -j4

Error

Making all in mysql_engine
make[2]: Entering directory '/var/src/pinba/pinba2/mysql_engine'
depbase=`echo view_conf.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --preserve-dup-deps  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..    -std=c++14 -fno-rtti  -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/_install/nanomsg/include -I/var/src/pinba/meow -I/var/src/pinba/boost//include -I/var/src/pinba/boost/ -I/_install/lz4/include -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER=1 -DPINBA_USE_MYSQL_SOURCE -I/var/src/pinba/mariadb -I/var/src/pinba/mariadb/sql -I/var/src/pinba/mariadb/regex -I/var/src/pinba/mariadb/include -I/var/src/pinba/mariadb/libbinlogevents/export -I/var/src/pinba/mariadb/libbinlogevents/include -DPINBA_ENGINE_DEBUG_OFF -I../include   -MT view_conf.lo -MD -MP -MF $depbase.Tpo -c -o view_conf.lo view_conf.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -std=c++14 -fno-rtti -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/_install/nanomsg/include -I/var/src/pinba/meow -I/var/src/pinba/boost//include -I/var/src/pinba/boost/ -I/_install/lz4/include -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER=1 -DPINBA_USE_MYSQL_SOURCE -I/var/src/pinba/mariadb -I/var/src/pinba/mariadb/sql -I/var/src/pinba/mariadb/regex -I/var/src/pinba/mariadb/include -I/var/src/pinba/mariadb/libbinlogevents/export -I/var/src/pinba/mariadb/libbinlogevents/include -DPINBA_ENGINE_DEBUG_OFF -I../include -MT view_conf.lo -MD -MP -MF .deps/view_conf.Tpo -c view_conf.cpp  -fPIC -DPIC -o .libs/view_conf.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -std=c++14 -fno-rtti -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/_install/nanomsg/include -I/var/src/pinba/meow -I/var/src/pinba/boost//include -I/var/src/pinba/boost/ -I/_install/lz4/include -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER=1 -DPINBA_USE_MYSQL_SOURCE -I/var/src/pinba/mariadb -I/var/src/pinba/mariadb/sql -I/var/src/pinba/mariadb/regex -I/var/src/pinba/mariadb/include -I/var/src/pinba/mariadb/libbinlogevents/export -I/var/src/pinba/mariadb/libbinlogevents/include -DPINBA_ENGINE_DEBUG_OFF -I../include -MT view_conf.lo -MD -MP -MF .deps/view_conf.Tpo -c view_conf.cpp -o view_conf.o >/dev/null 2>&1
depbase=`echo plugin.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --preserve-dup-deps  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..    -std=c++14 -fno-rtti  -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/_install/nanomsg/include -I/var/src/pinba/meow -I/var/src/pinba/boost//include -I/var/src/pinba/boost/ -I/_install/lz4/include -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER=1 -DPINBA_USE_MYSQL_SOURCE -I/var/src/pinba/mariadb -I/var/src/pinba/mariadb/sql -I/var/src/pinba/mariadb/regex -I/var/src/pinba/mariadb/include -I/var/src/pinba/mariadb/libbinlogevents/export -I/var/src/pinba/mariadb/libbinlogevents/include -DPINBA_ENGINE_DEBUG_OFF -I../include   -MT plugin.lo -MD -MP -MF $depbase.Tpo -c -o plugin.lo plugin.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -std=c++14 -fno-rtti -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/_install/nanomsg/include -I/var/src/pinba/meow -I/var/src/pinba/boost//include -I/var/src/pinba/boost/ -I/_install/lz4/include -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER=1 -DPINBA_USE_MYSQL_SOURCE -I/var/src/pinba/mariadb -I/var/src/pinba/mariadb/sql -I/var/src/pinba/mariadb/regex -I/var/src/pinba/mariadb/include -I/var/src/pinba/mariadb/libbinlogevents/export -I/var/src/pinba/mariadb/libbinlogevents/include -DPINBA_ENGINE_DEBUG_OFF -I../include -MT plugin.lo -MD -MP -MF .deps/plugin.Tpo -c plugin.cpp  -fPIC -DPIC -o .libs/plugin.o
In file included from /var/src/pinba/mariadb/sql/handler.h:29,
                 from ../mysql_engine/handler.h:8,
                 from plugin.cpp:4:
/var/src/pinba/mariadb/sql/sql_basic_types.h:23:9: error: ‘ulonglong’ does not name a type
   23 | typedef ulonglong sql_mode_t;
      |         ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:24:9: error: ‘int64’ does not name a type; did you mean ‘rintf64’?
   24 | typedef int64 query_id_t;
      |         ^~~~~
      |         rintf64
/var/src/pinba/mariadb/sql/sql_basic_types.h:74:38: error: expected ‘)’ before ‘fuzzydate’
   74 |   explicit date_conv_mode_t(ulonglong fuzzydate)
      |                            ~         ^~~~~~~~~~
      |                                      )
/var/src/pinba/mariadb/sql/sql_basic_types.h:79:21: error: expected type-specifier before ‘ulonglong’
   79 |   explicit operator ulonglong() const
      |                     ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:89:3: error: ‘ulonglong’ does not name a type
   89 |   ulonglong operator~() const
      |   ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:99:36: error: ‘ulonglong’ does not name a type
   99 |   date_conv_mode_t operator&(const ulonglong other) const
      |                                    ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_conv_mode_t date_conv_mode_t::operator&(const date_conv_mode_t&) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:97:50: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(int)’
   97 |     return date_conv_mode_t(m_mode & other.m_mode);
      |                                                  ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_conv_mode_t date_conv_mode_t::operator&(int) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:101:43: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(int)’
  101 |     return date_conv_mode_t(m_mode & other);
      |                                           ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_conv_mode_t date_conv_mode_t::operator|(const date_conv_mode_t&) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:106:50: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(int)’
  106 |     return date_conv_mode_t(m_mode | other.m_mode);
      |                                                  ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: At global scope:
/var/src/pinba/mariadb/sql/sql_basic_types.h:150:39: error: expected ‘)’ before ‘mode’
  150 |   explicit time_round_mode_t(ulonglong mode)
      |                             ~         ^~~~~
      |                                       )
/var/src/pinba/mariadb/sql/sql_basic_types.h:158:21: error: expected type-specifier before ‘ulonglong’
  158 |   explicit operator ulonglong() const
      |                     ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:202:33: error: expected ‘)’ before ‘fuzzydate’
  202 |   explicit date_mode_t(ulonglong fuzzydate)
      |                       ~         ^~~~~~~~~~
      |                                 )
/var/src/pinba/mariadb/sql/sql_basic_types.h:207:21: error: expected type-specifier before ‘ulonglong’
  207 |   explicit operator ulonglong() const
      |                     ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:224:3: error: ‘ulonglong’ does not name a type
  224 |   ulonglong operator~() const
      |   ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:238:25: error: ‘ulonglong’ has not been declared
  238 |   date_mode_t operator&(ulonglong other) const
      |                         ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t::operator date_conv_mode_t() const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:217:29: error: ‘ulonglong’ was not declared in this scope
  217 |     return date_conv_mode_t(ulonglong(m_mode) & date_conv_mode_t::KNOWN_MODES);
      |                             ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t::operator time_round_mode_t() const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:221:30: error: ‘ulonglong’ was not declared in this scope
  221 |     return time_round_mode_t(ulonglong(m_mode) & time_round_mode_t::KNOWN_MODES);
      |                              ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t date_mode_t::operator&(const date_mode_t&) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:236:45: error: no matching function for call to ‘date_mode_t::date_mode_t(int)’
  236 |     return date_mode_t(m_mode & other.m_mode);
      |                                             ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘date_mode_t::date_mode_t()’
  181 | class date_mode_t
      |       ^~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(const date_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(date_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t date_mode_t::operator&(int) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:240:38: error: no matching function for call to ‘date_mode_t::date_mode_t(int)’
  240 |     return date_mode_t(m_mode & other);
      |                                      ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘date_mode_t::date_mode_t()’
  181 | class date_mode_t
      |       ^~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(const date_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(date_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t date_mode_t::operator|(const date_mode_t&) const’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:245:45: error: no matching function for call to ‘date_mode_t::date_mode_t(int)’
  245 |     return date_mode_t(m_mode | other.m_mode);
      |                                             ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘date_mode_t::date_mode_t()’
  181 | class date_mode_t
      |       ^~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(const date_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note: candidate: ‘constexpr date_mode_t::date_mode_t(date_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:181:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h: In member function ‘date_mode_t& date_mode_t::operator|=(const date_conv_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:263:30: error: ‘ulonglong’ was not declared in this scope
  263 |     m_mode= value_t(m_mode | ulonglong(other));
      |                              ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In function ‘date_mode_t operator|(const date_mode_t&, const date_conv_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:273:22: error: ‘ulonglong’ was not declared in this scope
  273 |   return date_mode_t(ulonglong(a) | ulonglong(b));
      |                      ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In function ‘date_mode_t operator|(const date_conv_mode_t&, const time_round_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:279:22: error: ‘ulonglong’ was not declared in this scope
  279 |   return date_mode_t(ulonglong(a) | ulonglong(b));
      |                      ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In function ‘date_mode_t operator|(const date_conv_mode_t&, const date_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:286:22: error: ‘ulonglong’ was not declared in this scope
  286 |   return date_mode_t(ulonglong(a) | ulonglong(b));
      |                      ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In function ‘date_conv_mode_t operator&(const date_mode_t&, const date_conv_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:294:27: error: ‘ulonglong’ was not declared in this scope
  294 |   return date_conv_mode_t(ulonglong(a) & ulonglong(b));
      |                           ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: In function ‘date_conv_mode_t operator&(const date_conv_mode_t&, const date_mode_t&)’:
/var/src/pinba/mariadb/sql/sql_basic_types.h:300:27: error: ‘ulonglong’ was not declared in this scope
  300 |   return date_conv_mode_t(ulonglong(a) & ulonglong(b));
      |                           ^~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h: At global scope:
/var/src/pinba/mariadb/sql/sql_basic_types.h:303:32: error: declaration of ‘operator&’ as non-function
  303 | static inline date_conv_mode_t operator&(sql_mode_t &a,
      |                                ^~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:303:42: error: ‘sql_mode_t’ was not declared in this scope
  303 | static inline date_conv_mode_t operator&(sql_mode_t &a,
      |                                          ^~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:303:54: error: ‘a’ was not declared in this scope
  303 | static inline date_conv_mode_t operator&(sql_mode_t &a,
      |                                                      ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:304:42: error: expected primary-expression before ‘const’
  304 |                                          const date_conv_mode_t &b)
      |                                          ^~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:311:59: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  311 |   TIME_CONV_NONE              (date_conv_mode_t::CONV_NONE),
      |                                                           ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:312:61: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  312 |   TIME_FUZZY_DATES            (date_conv_mode_t::FUZZY_DATES),
      |                                                             ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:313:59: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  313 |   TIME_TIME_ONLY              (date_conv_mode_t::TIME_ONLY),
      |                                                           ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:314:67: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  314 |   TIME_INTERVAL_hhmmssff      (date_conv_mode_t::INTERVAL_hhmmssff),
      |                                                                   ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:315:62: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  315 |   TIME_INTERVAL_DAY           (date_conv_mode_t::INTERVAL_DAY),
      |                                                              ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:316:65: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  316 |   TIME_NO_ZERO_IN_DATE        (date_conv_mode_t::NO_ZERO_IN_DATE),
      |                                                                 ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:317:62: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  317 |   TIME_NO_ZERO_DATE           (date_conv_mode_t::NO_ZERO_DATE),
      |                                                              ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:318:63: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(date_conv_mode_t::value_t)’
  318 |   TIME_INVALID_DATES          (date_conv_mode_t::INVALID_DATES);
      |                                                               ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘date_conv_mode_t::value_t’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:323:65: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(int)’
  323 |                                date_conv_mode_t::NO_ZERO_IN_DATE);
      |                                                                 ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:329:58: error: no matching function for call to ‘date_conv_mode_t::date_conv_mode_t(int)’
  329 |                                date_mode_t::INVALID_DATES);
      |                                                          ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘date_conv_mode_t::date_conv_mode_t()’
   34 | class date_conv_mode_t
      |       ^~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(const date_conv_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘const date_conv_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note: candidate: ‘constexpr date_conv_mode_t::date_conv_mode_t(date_conv_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:34:7: note:   no known conversion for argument 1 from ‘int’ to ‘date_conv_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:332:60: error: no matching function for call to ‘time_round_mode_t::time_round_mode_t(time_round_mode_t::value_t)’
  332 |   TIME_FRAC_NONE              (time_round_mode_t::FRAC_NONE),
      |                                                            ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘time_round_mode_t::time_round_mode_t()’
  127 | class time_round_mode_t
      |       ^~~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(const time_round_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘const time_round_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(time_round_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘time_round_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:333:64: error: no matching function for call to ‘time_round_mode_t::time_round_mode_t(time_round_mode_t::value_t)’
  333 |   TIME_FRAC_TRUNCATE          (time_round_mode_t::FRAC_TRUNCATE),
      |                                                                ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘time_round_mode_t::time_round_mode_t()’
  127 | class time_round_mode_t
      |       ^~~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(const time_round_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘const time_round_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(time_round_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘time_round_mode_t&&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:334:61: error: no matching function for call to ‘time_round_mode_t::time_round_mode_t(time_round_mode_t::value_t)’
  334 |   TIME_FRAC_ROUND             (time_round_mode_t::FRAC_ROUND);
      |                                                             ^
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘time_round_mode_t::time_round_mode_t()’
  127 | class time_round_mode_t
      |       ^~~~~~~~~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   candidate expects 0 arguments, 1 provided
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(const time_round_mode_t&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘const time_round_mode_t&’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note: candidate: ‘constexpr time_round_mode_t::time_round_mode_t(time_round_mode_t&&)’
/var/src/pinba/mariadb/sql/sql_basic_types.h:127:7: note:   no known conversion for argument 1 from ‘time_round_mode_t::value_t’ to ‘time_round_mode_t&&’
In file included from /var/src/pinba/mariadb/sql/mysqld.h:21,
                 from /var/src/pinba/mariadb/sql/handler.h:30,
                 from ../mysql_engine/handler.h:8,
                 from plugin.cpp:4:
/var/src/pinba/mariadb/sql/sql_mode.h:117:3: error: ‘sql_mode_t’ does not name a type
  117 |   sql_mode_t m_hard;
      |   ^~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:118:3: error: ‘sql_mode_t’ does not name a type
  118 |   sql_mode_t m_soft;
      |   ^~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:123:33: error: expected ‘)’ before ‘hard’
  123 |   Sql_mode_dependency(sql_mode_t hard, sql_mode_t soft)
      |                      ~          ^~~~~
      |                                 )
/var/src/pinba/mariadb/sql/sql_mode.h:126:3: error: ‘sql_mode_t’ does not name a type
  126 |   sql_mode_t hard() const { return m_hard; }
      |   ^~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:127:3: error: ‘sql_mode_t’ does not name a type
  127 |   sql_mode_t soft() const { return m_soft; }
      |   ^~~~~~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In constructor ‘Sql_mode_dependency::Sql_mode_dependency()’:
/var/src/pinba/mariadb/sql/sql_mode.h:121:5: error: class ‘Sql_mode_dependency’ does not have any field named ‘m_hard’
  121 |    :m_hard(0), m_soft(0)
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:121:16: error: class ‘Sql_mode_dependency’ does not have any field named ‘m_soft’
  121 |    :m_hard(0), m_soft(0)
      |                ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency::operator bool() const’:
/var/src/pinba/mariadb/sql/sql_mode.h:130:12: error: ‘m_hard’ was not declared in this scope
  130 |     return m_hard > 0 || m_soft > 0;
      |            ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:130:26: error: ‘m_soft’ was not declared in this scope
  130 |     return m_hard > 0 || m_soft > 0;
      |                          ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency Sql_mode_dependency::operator|(const Sql_mode_dependency&) const’:
/var/src/pinba/mariadb/sql/sql_mode.h:134:32: error: ‘m_hard’ was not declared in this scope
  134 |     return Sql_mode_dependency(m_hard | other.m_hard, m_soft | other.m_soft);
      |                                ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:134:47: error: ‘const class Sql_mode_dependency’ has no member named ‘m_hard’
  134 |     return Sql_mode_dependency(m_hard | other.m_hard, m_soft | other.m_soft);
      |                                               ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:134:55: error: ‘m_soft’ was not declared in this scope
  134 |     return Sql_mode_dependency(m_hard | other.m_hard, m_soft | other.m_soft);
      |                                                       ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:134:70: error: ‘const class Sql_mode_dependency’ has no member named ‘m_soft’
  134 |     return Sql_mode_dependency(m_hard | other.m_hard, m_soft | other.m_soft);
      |                                                                      ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency Sql_mode_dependency::operator&(const Sql_mode_dependency&) const’:
/var/src/pinba/mariadb/sql/sql_mode.h:138:32: error: ‘m_hard’ was not declared in this scope
  138 |     return Sql_mode_dependency(m_hard & other.m_hard, m_soft & other.m_soft);
      |                                ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:138:47: error: ‘const class Sql_mode_dependency’ has no member named ‘m_hard’
  138 |     return Sql_mode_dependency(m_hard & other.m_hard, m_soft & other.m_soft);
      |                                               ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:138:55: error: ‘m_soft’ was not declared in this scope
  138 |     return Sql_mode_dependency(m_hard & other.m_hard, m_soft & other.m_soft);
      |                                                       ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:138:70: error: ‘const class Sql_mode_dependency’ has no member named ‘m_soft’
  138 |     return Sql_mode_dependency(m_hard & other.m_hard, m_soft & other.m_soft);
      |                                                                      ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency& Sql_mode_dependency::operator|=(const Sql_mode_dependency&)’:
/var/src/pinba/mariadb/sql/sql_mode.h:142:5: error: ‘m_hard’ was not declared in this scope
  142 |     m_hard|= other.m_hard;
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:142:20: error: ‘const class Sql_mode_dependency’ has no member named ‘m_hard’
  142 |     m_hard|= other.m_hard;
      |                    ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:143:5: error: ‘m_soft’ was not declared in this scope
  143 |     m_soft|= other.m_soft;
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:143:20: error: ‘const class Sql_mode_dependency’ has no member named ‘m_soft’
  143 |     m_soft|= other.m_soft;
      |                    ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency& Sql_mode_dependency::operator&=(const Sql_mode_dependency&)’:
/var/src/pinba/mariadb/sql/sql_mode.h:148:5: error: ‘m_hard’ was not declared in this scope
  148 |     m_hard&= other.m_hard;
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:148:20: error: ‘const class Sql_mode_dependency’ has no member named ‘m_hard’
  148 |     m_hard&= other.m_hard;
      |                    ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:149:5: error: ‘m_soft’ was not declared in this scope
  149 |     m_soft&= other.m_soft;
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:149:20: error: ‘const class Sql_mode_dependency’ has no member named ‘m_soft’
  149 |     m_soft&= other.m_soft;
      |                    ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h: In member function ‘Sql_mode_dependency& Sql_mode_dependency::soft_to_hard()’:
/var/src/pinba/mariadb/sql/sql_mode.h:154:5: error: ‘m_hard’ was not declared in this scope
  154 |     m_hard|= m_soft;
      |     ^~~~~~
/var/src/pinba/mariadb/sql/sql_mode.h:154:14: error: ‘m_soft’ was not declared in this scope
  154 |     m_hard|= m_soft;
      |              ^~~~~~
In file included from /var/src/pinba/mariadb/sql/handler.h:30,
                 from ../mysql_engine/handler.h:8,
                 from plugin.cpp:4:
/var/src/pinba/mariadb/sql/mysqld.h: At global scope:
/var/src/pinba/mariadb/sql/mysqld.h:893:23: error: ‘query_id_t’ was not declared in this scope
  893 | extern Atomic_counter<query_id_t> global_query_id;
      |                       ^~~~~~~~~~
/var/src/pinba/mariadb/sql/mysqld.h:893:33: error: template argument 1 is invalid
  893 | extern Atomic_counter<query_id_t> global_query_id;
      |                                 ^
/var/src/pinba/mariadb/sql/mysqld.h:896:44: error: ‘query_id_t’ does not name a type
  896 | inline __attribute__((warn_unused_result)) query_id_t next_query_id()
      |                                            ^~~~~~~~~~
/var/src/pinba/mariadb/sql/mysqld.h:901:8: error: ‘query_id_t’ does not name a type
  901 | inline query_id_t get_query_id()
      |        ^~~~~~~~~~
In file included from /var/src/pinba/mariadb/sql/handler.h:33,
                 from ../mysql_engine/handler.h:8,
                 from plugin.cpp:4:
/var/src/pinba/mariadb/sql/sql_cache.h:564:3: error: ‘sql_mode_t’ does not name a type; did you mean ‘femode_t’?
  564 |   sql_mode_t sql_mode;
      |   ^~~~~~~~~~
      |   femode_t
plugin.cpp: In function ‘int pinba_engine_init(void*)’:
plugin.cpp:317:5: error: ‘struct handlerton’ has no member named ‘state’
  317 |  h->state = SHOW_OPTION_YES;
      |     ^~~~~
make[2]: *** [Makefile:481: plugin.lo] Error 1
make[2]: Leaving directory '/var/src/pinba/pinba2/mysql_engine'
make[1]: *** [Makefile:496: all-recursive] Error 1
make[1]: Leaving directory '/var/src/pinba/pinba2'
make: *** [Makefile:386: all] Error 2

How can i solve my problem?

Thanks for attention on the matter

Ошибки при сборке.

/bin/bash ../libtool --preserve-dup-deps --tag=CXX --mode=link g++ -std=c++14 -fno-rtti -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/usr/local/include -I/usr/src/meow/ -I/usr/include -I/usr -I../include -flto
-lrt -ldl -rdynamic -lanl -o pinba2 main.o libpinba2.a ../third_party/t1ha/libt1ha.a /usr/local/lib/libnanomsg.a
libtool: link: g++ -std=c++14 -fno-rtti -pthread -Wformat -Wformat-security -Werror -Wno-unused -Wno-unused-parameter -Wno-unused-variable -Wno-missing-field-initializers -Wno-parentheses -fno-omit-frame-pointer -fPIC -DPIC -D_GNU_SOURCE -D_POSIX_SOURCE -maes -msse4 -msse4.2 -O3 -ffast-math -ggdb3 -mtune=native -I../third_party -I../third_party/robin-map/include -pthread -I/usr/local/include -I/usr/src/meow/ -I/usr/include -I/usr -I../include -flto -rdynamic -o pinba2 main.o -lrt -ldl -lanl libpinba2.a ../third_party/t1ha/libt1ha.a /usr/local/lib/libnanomsg.a -pthread
libpinba2.a(os_symbols.o): In function (anonymous namespace)::aux::pinba_os_symbols_impl_t::~pinba_os_symbols_impl_t()': /usr/src/pinba2/src/os_symbols.cpp:27: undefined reference to dlclose'
libpinba2.a(os_symbols.o): In function pinba_os_symbols___init(pinba_globals_t*)': /usr/src/pinba2/src/os_symbols.cpp:17: undefined reference to dlopen'
/usr/src/pinba2/src/os_symbols.cpp:19: undefined reference to dlerror' libpinba2.a(os_symbols.o): In function (anonymous namespace)::aux::pinba_os_symbols_impl_t::resolve(meow::string_ref)':
/usr/src/pinba2/src/os_symbols.cpp:42: undefined reference to dlerror' /usr/src/pinba2/src/os_symbols.cpp:44: undefined reference to dlsym'
/usr/src/pinba2/src/os_symbols.cpp:45: undefined reference to dlerror' libpinba2.a(os_symbols.o): In function (anonymous namespace)::aux::pinba_os_symbols_impl_t::~pinba_os_symbols_impl_t()':
/usr/src/pinba2/src/os_symbols.cpp:27: undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
Makefile:543: recipe for target 'pinba2' failed
make[2]: *** [pinba2] Error 1
make[2]: Leaving directory '/usr/src/pinba2/src'
Makefile:494: recipe for target 'all-recursive' failed

make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/src/pinba2'
Makefile:384: recipe for target 'all' failed
make: *** [all] Error 2

No` LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic

Mariadb 10.2

Не могу понять в чём дело. Помогите пожалуйста.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.