(503,'START SLAVE',8,'Syntax:\nSTART SLAVE [thread_types] [until_option] [connection_options] [channel_option]\n\nthread_types:\n    [thread_type [, thread_type] ... ]\n\nthread_type: \n    IO_THREAD | SQL_THREAD\n\nuntil_option:\n    UNTIL {   {SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS} = gtid_set\n          |   MASTER_LOG_FILE = \'log_name\', MASTER_LOG_POS = log_pos\n          |   RELAY_LOG_FILE = \'log_name\', RELAY_LOG_POS = log_pos\n          |   SQL_AFTER_MTS_GAPS  }\n\nconnection_options: \n    [USER=\'user_name\'] [PASSWORD=\'user_pass\'] [DEFAULT_AUTH=\'plugin_name\'] [PLUGIN_DIR=\'plugin_dir\']\n\n\nchannel_option: \n    FOR CHANNEL channel\n\ngtid_set:\n    uuid_set [, uuid_set] ...\n    | \'\'\n\nuuid_set:\n    uuid:interval[:interval]...\n\nuuid:\n    hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh\n\nh:\n    [0-9,A-F]\n\ninterval:\n    n[-n]\n\n    (n >= 1) \n\nSTART SLAVE with no thread_type options starts both of the slave\nthreads. The I/O thread reads events from the master server and stores\nthem in the relay log. The SQL thread reads events from the relay log\nand executes them. START SLAVE requires the SUPER privilege.\n\nIf START SLAVE succeeds in starting the slave threads, it returns\nwithout any error. However, even in that case, it might be that the\nslave threads start and then later stop (for example, because they do\nnot manage to connect to the master or read its binary log, or some\nother problem). START SLAVE does not warn you about this. You must\ncheck the slave\'s error log for error messages generated by the slave\nthreads, or check that they are running satisfactorily with SHOW SLAVE\nSTATUS.\n\nIn MySQL 5.7, START SLAVE causes an implicit commit of an ongoing\ntransaction. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nBeginning with MySQL 5.7.1, gtid_next must be set to AUTOMATIC before\nissuing this statement (Bug #16062608).\n\nThe optional FOR CHANNEL channel clause added in MySQL 5.7.6 enables\nyou to choose which replication channel the statement applies to. If no\nclause is set and no extra channels exist, the statement applies to the\ndefault channel and behaves the same as versions of MySQL prior to\n5.7.6. Providing a FOR CHANNEL channel clause applies the START SLAVE\nstatement to a specific replication channel. If a START SLAVE statement\ndoes not have a channel defined when using multiple channels, this\nstatement starts the specified threads for all channels. Beginning with\nMySQL 5.7.9, this statement is disallowed for the\ngroup_replication_recovery channel. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nMySQL 5.7 supports pluggable user-password authentication with START\nSLAVE with the USER, PASSWORD, DEFAULT_AUTH and PLUGIN_DIR options, as\ndescribed in the following list:\n\no USER: User name. Cannot be set to an empty or null string, or left\n  unset if PASSWORD is used.\n\no PASSWORD: Password.\n\no DEFAULT_AUTH: Name of plugin; default is MySQL native authentication.\n\no PLUGIN_DIR: Location of plugin.\n\nYou cannot use the SQL_THREAD option when specifying any of USER,\nPASSWORD, DEFAULT_AUTH, or PLUGIN_DIR, unless the IO_THREAD option is\nalso provided.\n\nSee\nhttp://dev.mysql.com/doc/refman/5.7/en/pluggable-authentication.html,\nfor more information.\n\nIf an insecure connection is used with any these options, the server\nissues the warning Sending passwords in plain text without SSL/TLS is\nextremely insecure.\n\nSTART SLAVE ... UNTIL supports two additional options for use with\nglobal transaction identifiers (GTIDs) (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html). Each of\nthese takes a set of one or more global transaction identifiers\ngtid_set as an argument (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html#\nreplication-gtids-concepts-gtid-sets, for more information).\n\nWhen no thread_type is specified, START SLAVE UNTIL SQL_BEFORE_GTIDS\ncauses the slave SQL thread to process transactions until it has\nreached the first transaction whose GTID is listed in the gtid_set.\nSTART SLAVE UNTIL SQL_AFTER_GTIDS causes the slave threads to process\nall transactions until the last transaction in the gtid_set has been\nprocessed by both threads. In other words, START SLAVE UNTIL\nSQL_BEFORE_GTIDS causes the slave SQL thread to process all\ntransactions occurring before the first GTID in the gtid_set is\nreached, and START SLAVE UNTIL SQL_AFTER_GTIDS causes the slave threads\nto handle all transactions, including those whose GTIDs are found in\ngtid_set, until each has encountered a transaction whose GTID is not\npart of the set. SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS each support the\nSQL_THREAD and IO_THREAD options, although using IO_THREAD with them\ncurrently has no effect.\n\nFor example, START SLAVE SQL_THREAD UNTIL SQL_BEFORE_GTIDS =\n3E11FA47-71CA-11E1-9E33-C80AA9429562:11-56 causes the slave SQL thread\nto process all transactions originating from the master whose\nserver_uuid is 3E11FA47-71CA-11E1-9E33-C80AA9429562 until it encounters\nthe transaction having sequence number 11; it then stops without\nprocessing this transaction. In other words, all transactions up to and\nincluding the transaction with sequence number 10 are processed.\nExecuting START SLAVE SQL_THREAD UNTIL SQL_AFTER_GTIDS =\n3E11FA47-71CA-11E1-9E33-C80AA9429562:11-56, on the other hand, would\ncause the slave SQL thread to obtain all transactions just mentioned\nfrom the master, including all of the transactions having the sequence\nnumbers 11 through 56, and then to stop without processing any\nadditional transactions; that is, the transaction having sequence\nnumber 56 would be the last transaction fetched by the slave SQL\nthread.\n\nPrior to MySQL 5.7.3, SQL_AFTER_GTIDS did not stop the slave once the\nindicated transaction was completed, but waited until another GTID\nevent was received (Bug #14767986).\n\nWhen using a multi-threaded slave, there is a chance of gaps in the\nsequence of transactions that have been executed from the relay log in\nthe following cases:\n\no killing the coordinator thread\n\no after an error occurs in the worker threads\n\no mysqld shuts down unexpectedly\n\nUse the START SLAVE UNTIL SQL_AFTER_MTS_GAPS statement to cause a\nmulti-threaded slave\'s worker threads to only run until no more gaps\nare found in the relay log, and then to stop. This statement can take\nan SQL_THREAD option, but the effects of the statement remain\nunchanged. It has no effect on the slave I/O thread (and cannot be used\nwith the IO_THREAD option).\n\nIssuing START SLAVE on a multi-threaded slave with gaps in the sequence\nof transactions executed from the relay log generates a warning. In\nsuch a situation, the solution is to use START SLAVE UNTIL\nSQL_AFTER_MTS_GAPS, then issue RESET SLAVE to remove any remaining\nrelay logs. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-features-transaction\n-inconsistencies.html for more information.\n\nTo change a failed multi-threaded slave to single-threaded mode, you\ncan issue the following series of statements, in the order shown:\n\nSTART SLAVE UNTIL SQL_AFTER_MTS_GAPS;\n\nSET @@GLOBAL.slave_parallel_workers = 0;\n\nSTART SLAVE SQL_THREAD;\n\n*Note*: It is possible to view the entire text of a running START SLAVE\n... statement, including any USER or PASSWORD values used, in the\noutput of SHOW PROCESSLIST. This is also true for the text of a running\nCHANGE MASTER TO statement, including any values it employs for\nMASTER_USER or MASTER_PASSWORD.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/start-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/start-slave.html'),(504,'AREA',2,'Area(poly)\n\nST_Area() and Area() are synonyms. For more information, see the\ndescription of ST_Area().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'),(505,'SHOW WARNINGS',27,'Syntax:\nSHOW WARNINGS [LIMIT [offset,] row_count]\nSHOW COUNT(*) WARNINGS\n\nSHOW WARNINGS is a diagnostic statement that displays information about\nthe conditions (errors, warnings, and notes) resulting from executing a\nstatement in the current session. Warnings are generated for DML\nstatements such as INSERT, UPDATE, and LOAD DATA INFILE as well as DDL\nstatements such as CREATE TABLE and ALTER TABLE.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/select.html.\n\nSHOW WARNINGS is also used following EXPLAIN EXTENDED, to display the\nextra information generated by EXPLAIN when the EXTENDED keyword is\nused. See http://dev.mysql.com/doc/refman/5.7/en/explain-extended.html.\n\nAs of MySQL 5.7.2, SHOW WARNINGS displays information about the\nconditions resulting from execution of the most recent nondiagnostic\nstatement in the current session. If the most recent statement resulted\nin an error during parsing, SHOW WARNINGS shows the resulting\nconditions, regardless of statement type (diagnostic or nondiagnostic).\n\nBefore MySQL 5.7.2, SHOW WARNINGS displays information about the\nconditions resulting from the most recent statement in the current\nsession that generated messages. It shows nothing if the most recent\nstatement used a table and generated no messages. (That is, statements\nthat use a table but generate no messages clear the message list.)\nStatements that do not use tables and do not generate messages have no\neffect on the message list.\n\nThe SHOW COUNT(*) WARNINGS diagnostic statement displays the total\nnumber of errors, warnings, and notes. You can also retrieve this\nnumber from the warning_count system variable:\n\nSHOW COUNT(*) WARNINGS;\nSELECT @@warning_count;\n\nA difference in these statements is that the first is a diagnostic\nstatement that does not clear the message list. The second, because it\nis a SELECT statement is considered nondiagnostic and, as of MySQL\n5.7.2, does clear the message list.\n\nA related diagnostic statement, SHOW ERRORS, shows only error\nconditions (it excludes warnings and notes), and SHOW COUNT(*) ERRORS\nstatement displays the total number of errors. See [HELP SHOW ERRORS].\nGET DIAGNOSTICS can be used to examine information for individual\nconditions. See [HELP GET DIAGNOSTICS].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-warnings.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-warnings.html'),(506,'ST_LINEFROMTEXT',4,'ST_LineFromText(wkt[,srid]), ST_LineStringFromText(wkt[,srid])\n\nConstructs a LineString value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'),(507,'DROP USER',10,'Syntax:\nDROP USER [IF EXISTS] user [, user] ...\n\nThe DROP USER statement removes one or more MySQL accounts and their\nprivileges. It removes privilege rows for the account from all grant\ntables.\n\nTo use DROP USER, you must have the global CREATE USER privilege or the\nDELETE privilege for the mysql database. When the read_only system\nvariable is enabled, DROP USER additionally requires the SUPER\nprivilege.\n\nAn error occurs if you try to drop an account that does not exist.\n\nAs of MySQL 5.7.8, the IF EXISTS clause can be used, which causes the\nstatement to produce a warning for each named account that does not\nexist, rather than an error.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. For example:\n\nDROP USER \'jeffrey\'@\'localhost\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-user.html'),(508,'SUBSTRING',38,'Syntax:\nSUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),\nSUBSTRING(str FROM pos FOR len)\n\nThe forms without a len argument return a substring from string str\nstarting at position pos. The forms with a len argument return a\nsubstring len characters long from string str, starting at position\npos. The forms that use FROM are standard SQL syntax. It is also\npossible to use a negative value for pos. In this case, the beginning\nof the substring is pos characters from the end of the string, rather\nthan the beginning. A negative value may be used for pos in any of the\nforms of this function.\n\nFor all forms of SUBSTRING(), the position of the first character in\nthe string from which the substring is to be extracted is reckoned as\n1.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SUBSTRING(\'Quadratically\',5);\n        -> \'ratically\'\nmysql> SELECT SUBSTRING(\'foobarbar\' FROM 4);\n        -> \'barbar\'\nmysql> SELECT SUBSTRING(\'Quadratically\',5,6);\n        -> \'ratica\'\nmysql> SELECT SUBSTRING(\'Sakila\', -3);\n        -> \'ila\'\nmysql> SELECT SUBSTRING(\'Sakila\', -5, 3);\n        -> \'aki\'\nmysql> SELECT SUBSTRING(\'Sakila\' FROM -4 FOR 2);\n        -> \'ki\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(509,'ISEMPTY',37,'IsEmpty(g)\n\nST_IsEmpty() and IsEmpty() are synonyms. For more information, see the\ndescription of ST_IsEmpty().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'),(510,'SHOW FUNCTION STATUS',27,'Syntax:\nSHOW FUNCTION STATUS\n    [LIKE \'pattern\' | WHERE expr]\n\nThis statement is similar to SHOW PROCEDURE STATUS but for stored\nfunctions. See [HELP SHOW PROCEDURE STATUS].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-function-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-function-status.html'),(511,'LTRIM',38,'Syntax:\nLTRIM(str)\n\nReturns the string str with leading space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LTRIM(\'  barbar\');\n        -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(512,'ST_CROSSES',31,'ST_Crosses(g1,g2)\n\nReturns 1 if g1 spatially crosses g2. Returns NULL if g1 is a Polygon\nor a MultiPolygon, or if g2 is a Point or a MultiPoint. Otherwise,\nreturns 0.\n\nAs of MySQL 5.7.5, this function returns 0 if called with an\ninapplicable geometry argument type combination. For example, it\nreturns 0 if the first argument is a Polygon or MultiPolygon and/or the\nsecond argument is a Point or MultiPoint.\n\nThe term spatially crosses denotes a spatial relation between two given\ngeometries that has the following properties:\n\no The two geometries intersect\n\no Their intersection results in a geometry that has a dimension that is\n  one less than the maximum dimension of the two given geometries\n\no Their intersection is not equal to either of the two given geometries\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'),(513,'ST_MPOLYFROMTEXT',4,'ST_MPolyFromText(wkt[,srid]), ST_MultiPolygonFromText(wkt[,srid])\n\nConstructs a MultiPolygon value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'),(514,'MBRDISJOINT',7,'MBRDisjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are disjoint (do not intersect).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mysql-specific.html'),(515,'VALUES',14,'Syntax:\nVALUES(col_name)\n\nIn an INSERT ... ON DUPLICATE KEY UPDATE statement, you can use the\nVALUES(col_name) function in the UPDATE clause to refer to column\nvalues from the INSERT portion of the statement. In other words,\nVALUES(col_name) in the UPDATE clause refers to the value of col_name\nthat would be inserted, had no duplicate-key conflict occurred. This\nfunction is especially useful in multiple-row inserts. The VALUES()\nfunction is meaningful only in the ON DUPLICATE KEY UPDATE clause of\nINSERT statements and returns NULL otherwise. See\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)\n    -> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(516,'CALL',28,'Syntax:\nCALL sp_name([parameter[,...]])\nCALL sp_name[()]\n\nThe CALL statement invokes a stored procedure that was defined\npreviously with CREATE PROCEDURE.\n\nStored procedures that take no arguments can be invoked without\nparentheses. That is, CALL p() and CALL p are equivalent.\n\nCALL can pass back values to its caller using parameters that are\ndeclared as OUT or INOUT parameters. When the procedure returns, a\nclient program can also obtain the number of rows affected for the\nfinal statement executed within the routine: At the SQL level, call the\nROW_COUNT() function; from the C API, call the mysql_affected_rows()\nfunction.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/call.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/call.html'),(517,'ENCODE',12,'Syntax:\nENCODE(str,pass_str)\n\nENCODE() encrypts str using pass_str as the password. The result is a\nbinary string of the same length as str. To decrypt the result, use\nDECODE().\n\n*Note*: The ENCODE() and DECODE() functions are deprecated in MySQL\n5.7, will be removed in a future MySQL release, and should no longer be\nused.\n\nIf you still need to use ENCODE(), a salt value must be used with it to\nreduce risk. For example:\n\nENCODE(\'cleartext\', CONCAT(\'my_random_salt\',\'my_secret_password\'))\n\nA new random salt value must be used whenever a password is updated.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'),(518,'SUBSTRING_INDEX',38,'Syntax:\nSUBSTRING_INDEX(str,delim,count)\n\nReturns the substring from string str before count occurrences of the\ndelimiter delim. If count is positive, everything to the left of the\nfinal delimiter (counting from the left) is returned. If count is\nnegative, everything to the right of the final delimiter (counting from\nthe right) is returned. SUBSTRING_INDEX() performs a case-sensitive\nmatch when searching for delim.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', 2);\n        -> \'www.mysql\'\nmysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', -2);\n        -> \'mysql.com\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(519,'ST_X',11,'ST_X(p)\n\nReturns the X-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html\n\n','mysql> SELECT ST_X(POINT(56.7, 53.34));\n+--------------------------+\n| ST_X(POINT(56.7, 53.34)) |\n+--------------------------+\n|                     56.7 |\n+--------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html'),(520,'TIMESTAMPADD',32,'Syntax:\nTIMESTAMPADD(unit,interval,datetime_expr)\n\nAdds the integer expression interval to the date or datetime expression\ndatetime_expr. The unit for interval is given by the unit argument,\nwhich should be one of the following values: MICROSECOND\n(microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or\nYEAR.\n\nThe unit value may be specified using one of keywords as shown, or with\na prefix of SQL_TSI_. For example, DAY and SQL_TSI_DAY both are legal.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPADD(MINUTE,1,\'2003-01-02\');\n        -> \'2003-01-02 00:01:00\'\nmysql> SELECT TIMESTAMPADD(WEEK,1,\'2003-01-02\');\n        -> \'2003-01-09\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(521,'TRUNCATE',3,'Syntax:\nTRUNCATE(X,D)\n\nReturns the number X, truncated to D decimal places. If D is 0, the\nresult has no decimal point or fractional part. D can be negative to\ncause D digits left of the decimal point of the value X to become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT TRUNCATE(1.223,1);\n        -> 1.2\nmysql> SELECT TRUNCATE(1.999,1);\n        -> 1.9\nmysql> SELECT TRUNCATE(1.999,0);\n        -> 1\nmysql> SELECT TRUNCATE(-1.999,1);\n        -> -1.9\nmysql> SELECT TRUNCATE(122,-2);\n       -> 100\nmysql> SELECT TRUNCATE(10.28*100,0);\n       -> 1028\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(522,'SHOW',27,'SHOW has many forms that provide information about databases, tables,\ncolumns, or status information about the server. This section describes\nthose following:\n\nSHOW {BINARY | MASTER} LOGS\nSHOW BINLOG EVENTS [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\nSHOW CHARACTER SET [like_or_where]\nSHOW COLLATION [like_or_where]\nSHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]\nSHOW CREATE DATABASE db_name\nSHOW CREATE EVENT event_name\nSHOW CREATE FUNCTION func_name\nSHOW CREATE PROCEDURE proc_name\nSHOW CREATE TABLE tbl_name\nSHOW CREATE TRIGGER trigger_name\nSHOW CREATE VIEW view_name\nSHOW DATABASES [like_or_where]\nSHOW ENGINE engine_name {STATUS | MUTEX}\nSHOW [STORAGE] ENGINES\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW EVENTS\nSHOW FUNCTION CODE func_name\nSHOW FUNCTION STATUS [like_or_where]\nSHOW GRANTS FOR user\nSHOW INDEX FROM tbl_name [FROM db_name]\nSHOW MASTER STATUS\nSHOW OPEN TABLES [FROM db_name] [like_or_where]\nSHOW PLUGINS\nSHOW PROCEDURE CODE proc_name\nSHOW PROCEDURE STATUS [like_or_where]\nSHOW PRIVILEGES\nSHOW [FULL] PROCESSLIST\nSHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]\nSHOW PROFILES\nSHOW SLAVE HOSTS\nSHOW SLAVE STATUS [NONBLOCKING]\nSHOW [GLOBAL | SESSION] STATUS [like_or_where]\nSHOW TABLE STATUS [FROM db_name] [like_or_where]\nSHOW [FULL] TABLES [FROM db_name] [like_or_where]\nSHOW TRIGGERS [FROM db_name] [like_or_where]\nSHOW [GLOBAL | SESSION] VARIABLES [like_or_where]\nSHOW WARNINGS [LIMIT [offset,] row_count]\n\nlike_or_where:\n    LIKE \'pattern\'\n  | WHERE expr\n\nIf the syntax for a given SHOW statement includes a LIKE \'pattern\'\npart, \'pattern\' is a string that can contain the SQL \"%\" and \"_\"\nwildcard characters. The pattern is useful for restricting statement\noutput to matching values.\n\nSeveral SHOW statements also accept a WHERE clause that provides more\nflexibility in specifying which rows to display. See\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show.html'),(523,'SHOW VARIABLES',27,'Syntax:\nSHOW [GLOBAL | SESSION] VARIABLES\n    [LIKE \'pattern\' | WHERE expr]\n\n*Note*: As of MySQL 5.7.6, the value of the show_compatibility_56\nsystem variable affects the information available from and privileges\nrequired for the statement described here. For details, see the\ndescription of that variable in\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nSHOW VARIABLES shows the values of MySQL system variables (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html).\nThis statement does not require any privilege. It requires only the\nability to connect to the server.\n\nSystem variable information is also available from these sources:\n\no Performance Schema tables. See\n  http://dev.mysql.com/doc/refman/5.7/en/performance-schema-system-vari\n  able-tables.html.\n\no The GLOBAL_VARIABLES and SESSION_VARIABLES tables. See\n  http://dev.mysql.com/doc/refman/5.7/en/variables-table.html.\n\no The mysqladmin variables command. See\n  http://dev.mysql.com/doc/refman/5.7/en/mysqladmin.html.\n\nFor SHOW VARIABLES, a LIKE clause, if present, indicates which variable\nnames to match. A WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nSHOW VARIABLES accepts an optional GLOBAL or SESSION variable scope\nmodifier:\n\no With a GLOBAL modifier, the statement displays global system variable\n  values. These are the values used to initialize the corresponding\n  session variables for new connections to MySQL. If a variable has no\n  global value, no value is displayed.\n\no With a SESSION modifier, the statement displays the system varaible\n  values that are in effect for the current connection. If a variable\n  has no session value, the global value is displayed. LOCAL is a\n  synonym for SESSION.\n\no If no modifier is present, the default is SESSION.\n\nThe scope for each system variable is listed at\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nSHOW VARIABLES is subject to a version-dependent display-width limit.\nFor variables with very long values that are not completely displayed,\nuse SELECT as a workaround. For example:\n\nSELECT @@GLOBAL.innodb_data_file_path;\n\nMost system variables can be set at server startup (read-only variables\nsuch as version_comment are exceptions). Many can be changed at runtime\nwith the SET statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html, and\n[HELP SET].\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern. To obtain the row for a\nspecific variable, use a LIKE clause as shown:\n\nSHOW VARIABLES LIKE \'max_join_size\';\nSHOW SESSION VARIABLES LIKE \'max_join_size\';\n\nTo get a list of variables whose name match a pattern, use the \"%\"\nwildcard character in a LIKE clause:\n\nSHOW VARIABLES LIKE \'%size%\';\nSHOW GLOBAL VARIABLES LIKE \'%size%\';\n\nWildcard characters can be used in any position within the pattern to\nbe matched. Strictly speaking, because \"_\" is a wildcard that matches\nany single character, you should escape it as \"\\_\" to match it\nliterally. In practice, this is rarely necessary.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-variables.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-variables.html'),(524,'BINLOG',27,'Syntax:\nBINLOG \'str\'\n\nBINLOG is an internal-use statement. It is generated by the mysqlbinlog\nprogram as the printable representation of certain events in binary log\nfiles. (See http://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html.)\nThe \'str\' value is a base 64-encoded string the that server decodes to\ndetermine the data change indicated by the corresponding event. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/binlog.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/binlog.html'),(525,'ST_DISJOINT',31,'ST_Disjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially disjoint from (does\nnot intersect) g2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'),(526,'ATAN2',3,'Syntax:\nATAN(Y,X), ATAN2(Y,X)\n\nReturns the arc tangent of the two variables X and Y. It is similar to\ncalculating the arc tangent of Y / X, except that the signs of both\narguments are used to determine the quadrant of the result.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(-2,2);\n        -> -0.78539816339745\nmysql> SELECT ATAN2(PI(),0);\n        -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(527,'AND',15,'Syntax:\nAND, &&\n\nLogical AND. Evaluates to 1 if all operands are nonzero and not NULL,\nto 0 if one or more operands are 0, otherwise NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html\n\n','mysql> SELECT 1 AND 1;\n        -> 1\nmysql> SELECT 1 AND 0;\n        -> 0\nmysql> SELECT 1 AND NULL;\n        -> NULL\nmysql> SELECT 0 AND NULL;\n        -> 0\nmysql> SELECT NULL AND 0;\n        -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html'),(528,'HOUR',32,'Syntax:\nHOUR(time)\n\nReturns the hour for time. The range of the return value is 0 to 23 for\ntime-of-day values. However, the range of TIME values actually is much\nlarger, so HOUR can return values greater than 23.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT HOUR(\'10:05:03\');\n        -> 10\nmysql> SELECT HOUR(\'272:59:59\');\n        -> 272\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(529,'SELECT',28,'Syntax:\nSELECT\n    [ALL | DISTINCT | DISTINCTROW ]\n      [HIGH_PRIORITY]\n      [MAX_STATEMENT_TIME = N]\n      [STRAIGHT_JOIN]\n      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]\n      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]\n    select_expr [, select_expr ...]\n    [FROM table_references\n      [PARTITION partition_list]\n    [WHERE where_condition]\n    [GROUP BY {col_name | expr | position}\n      [ASC | DESC], ... [WITH ROLLUP]]\n    [HAVING where_condition]\n    [ORDER BY {col_name | expr | position}\n      [ASC | DESC], ...]\n    [LIMIT {[offset,] row_count | row_count OFFSET offset}]\n    [PROCEDURE procedure_name(argument_list)]\n    [INTO OUTFILE \'file_name\'\n        [CHARACTER SET charset_name]\n        export_options\n      | INTO DUMPFILE \'file_name\'\n      | INTO var_name [, var_name]]\n    [FOR UPDATE | LOCK IN SHARE MODE]]\n\nSELECT is used to retrieve rows selected from one or more tables, and\ncan include UNION statements and subqueries. See [HELP UNION], and\nhttp://dev.mysql.com/doc/refman/5.7/en/subqueries.html.\n\nThe most commonly used clauses of SELECT statements are these:\n\no Each select_expr indicates a column that you want to retrieve. There\n  must be at least one select_expr.\n\no table_references indicates the table or tables from which to retrieve\n  rows. Its syntax is described in [HELP JOIN].\n\no SELECT supports explicit partition selection using the PARTITION with\n  a list of partitions or subpartitions (or both) following the name of\n  the table in a table_reference (see [HELP JOIN]). In this case, rows\n  are selected only from the partitions listed, and any other\n  partitions of the table are ignored. For more information and\n  examples, see\n  http://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\n  SELECT ... PARTITION from tables using storage engines such as MyISAM\n  that perform table-level locks (and thus partition locks) lock only\n  the partitions or subpartitions named by the PARTITION option.\n\n  See\n  http://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations-locki\n  ng.html, for more information.\n\no The WHERE clause, if given, indicates the condition or conditions\n  that rows must satisfy to be selected. where_condition is an\n  expression that evaluates to true for each row to be selected. The\n  statement selects all rows if there is no WHERE clause.\n\n  In the WHERE expression, you can use any of the functions and\n  operators that MySQL supports, except for aggregate (summary)\n  functions. See\n  http://dev.mysql.com/doc/refman/5.7/en/expressions.html, and\n  http://dev.mysql.com/doc/refman/5.7/en/functions.html.\n\nSELECT can also be used to retrieve rows computed without reference to\nany table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/select.html'),(530,'GROUP_CONCAT',16,'Syntax:\nGROUP_CONCAT(expr)\n\nThis function returns a string result with the concatenated non-NULL\nvalues from a group. It returns NULL if there are no non-NULL values.\nThe full syntax is as follows:\n\nGROUP_CONCAT([DISTINCT] expr [,expr ...]\n             [ORDER BY {unsigned_integer | col_name | expr}\n                 [ASC | DESC] [,col_name ...]]\n             [SEPARATOR str_val])\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name,\n    ->     GROUP_CONCAT(test_score)\n    ->     FROM student\n    ->     GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'),(531,'BENCHMARK',17,'Syntax:\nBENCHMARK(count,expr)\n\nThe BENCHMARK() function executes the expression expr repeatedly count\ntimes. It may be used to time how quickly MySQL processes the\nexpression. The result value is always 0. The intended use is from\nwithin the mysql client, which reports query execution times:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\'));\n+----------------------------------------------+\n| BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\')) |\n+----------------------------------------------+\n|                                            0 |\n+----------------------------------------------+\n1 row in set (4.74 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'),(532,'FROM_BASE64',38,'Syntax:\nFROM_BASE64(str)\n\nTakes a string encoded with the base-64 encoded rules used by\nTO_BASE64() and returns the decoded result as a binary string. The\nresult is NULL if the argument is NULL or not a valid base-64 string.\nSee the description of TO_BASE64() for details about the encoding and\ndecoding rules.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT TO_BASE64(\'abc\'), FROM_BASE64(TO_BASE64(\'abc\'));\n        -> \'JWJj\', \'abc\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(533,'SHOW ENGINE',27,'Syntax:\nSHOW ENGINE engine_name {STATUS | MUTEX}\n\nSHOW ENGINE displays operational information about a storage engine. It\nrequires the PROCESS privilege. The statement has these variants:\n\nSHOW ENGINE INNODB STATUS\nSHOW ENGINE INNODB MUTEX\nSHOW ENGINE PERFORMANCE_SCHEMA STATUS\n\nSHOW ENGINE INNODB STATUS displays extensive information from the\nstandard InnoDB Monitor about the state of the InnoDB storage engine.\nFor information about the standard monitor and other InnoDB Monitors\nthat provide information about InnoDB processing, see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-monitors.html.\n\nSHOW ENGINE INNODB MUTEX displays InnoDB mutex and rw-lock statistics.\n\n*Note*: InnoDB mutexes and rwlocks can also be monitored using\nPerformance Schema tables. See\nhttp://dev.mysql.com/doc/refman/5.7/en/monitor-innodb-mutex-waits-perfo\nrmance-schema.html.\n\nSHOW ENGINE INNODB MUTEX output was removed in MySQL 5.7.2. It was\nrevised and reintroduced in MySQL 5.7.8.\n\nIn MySQL 5.7.8, mutex statistics collection is configured dynamically\nusing the following options:\n\no To enable the collection of mutex statistics, run:\n\nSET GLOBAL innodb_monitor_enable=\'latch\';\n\no To reset mutex statistics, run:\n\nSET GLOBAL innodb_monitor_reset=\'latch\';\n\no To disable the collection of mutex statistics, run:\n\nSET GLOBAL innodb_monitor_disable=\'latch\';\n\nCollection of mutex statistics for SHOW ENGINE INNODB MUTEX can also be\nenabled by setting innodb_monitor_enable=\'all\', or disabled by setting\ninnodb_monitor_disable=\'all\'.\n\nSHOW ENGINE INNODB MUTEX output has the following columns:\n\no Type\n\n  Always InnoDB.\n\no Name\n\n  Prior to MySQL 5.7.8, the Name field reports the source file where\n  the mutex is implemented, and the line number in the file where the\n  mutex is created. The line number is specific to your version of\n  MySQL. As of MySQL 5.7.8, only the mutex name is reported. File name\n  and line number are still reported for rwlocks.\n\no Status\n\n  The mutex status.\n\n  Prior to MySQL 5.7.8, the Status field displays several values if\n  WITH_DEBUG was defined at MySQL compilation time. If WITH_DEBUG was\n  not defined, the statement displays only the os_waits value. In the\n  latter case (without WITH_DEBUG), the information on which the output\n  is based is insufficient to distinguish regular mutexes and mutexes\n  that protect rwlocks (which permit multiple readers or a single\n  writer). Consequently, the output may appear to contain multiple rows\n  for the same mutex. Pre-MySQL 5.7.8 Status field values include:\n\n  o count indicates how many times the mutex was requested.\n\n  o spin_waits indicates how many times the spinlock had to run.\n\n  o spin_rounds indicates the number of spinlock rounds. (spin_rounds\n    divided by spin_waits provides the average round count.)\n\n  o os_waits indicates the number of operating system waits. This\n    occurs when the spinlock did not work (the mutex was not locked\n    during the spinlock and it was necessary to yield to the operating\n    system and wait).\n\n  o os_yields indicates the number of times a thread trying to lock a\n    mutex gave up its timeslice and yielded to the operating system (on\n    the presumption that permitting other threads to run will free the\n    mutex so that it can be locked).\n\n  o os_wait_times indicates the amount of time (in ms) spent in\n    operating system waits. In MySQL 5.7 timing is disabled and this\n    value is always 0.\n\n  As of MySQL 5.7.8, the Status field reports the number of spins,\n  waits, and calls. Statistics for low-level operating system mutexes,\n  which are implemented outside of InnoDB, are not reported.\n\n  o spins indicates the number of spins.\n\n  o waits indicates the number of mutex waits.\n\n  o calls indicates how many times the mutex was requested.\n\nSHOW ENGINE INNODB MUTEX skips the mutexes and rw-locks of buffer pool\nblocks, as the amount of output can be overwhelming on systems with a\nlarge buffer pool. (There is one mutex and one rw-lock in each 16K\nbuffer pool block, and there are 65,536 blocks per gigabyte.) SHOW\nENGINE INNODB MUTEX also does not list any mutexes or rw-locks that\nhave never been waited on (os_waits=0). Thus, SHOW ENGINE INNODB MUTEX\nonly displays information about mutexes and rw-locks outside of the\nbuffer pool that have caused at least one OS-level wait.\n\nUse SHOW ENGINE PERFORMANCE_SCHEMA STATUS to inspect the internal\noperation of the Performance Schema code:\n\nmysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\\G\n...\n*************************** 3. row ***************************\n  Type: performance_schema\n  Name: events_waits_history.size\nStatus: 76\n*************************** 4. row ***************************\n  Type: performance_schema\n  Name: events_waits_history.count\nStatus: 10000\n*************************** 5. row ***************************\n  Type: performance_schema\n  Name: events_waits_history.memory\nStatus: 760000\n...\n*************************** 57. row ***************************\n  Type: performance_schema\n  Name: performance_schema.memory\nStatus: 26459600\n...\n\nThis statement is intended to help the DBA understand the effects that\ndifferent Performance Schema options have on memory requirements.\n\nName values consist of two parts, which name an internal buffer and a\nbuffer attribute, respectively. Interpret buffer names as follows:\n\no An internal buffer that is not exposed as a table is named within\n  parentheses. Examples: (pfs_cond_class).size,\n  (pfs_mutex_class).memory.\n\no An internal buffer that is exposed as a table in the\n  performance_schema database is named after the table, without\n  parentheses. Examples: events_waits_history.size,\n  mutex_instances.count.\n\no A value that applies to the Performance Schema as a whole begins with\n  performance_schema. Example: performance_schema.memory.\n\nBuffer attributes have these meanings:\n\no size is the size of the internal record used by the implementation,\n  such as the size of a row in a table. size values cannot be changed.\n\no count is the number of internal records, such as the number of rows\n  in a table. count values can be changed using Performance Schema\n  configuration options.\n\no For a table, tbl_name.memory is the product of size and count. For\n  the Performance Schema as a whole, performance_schema.memory is the\n  sum of all the memory used (the sum of all other memory values).\n\nSome size and count attributes were named row_size and row_count before\nMySQL 5.7.1.\n\nIn some cases, there is a direct relationship between a Performance\nSchema configuration parameter and a SHOW ENGINE value. For example,\nevents_waits_history_long.count corresponds to\nperformance_schema_events_waits_history_long_size. In other cases, the\nrelationship is more complex. For example, events_waits_history.count\ncorresponds to performance_schema_events_waits_history_size (the number\nof rows per thread) multiplied by\nperformance_schema_max_thread_instances ( the number of threads).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-engine.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-engine.html'),(534,'NAME_CONST',14,'Syntax:\nNAME_CONST(name,value)\n\nReturns the given value. When used to produce a result set column,\nNAME_CONST() causes the column to have the given name. The arguments\nshould be constants.\n\nmysql> SELECT NAME_CONST(\'myname\', 14);\n+--------+\n| myname |\n+--------+\n|     14 |\n+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(535,'RELEASE_LOCK',14,'Syntax:\nRELEASE_LOCK(str)\n\nReleases the lock named by the string str that was obtained with\nGET_LOCK(). Returns 1 if the lock was released, 0 if the lock was not\nestablished by this thread (in which case the lock is not released),\nand NULL if the named lock did not exist. The lock does not exist if it\nwas never obtained by a call to GET_LOCK() or if it has previously been\nreleased.\n\nThe DO statement is convenient to use with RELEASE_LOCK(). See [HELP\nDO].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(536,'WEEKDAY',32,'Syntax:\nWEEKDAY(date)\n\nReturns the weekday index for date (0 = Monday, 1 = Tuesday, ... 6 =\nSunday).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKDAY(\'2008-02-03 22:23:00\');\n        -> 6\nmysql> SELECT WEEKDAY(\'2007-11-06\');\n        -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(537,'TIME_TO_SEC',32,'Syntax:\nTIME_TO_SEC(time)\n\nReturns the time argument, converted to seconds.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_TO_SEC(\'22:23:00\');\n        -> 80580\nmysql> SELECT TIME_TO_SEC(\'00:39:38\');\n        -> 2378\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(538,'CONVERT_TZ',32,'Syntax:\nCONVERT_TZ(dt,from_tz,to_tz)\n\nCONVERT_TZ() converts a datetime value dt from the time zone given by\nfrom_tz to the time zone given by to_tz and returns the resulting\nvalue. Time zones are specified as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html. This\nfunction returns NULL if the arguments are invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'GMT\',\'MET\');\n        -> \'2004-01-01 13:00:00\'\nmysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'+00:00\',\'+10:00\');\n        -> \'2004-01-01 22:00:00\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(539,'EXPORT_SET',38,'Syntax:\nEXPORT_SET(bits,on,off[,separator[,number_of_bits]])\n\nReturns a string such that for every bit set in the value bits, you get\nan on string and for every bit not set in the value, you get an off\nstring. Bits in bits are examined from right to left (from low-order to\nhigh-order bits). Strings are added to the result from left to right,\nseparated by the separator string (the default being the comma\ncharacter \",\"). The number of bits examined is given by number_of_bits,\nwhich has a default of 64 if not specified. number_of_bits is silently\nclipped to 64 if larger than 64. It is treated as an unsigned integer,\nso a value of −1 is effectively the same as 64.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT EXPORT_SET(5,\'Y\',\'N\',\',\',4);\n        -> \'Y,N,Y,N\'\nmysql> SELECT EXPORT_SET(6,\'1\',\'0\',\',\',10);\n        -> \'0,1,1,0,0,0,0,0,0,0\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(540,'CAST',38,'Syntax:\nCAST(expr AS type)\n\nThe CAST() function takes an expression of any type and produces a\nresult value of a specified type, similar to CONVERT(). See the\ndescription of CONVERT() for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html'),(541,'SOUNDS LIKE',38,'Syntax:\nexpr1 SOUNDS LIKE expr2\n\nThis is the same as SOUNDEX(expr1) = SOUNDEX(expr2).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(542,'PERIOD_DIFF',32,'Syntax:\nPERIOD_DIFF(P1,P2)\n\nReturns the number of months between periods P1 and P2. P1 and P2\nshould be in the format YYMM or YYYYMM. Note that the period arguments\nP1 and P2 are not date values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_DIFF(200802,200703);\n        -> 11\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(543,'AVG',16,'Syntax:\nAVG([DISTINCT] expr)\n\nReturns the average value of expr. The DISTINCT option can be used to\nreturn the average of the distinct values of expr.\n\nAVG() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name, AVG(test_score)\n    ->        FROM student\n    ->        GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'),(544,'QUOTE',38,'Syntax:\nQUOTE(str)\n\nQuotes a string to produce a result that can be used as a properly\nescaped data value in an SQL statement. The string is returned enclosed\nby single quotation marks and with each instance of backslash (\"\\\"),\nsingle quote (\"\'\"), ASCII NUL, and Control+Z preceded by a backslash.\nIf the argument is NULL, the return value is the word \"NULL\" without\nenclosing single quotation marks.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT QUOTE(\'Don\\\'t!\');\n        -> \'Don\\\'t!\'\nmysql> SELECT QUOTE(NULL);\n        -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(545,'IN',20,'Syntax:\nexpr IN (value,...)\n\nReturns 1 if expr is equal to any of the values in the IN list, else\nreturns 0. If all values are constants, they are evaluated according to\nthe type of expr and sorted. The search for the item then is done using\na binary search. This means IN is very quick if the IN value list\nconsists entirely of constants. Otherwise, type conversion takes place\naccording to the rules described in\nhttp://dev.mysql.com/doc/refman/5.7/en/type-conversion.html, but\napplied to all the arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 IN (0,3,5,7);\n        -> 0\nmysql> SELECT \'wefwf\' IN (\'wee\',\'wefwf\',\'weg\');\n        -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'),(546,'QUARTER',32,'Syntax:\nQUARTER(date)\n\nReturns the quarter of the year for date, in the range 1 to 4.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT QUARTER(\'2008-04-01\');\n        -> 2\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(547,'HELP COMMAND',27,'Syntax:\nmysql> help search_string\n\nIf you provide an argument to the help command, mysql uses it as a\nsearch string to access server-side help from the contents of the MySQL\nReference Manual. The proper operation of this command requires that\nthe help tables in the mysql database be initialized with help topic\ninformation (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-side-help-support.html).\n\nIf there is no match for the search string, the search fails:\n\nmysql> help me\n\nNothing found\nPlease try to run \'help contents\' for a list of all accessible topics\n\nUse help contents to see a list of the help categories:\n\nmysql> help contents\nYou asked for help about help category: \"Contents\"\nFor more information, type \'help <item>\', where <item> is one of the\nfollowing categories:\n   Account Management\n   Administration\n   Data Definition\n   Data Manipulation\n   Data Types\n   Functions\n   Functions and Modifiers for Use with GROUP BY\n   Geographic Features\n   Language Structure\n   Plugins\n   Storage Engines\n   Stored Routines\n   Table Maintenance\n   Transactions\n   Triggers\n\nIf the search string matches multiple items, mysql shows a list of\nmatching topics:\n\nmysql> help logs\nMany help items for your request exist.\nTo make a more specific request, please type \'help <item>\',\nwhere <item> is one of the following topics:\n   SHOW\n   SHOW BINARY LOGS\n   SHOW ENGINE\n   SHOW LOGS\n\nUse a topic as the search string to see the help entry for that topic:\n\nmysql> help show binary logs\nName: \'SHOW BINARY LOGS\'\nDescription:\nSyntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [purge-binary-logs], that shows how\nto determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name      | File_size |\n+---------------+-----------+\n| binlog.000015 |    724935 |\n| binlog.000016 |    733481 |\n+---------------+-----------+\n\nThe search string can contain the wildcard characters \"%\" and \"_\".\nThese have the same meaning as for pattern-matching operations\nperformed with the LIKE operator. For example, HELP rep% returns a list\nof topics that begin with rep:\n\nmysql> HELP rep%\nMany help items for your request exist.\nTo make a more specific request, please type \'help <item>\',\nwhere <item> is one of the following\ntopics:\n   REPAIR TABLE\n   REPEAT FUNCTION\n   REPEAT LOOP\n   REPLACE\n   REPLACE FUNCTION\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mysql-server-side-help.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/mysql-server-side-help.html'),(548,'JSON_REPLACE',7,'JSON_REPLACE(json_doc, path, val[, path, val] ...)\n\nReplaces existing values in a JSON document and returns the result.\nReturns NULL if any argument is NULL. An error occurs if the json_doc\nargument is not a valid JSON document or any path argument is not a\nvalid path expression or contains a * or ** wildcard.\n\nThe path/value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nA path/value pair for an existing path in the document overwrites the\nexisting document value with the new value. A path/value pair for a\nnonexisting path in the document is ignored and has no effect.\n\nFor a comparison of JSON_INSERT(), JSON_REPLACE(), and JSON_SET(), see\nthe discussion of JSON_SET().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'{ \"a\": 1, \"b\": [2, 3]}\';\nmysql> SELECT JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+-----------------------------------------------------+\n| JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+-----------------------------------------------------+\n| {\"a\": 10, \"b\": [2, 3]}                              |\n+-----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'),(549,'POSITION',38,'Syntax:\nPOSITION(substr IN str)\n\nPOSITION(substr IN str) is a synonym for LOCATE(substr,str).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(550,'IS_USED_LOCK',14,'Syntax:\nIS_USED_LOCK(str)\n\nChecks whether the lock named str is in use (that is, locked). If so,\nit returns the connection identifier of the client session that holds\nthe lock. Otherwise, it returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(551,'POLYFROMTEXT',4,'PolyFromText(wkt[,srid]), PolygonFromText(wkt[,srid])\n\nST_PolyFromText(), ST_PolygonFromText(), PolyFromText(), and\nPolygonFromText() are synonyms. For more information, see the\ndescription of ST_PolyFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'),(552,'ST_SRID',37,'ST_SRID(g)\n\nReturns an integer indicating the Spatial Reference System ID for the\ngeometry value g.\n\nIn MySQL, the SRID value is just an integer associated with the\ngeometry value. All calculations are done assuming Euclidean (planar)\ngeometry.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','mysql> SELECT ST_SRID(ST_GeomFromText(\'LineString(1 1,2 2)\',101));\n+-----------------------------------------------------+\n| ST_SRID(ST_GeomFromText(\'LineString(1 1,2 2)\',101)) |\n+-----------------------------------------------------+\n|                                                 101 |\n+-----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'),(553,'ALTER USER',10,'Syntax:\nALTER USER syntax for MySQL 5.7.6 and up:\n\nThe ALTER USER statement modifies MySQL accounts. It provides control\nover account password expiration. As of MySQL 5.7.6, it also provides\ncontrol over authentication, SSL/TLS, and resource-limit properties,\nand account locking and unlocking.\n\nTo use ALTER USER, you must have the global CREATE USER privilege or\nthe UPDATE privilege for the mysql database. When the read_only system\nvariable is enabled, ALTER USER additionally requires the SUPER\nprivilege.\n\nAn error occurs if you try to modify an account that does not exist.\n\nAs of MySQL 5.7.8, the IF EXISTS clause can be used, which causes the\nstatement to produce a warning for each named account that does not\nexist, rather than an error.\n\nALTER USER modifies the mysql.user table row for each affected account\naccording to the options specified in the statement. Unspecified\nproperties retain their current values.\n\nExample 1: Change an account\'s password and expire it. As a result, the\nuser must connect with the named password and choose a new one at the\nnext connection:\n\nALTER USER \'jeffrey\'@\'localhost\'\n  IDENTIFIED BY \'new_password\' PASSWORD EXPIRE;\n\nExample 2: Modify an account to use the sha256_password authentication\nplugin and the given password. Require that a new password be chosen\nevery 180 days:\n\nALTER USER \'jeffrey\'@\'localhost\'\n  IDENTIFIED WITH sha256_password BY \'new_password\'\n  PASSWORD EXPIRE INTERVAL 180 DAY;\n\nExample 3: Lock or unlock an account:\n\nALTER USER \'jeffrey\'@\'localhost\' ACCOUNT LOCK;\nALTER USER \'jeffrey\'@\'localhost\' ACCOUNT UNLOCK;\n\nExample 4: Require an account to connect using SSL and establish a\nlimit of 20 connections per hour:\n\nALTER USER \'jeffrey\'@\'localhost\'\n  REQUIRE SSL WITH MAX_CONNECTIONS_PER_HOUR 20;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-user.html'),(554,'DES_ENCRYPT',12,'Syntax:\nDES_ENCRYPT(str[,{key_num|key_str}])\n\nEncrypts the string with the given key using the Triple-DES algorithm.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.7/en/secure-connections.html.\n\nThe encryption key to use is chosen based on the second argument to\nDES_ENCRYPT(), if one was given. With no argument, the first key from\nthe DES key file is used. With a key_num argument, the given key number\n(0 to 9) from the DES key file is used. With a key_str argument, the\ngiven key string is used to encrypt str.\n\nThe key file can be specified with the --des-key-file server option.\n\nThe return string is a binary string where the first character is\nCHAR(128 | key_num). If an error occurs, DES_ENCRYPT() returns NULL.\n\nThe 128 is added to make it easier to recognize an encrypted key. If\nyou use a string key, key_num is 127.\n\nThe string length for the result is given by this formula:\n\nnew_len = orig_len + (8 - (orig_len % 8)) + 1\n\nEach line in the DES key file has the following format:\n\nkey_num des_key_str\n\nEach key_num value must be a number in the range from 0 to 9. Lines in\nthe file may be in any order. des_key_str is the string that is used to\nencrypt the message. There should be at least one space between the\nnumber and the key. The first key is the default key that is used if\nyou do not specify any key argument to DES_ENCRYPT().\n\nYou can tell MySQL to read new key values from the key file with the\nFLUSH DES_KEY_FILE statement. This requires the RELOAD privilege.\n\nOne benefit of having a set of default keys is that it gives\napplications a way to check for the existence of encrypted column\nvalues, without giving the end user the right to decrypt those values.\n\n*Note*: The DES_ENCRYPT() and DES_DECRYPT() functions are deprecated as\nof MySQL 5.7.6, will be removed in a future MySQL release, and should\nno longer be used. Consider using AES_ENCRYPT() and AES_DECRYPT()\ninstead.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT customer_address FROM customer_table \n     > WHERE crypted_credit_card = DES_ENCRYPT(\'credit_card_number\');\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'),(555,'CEIL',3,'Syntax:\nCEIL(X)\n\nCEIL() is a synonym for CEILING().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(556,'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS',7,'Syntax:\nWAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(gtid_set[, timeout][,channel])\n\nWait until the slave SQL thread has executed all of the transactions\nwhose global transaction identifiers are contained in gtid_set (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html,\nfor a definition of \"GTID sets\"), or until timeout seconds have\nelapsed, whichever occurs first. timeout is optional; the default\ntimeout is 0 seconds, in which case the function waits until all of the\ntransactions in the GTID set have been executed.\n\nFor more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','mysql> SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5\');\n        -> 5\n','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'),(557,'LENGTH',38,'Syntax:\nLENGTH(str)\n\nReturns the length of the string str, measured in bytes. A multibyte\ncharacter counts as multiple bytes. This means that for a string\ncontaining five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LENGTH(\'text\');\n        -> 4\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(558,'WEIGHT_STRING',38,'Syntax:\nWEIGHT_STRING(str [AS {CHAR|BINARY}(N)] [LEVEL levels] [flags])\n\nlevels: N [ASC|DESC|REVERSE] [, N [ASC|DESC|REVERSE]] ...\n\nThis function returns the weight string for the input string. The\nreturn value is a binary string that represents the sorting and\ncomparison value of the string. It has these properties:\n\no If WEIGHT_STRING(str1) = WEIGHT_STRING(str2), then str1 = str2 (str1\n  and str2 are considered equal)\n\no If WEIGHT_STRING(str1) < WEIGHT_STRING(str2), then str1 < str2 (str1\n  sorts before str2)\n\nWEIGHT_STRING() can be used for testing and debugging of collations,\nespecially if you are adding a new collation. See\nhttp://dev.mysql.com/doc/refman/5.7/en/adding-collation.html.\n\nThe input string, str, is a string expression. If the input is a\nnonbinary (character) string such as a CHAR, VARCHAR, or TEXT value,\nthe return value contains the collation weights for the string. If the\ninput is a binary (byte) string such as a BINARY, VARBINARY, or BLOB\nvalue, the return value is the same as the input (the weight for each\nbyte in a binary string is the byte value). If the input is NULL,\nWEIGHT_STRING() returns NULL.\n\nExamples:\n\nmysql> SET @s = _latin1 \'AB\' COLLATE latin1_swedish_ci;\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s   | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| AB   | 4142    | 4142                   |\n+------+---------+------------------------+\n\nmysql> SET @s = _latin1 \'ab\' COLLATE latin1_swedish_ci;\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s   | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| ab   | 6162    | 4142                   |\n+------+---------+------------------------+\n\nmysql> SET @s = CAST(\'AB\' AS BINARY);\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s   | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| AB   | 4142    | 4142                   |\n+------+---------+------------------------+\n\nmysql> SET @s = CAST(\'ab\' AS BINARY);\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s   | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| ab   | 6162    | 6162                   |\n+------+---------+------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(559,'ST_EQUALS',31,'ST_Equals(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially equal to g2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','mysql> SET @g1 = POINT(1,1), @g2 = POINT(2,2);\nmysql> SELECT ST_Equals(@g1, @g1), ST_Equals(@g1, @g2);\n+---------------------+---------------------+\n| ST_Equals(@g1, @g1) | ST_Equals(@g1, @g2) |\n+---------------------+---------------------+\n|                   1 |                   0 |\n+---------------------+---------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'),(560,'ALTER EVENT',40,'Syntax:\nALTER\n    [DEFINER = { user | CURRENT_USER }]\n    EVENT event_name\n    [ON SCHEDULE schedule]\n    [ON COMPLETION [NOT] PRESERVE]\n    [RENAME TO new_event_name]\n    [ENABLE | DISABLE | DISABLE ON SLAVE]\n    [COMMENT \'comment\']\n    [DO event_body]\n\nThe ALTER EVENT statement changes one or more of the characteristics of\nan existing event without the need to drop and recreate it. The syntax\nfor each of the DEFINER, ON SCHEDULE, ON COMPLETION, COMMENT, ENABLE /\nDISABLE, and DO clauses is exactly the same as when used with CREATE\nEVENT. (See [HELP CREATE EVENT].)\n\nAny user can alter an event defined on a database for which that user\nhas the EVENT privilege. When a user executes a successful ALTER EVENT\nstatement, that user becomes the definer for the affected event.\n\nALTER EVENT works only with an existing event:\n\nmysql> ALTER EVENT no_such_event \n     >     ON SCHEDULE \n     >       EVERY \'2:3\' DAY_HOUR;\nERROR 1517 (HY000): Unknown event \'no_such_event\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-event.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-event.html'),(561,'DATE_SUB',32,'Syntax:\nDATE_SUB(date,INTERVAL expr unit)\n\nSee the description for DATE_ADD().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(562,'|',19,'Syntax:\n|\n\nBitwise OR:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 29 | 15;\n        -> 31\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'),(563,'ASYMMETRIC_SIGN',7,'Syntax:\nASYMMETRIC_SIGN(algorithm, digest_str, priv_key_str, digest_type)\n\nSigns a digest string using a private key string, and returns the\nsignature as a binary string. If signing fails, the result is NULL.\n\ndigest_str is the digest string. It can be generated by calling\nCREATE_DIGEST(). digest_type indicates the digest algorithm used to\ngenerate the digest string.\n\npriv_key_str is the private key string to use for signing the digest\nstring. It must be a valid key string in PEM format. algorithm\nindicates the encryption algorithm used to create the key.\n\nSupported algorithm values: \'RSA\', \'DSA\'\n\nSupported digest_type values: \'SHA224\', \'SHA256\', \'SHA384\', \'SHA512\'\n\nFor a usage example, see the description of ASYMMETRIC_VERIFY().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'),(564,'GEOMFROMTEXT',4,'GeomFromText(wkt[,srid]), GeometryFromText(wkt[,srid])\n\nST_GeomFromText(), ST_GeometryFromText(), GeomFromText(), and\nGeometryFromText() are synonyms. For more information, see the\ndescription of ST_GeomFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'),(565,'UUID_SHORT',14,'Syntax:\nUUID_SHORT()\n\nReturns a \"short\" universal identifier as a 64-bit unsigned integer\n(rather than a string-form 128-bit identifier as returned by the UUID()\nfunction).\n\nThe value of UUID_SHORT() is guaranteed to be unique if the following\nconditions hold:\n\no The server_id of the current host is unique among your set of master\n  and slave servers\n\no server_id is between 0 and 255\n\no You do not set back your system time for your server between mysqld\n  restarts\n\no You do not invoke UUID_SHORT() on average more than 16 million times\n  per second between mysqld restarts\n\nThe UUID_SHORT() return value is constructed this way:\n\n  (server_id & 255) << 56\n+ (server_startup_time_in_seconds << 24)\n+ incremented_variable++;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID_SHORT();\n        -> 92395783831158784\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(566,'DATEDIFF',32,'Syntax:\nDATEDIFF(expr1,expr2)\n\nDATEDIFF() returns expr1 − expr2 expressed as a value in days from\none date to the other. expr1 and expr2 are date or date-and-time\nexpressions. Only the date parts of the values are used in the\ncalculation.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DATEDIFF(\'2007-12-31 23:59:59\',\'2007-12-30\');\n        -> 1\nmysql> SELECT DATEDIFF(\'2010-11-30 23:59:59\',\'2010-12-31\');\n        -> -31\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(567,'DROP PROCEDURE',40,'Syntax:\nDROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name\n\nThis statement is used to drop a stored procedure or function. That is,\nthe specified routine is removed from the server. You must have the\nALTER ROUTINE privilege for the routine. (If the\nautomatic_sp_privileges system variable is enabled, that privilege and\nEXECUTE are granted automatically to the routine creator when the\nroutine is created and dropped from the creator when the routine is\ndropped. See\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-routines-privileges.html.\n)\n\nThe IF EXISTS clause is a MySQL extension. It prevents an error from\noccurring if the procedure or function does not exist. A warning is\nproduced that can be viewed with SHOW WARNINGS.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-procedure.html'),(568,'ST_LATFROMGEOHASH',7,'ST_LatFromGeoHash(geohash_str)\n\nReturns the latitude from a geohash string value, as a DOUBLE value in\nthe range [−90, 90]. The result is NULL if any argument is NULL. An\nerror occurs if the argument is invalid.\n\nThe ST_LatFromGeoHash() decoding function reads no more than 433\ncharacters from the geohash_str argument. That represents the upper\nlimit on information in the internal representation of coordinate\nvalues. Characters past the 433rd are ignored, even if they are\notherwise illegal and produce an error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html\n\n','mysql> SELECT ST_LatFromGeoHash(ST_GeoHash(45,-20,10));\n+------------------------------------------+\n| ST_LatFromGeoHash(ST_GeoHash(45,-20,10)) |\n+------------------------------------------+\n|                                      -20 |\n+------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html'),(569,'ST_GEOMFROMGEOJSON',7,'ST_GeomFromGeoJSON(str [, options [, srid]])\n\nParses a string str representing a GeoJSON object and returns a\ngeometry.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html\n\n','mysql> SET @json = \'{ \"type\": \"Point\", \"coordinates\": [102.0, 0.0]}\';\nmysql> SELECT ST_AsText(ST_GeomFromGeoJSON(@json));\n+--------------------------------------+\n| ST_AsText(ST_GeomFromGeoJSON(@json)) |\n+--------------------------------------+\n| POINT(102 0)                         |\n+--------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html'),(570,'INSTALL PLUGIN',5,'Syntax:\nINSTALL PLUGIN plugin_name SONAME \'shared_library_name\'\n\nThis statement installs a server plugin. It requires the INSERT\nprivilege for the mysql.plugin table.\n\nplugin_name is the name of the plugin as defined in the plugin\ndescriptor structure contained in the library file (see\nhttp://dev.mysql.com/doc/refman/5.7/en/plugin-data-structures.html).\nPlugin names are not case sensitive. For maximal compatibility, plugin\nnames should be limited to ASCII letters, digits, and underscore\nbecause they are used in C source files, shell command lines, M4 and\nBourne shell scripts, and SQL environments.\n\nshared_library_name is the name of the shared library that contains the\nplugin code. The name includes the file name extension (for example,\nlibmyplugin.so, libmyplugin.dll, or libmyplugin.dylib).\n\nThe shared library must be located in the plugin directory (the\ndirectory named by the plugin_dir system variable). The library must be\nin the plugin directory itself, not in a subdirectory. By default,\nplugin_dir is the plugin directory under the directory named by the\npkglibdir configuration variable, but it can be changed by setting the\nvalue of plugin_dir at server startup. For example, set its value in a\nmy.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\n\nIf the value of plugin_dir is a relative path name, it is taken to be\nrelative to the MySQL base directory (the value of the basedir system\nvariable).\n\nINSTALL PLUGIN loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its\ninitialization function, which handles any setup that the plugin must\nperform before it can be used. When the server shuts down, it executes\nthe deinitialization function for each plugin that is loaded so that\nthe plugin has a chance to perform any final cleanup.\n\nINSTALL PLUGIN also registers the plugin by adding a line that\nindicates the plugin name and library file name to the mysql.plugin\ntable. At server startup, the server loads and initializes any plugin\nthat is listed in the mysql.plugin table. This means that a plugin is\ninstalled with INSTALL PLUGIN only once, not every time the server\nstarts. Plugin loading at startup does not occur if the server is\nstarted with the --skip-grant-tables option.\n\nA plugin library can contain multiple plugins. For each of them to be\ninstalled, use a separate INSTALL PLUGIN statement. Each statement\nnames a different plugin, but all of them specify the same library\nname.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/install-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/install-plugin.html'),(571,'DECLARE CURSOR',24,'Syntax:\nDECLARE cursor_name CURSOR FOR select_statement\n\nThis statement declares a cursor and associates it with a SELECT\nstatement that retrieves the rows to be traversed by the cursor. To\nfetch the rows later, use a FETCH statement. The number of columns\nretrieved by the SELECT statement must match the number of output\nvariables specified in the FETCH statement.\n\nThe SELECT statement cannot have an INTO clause.\n\nCursor declarations must appear before handler declarations and after\nvariable and condition declarations.\n\nA stored program may contain multiple cursor declarations, but each\ncursor declared in a given block must have a unique name. For an\nexample, see http://dev.mysql.com/doc/refman/5.7/en/cursors.html.\n\nFor information available through SHOW statements, it is possible in\nmany cases to obtain equivalent information by using a cursor with an\nINFORMATION_SCHEMA table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/declare-cursor.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/declare-cursor.html'),(572,'LOAD DATA',28,'Syntax:\nLOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n    [REPLACE | IGNORE]\n    INTO TABLE tbl_name\n    [PARTITION (partition_name,...)]\n    [CHARACTER SET charset_name]\n    [{FIELDS | COLUMNS}\n        [TERMINATED BY \'string\']\n        [[OPTIONALLY] ENCLOSED BY \'char\']\n        [ESCAPED BY \'char\']\n    ]\n    [LINES\n        [STARTING BY \'string\']\n        [TERMINATED BY \'string\']\n    ]\n    [IGNORE number {LINES | ROWS}]\n    [(col_name_or_user_var,...)]\n    [SET col_name = expr,...]\n\nThe LOAD DATA INFILE statement reads rows from a text file into a table\nat a very high speed. LOAD DATA INFILE is the complement of SELECT ...\nINTO OUTFILE. (See\nhttp://dev.mysql.com/doc/refman/5.7/en/select-into.html.) To write data\nfrom a table to a file, use SELECT ... INTO OUTFILE. To read the file\nback into a table, use LOAD DATA INFILE. The syntax of the FIELDS and\nLINES clauses is the same for both statements. Both clauses are\noptional, but FIELDS must precede LINES if both are specified.\n\nYou can also load data files by using the mysqlimport utility; it\noperates by sending a LOAD DATA INFILE statement to the server. The\n--local option causes mysqlimport to read data files from the client\nhost. You can specify the --compress option to get better performance\nover slow networks if the client and server support the compressed\nprotocol. See http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html.\n\nFor more information about the efficiency of INSERT versus LOAD DATA\nINFILE and speeding up LOAD DATA INFILE, see\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-speed.html.\n\nThe file name must be given as a literal string. On Windows, specify\nbackslashes in path names as forward slashes or doubled backslashes.\nThe character_set_filesystem system variable controls the\ninterpretation of the file name.\n\nLOAD DATA supports explicit partition selection using the PARTITION\noption with a comma-separated list of one or more names of partitions,\nsubpartitions, or both. When this option is used, if any rows from the\nfile cannot be inserted into any of the partitions or subpartitions\nnamed in the list, the statement fails with the error Found a row not\nmatching the given partition set. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nFor partitioned tables using storage engines that employ table locks,\nsuch as MyISAM, LOAD DATA cannot prune any partition locks. This does\nnot apply to tables using storage engines which employ row-level\nlocking, such as InnoDB. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations-locking\n.html.\n\nThe server uses the character set indicated by the\ncharacter_set_database system variable to interpret the information in\nthe file. SET NAMES and the setting of character_set_client do not\naffect interpretation of input. If the contents of the input file use a\ncharacter set that differs from the default, it is usually preferable\nto specify the character set of the file by using the CHARACTER SET\nclause. A character set of binary specifies \"no conversion.\"\n\nLOAD DATA INFILE interprets all fields in the file as having the same\ncharacter set, regardless of the data types of the columns into which\nfield values are loaded. For proper interpretation of file contents,\nyou must ensure that it was written with the correct character set. For\nexample, if you write a data file with mysqldump -T or by issuing a\nSELECT ... INTO OUTFILE statement in mysql, be sure to use a\n--default-character-set option so that output is written in the\ncharacter set to be used when the file is loaded with LOAD DATA INFILE.\n\n*Note*: It is not possible to load data files that use the ucs2, utf16,\nutf16le, or utf32 character set.\n\nIf you use LOW_PRIORITY, execution of the LOAD DATA statement is\ndelayed until no other clients are reading from the table. This affects\nonly storage engines that use only table-level locking (such as MyISAM,\nMEMORY, and MERGE).\n\nIf you specify CONCURRENT with a MyISAM table that satisfies the\ncondition for concurrent inserts (that is, it contains no free blocks\nin the middle), other threads can retrieve data from the table while\nLOAD DATA is executing. This option affects the performance of LOAD\nDATA a bit, even if no other thread is using the table at the same\ntime.\n\nWith row-based replication, CONCURRENT is replicated regardless of\nMySQL version. With statement-based replication CONCURRENT is not\nreplicated prior to MySQL 5.5.1 (see Bug #34628). For more information,\nsee\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-features-load-data.h\ntml.\n\nThe LOCAL keyword affects expected location of the file and error\nhandling, as described later. LOCAL works only if your server and your\nclient both have been configured to permit it. For example, if mysqld\nwas started with --local-infile=0, LOCAL does not work. See\nhttp://dev.mysql.com/doc/refman/5.7/en/load-data-local.html.\n\nThe LOCAL keyword affects where the file is expected to be found:\n\no If LOCAL is specified, the file is read by the client program on the\n  client host and sent to the server. The file can be given as a full\n  path name to specify its exact location. If given as a relative path\n  name, the name is interpreted relative to the directory in which the\n  client program was started.\n\n  When using LOCAL with LOAD DATA, a copy of the file is created in the\n  server\'s temporary directory. This is not the directory determined by\n  the value of tmpdir or slave_load_tmpdir, but rather the operating\n  system\'s temporary directory, and is not configurable in the MySQL\n  Server. (Typically the system temporary directory is /tmp on Linux\n  systems and C:\\WINDOWS\\TEMP on Windows.) Lack of sufficient space for\n  the copy in this directory can cause the LOAD DATA LOCAL statement to\n  fail.\n\no If LOCAL is not specified, the file must be located on the server\n  host and is read directly by the server. The server uses the\n  following rules to locate the file:\n\n  o If the file name is an absolute path name, the server uses it as\n    given.\n\n  o If the file name is a relative path name with one or more leading\n    components, the server searches for the file relative to the\n    server\'s data directory.\n\n  o If a file name with no leading components is given, the server\n    looks for the file in the database directory of the default\n    database.\n\nIn the non-LOCAL case, these rules mean that a file named as\n./myfile.txt is read from the server\'s data directory, whereas the file\nnamed as myfile.txt is read from the database directory of the default\ndatabase. For example, if db1 is the default database, the following\nLOAD DATA statement reads the file data.txt from the database directory\nfor db1, even though the statement explicitly loads the file into a\ntable in the db2 database:\n\nLOAD DATA INFILE \'data.txt\' INTO TABLE db2.my_table;\n\nFor security reasons, when reading text files located on the server,\nthe files must either reside in the database directory or be readable\nby the user account used to run the server. Also, to use LOAD DATA\nINFILE on server files, you must have the FILE privilege. See\nhttp://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html. For\nnon-LOCAL load operations, if the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nUsing LOCAL is a bit slower than letting the server access the files\ndirectly, because the contents of the file must be sent over the\nconnection by the client to the server. On the other hand, you do not\nneed the FILE privilege to load local files.\n\nLOCAL also affects error handling:\n\no With LOAD DATA INFILE, data-interpretation and duplicate-key errors\n  terminate the operation.\n\no With LOAD DATA LOCAL INFILE, data-interpretation and duplicate-key\n  errors become warnings and the operation continues because the server\n  has no way to stop transmission of the file in the middle of the\n  operation. For duplicate-key errors, this is the same as if IGNORE is\n  specified. IGNORE is explained further later in this section.\n\nThe REPLACE and IGNORE keywords control handling of input rows that\nduplicate existing rows on unique key values:\n\no If you specify REPLACE, input rows replace existing rows. In other\n  words, rows that have the same value for a primary key or unique\n  index as an existing row. See [HELP REPLACE].\n\no If you specify IGNORE, rows that duplicate an existing row on a\n  unique key value are discarded. For more information, see\n  http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#ignore-strict-co\n  mparison.\n\no If you do not specify either option, the behavior depends on whether\n  the LOCAL keyword is specified. Without LOCAL, an error occurs when a\n  duplicate key value is found, and the rest of the text file is\n  ignored. With LOCAL, the default behavior is the same as if IGNORE is\n  specified; this is because the server has no way to stop transmission\n  of the file in the middle of the operation.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/load-data.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/load-data.html'),(573,'LOCALTIME',32,'Syntax:\nLOCALTIME, LOCALTIME([fsp])\n\nLOCALTIME and LOCALTIME() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(574,'ST_GEOMFROMWKB',33,'ST_GeomFromWKB(wkb[,srid]), ST_GeometryFromWKB(wkb[,srid])\n\nConstructs a geometry value of any type using its WKB representation\nand SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'),(575,'SHA1',12,'Syntax:\nSHA1(str), SHA(str)\n\nCalculates an SHA-1 160-bit checksum for the string, as described in\nRFC 3174 (Secure Hash Algorithm). The value is returned as a string of\n40 hex digits, or NULL if the argument was NULL. One of the possible\nuses for this function is as a hash key. See the notes at the beginning\nof this section about storing hash values efficiently. You can also use\nSHA1() as a cryptographic function for storing passwords. SHA() is\nsynonymous with SHA1().\n\nThe return value is a nonbinary string in the connection character set.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT SHA1(\'abc\');\n        -> \'a9993e364706816aba3e25717850c26c9cd0d89d\'\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'),(576,'BLOB',23,'BLOB[(M)]\n\nA BLOB column with a maximum length of 65,535 (216 − 1) bytes. Each\nBLOB value is stored using a 2-byte length prefix that indicates the\nnumber of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest BLOB type large enough to hold\nvalues M bytes long.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'),(577,'PASSWORD',12,'Syntax:\nPASSWORD(str)\n\n*Note*: This function is deprecated as of MySQL 5.7.6 and will be\nremoved in a future MySQL release.\n\nReturns a hashed password string calculated from the cleartext password\nstr. The return value is a nonbinary string in the connection character\nset, or NULL if the argument is NULL. This function is the SQL\ninterface to the algorithm used by the server to encrypt MySQL\npasswords for storage in the mysql.user grant table.\n\nThe old_passwords system variable controls the password hashing method\nused by the PASSWORD() function. It also influences password hashing\nperformed by CREATE USER and GRANT statements that specify a password\nusing an IDENTIFIED BY clause.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SET old_passwords = 0;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+-------------------------------------------+------------------------+\n| PASSWORD(\'mypass\')                        | OLD_PASSWORD(\'mypass\') |\n+-------------------------------------------+------------------------+\n| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | 6f8c114b58f2ce9e       |\n+-------------------------------------------+------------------------+\n\nmysql> SET old_passwords = 1;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+--------------------+------------------------+\n| PASSWORD(\'mypass\') | OLD_PASSWORD(\'mypass\') |\n+--------------------+------------------------+\n| 6f8c114b58f2ce9e   | 6f8c114b58f2ce9e       |\n+--------------------+------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'),(578,'UTC_DATE',32,'Syntax:\nUTC_DATE, UTC_DATE()\n\nReturns the current UTC date as a value in \'YYYY-MM-DD\' or YYYYMMDD\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_DATE(), UTC_DATE() + 0;\n        -> \'2003-08-14\', 20030814\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(579,'DIMENSION',37,'Dimension(g)\n\nST_Dimension() and Dimension() are synonyms. For more information, see\nthe description of ST_Dimension().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'),(580,'BIT',23,'BIT[(M)]\n\nA bit-field type. M indicates the number of bits per value, from 1 to\n64. The default is 1 if M is omitted.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'),(581,'XA',8,'Syntax:\nXA {START|BEGIN} xid [JOIN|RESUME]\n\nXA END xid [SUSPEND [FOR MIGRATE]]\n\nXA PREPARE xid\n\nXA COMMIT xid [ONE PHASE]\n\nXA ROLLBACK xid\n\nXA RECOVER [CONVERT XID]\n\nFor XA START, the JOIN and RESUME clauses are not supported.\n\nFor XA END the SUSPEND [FOR MIGRATE] clause is not supported.\n\nEach XA statement begins with the XA keyword, and most of them require\nan xid value. An xid is an XA transaction identifier. It indicates\nwhich transaction the statement applies to. xid values are supplied by\nthe client, or generated by the MySQL server. An xid value has from one\nto three parts:\n\nxid: gtrid [, bqual [, formatID ]]\n\ngtrid is a global transaction identifier, bqual is a branch qualifier,\nand formatID is a number that identifies the format used by the gtrid\nand bqual values. As indicated by the syntax, bqual and formatID are\noptional. The default bqual value is \'\' if not given. The default\nformatID value is 1 if not given.\n\ngtrid and bqual must be string literals, each up to 64 bytes (not\ncharacters) long. gtrid and bqual can be specified in several ways. You\ncan use a quoted string (\'ab\'), hex string (X\'6162\', 0x6162), or bit\nvalue (b\'nnnn\').\n\nformatID is an unsigned integer.\n\nThe gtrid and bqual values are interpreted in bytes by the MySQL\nserver\'s underlying XA support routines. However, while an SQL\nstatement containing an XA statement is being parsed, the server works\nwith some specific character set. To be safe, write gtrid and bqual as\nhex strings.\n\nxid values typically are generated by the Transaction Manager. Values\ngenerated by one TM must be different from values generated by other\nTMs. A given TM must be able to recognize its own xid values in a list\nof values returned by the XA RECOVER statement.\n\nFor XA START xid starts an XA transaction with the given xid value.\nEach XA transaction must have a unique xid value, so the value must not\ncurrently be used by another XA transaction. Uniqueness is assessed\nusing the gtrid and bqual values. All following XA statements for the\nXA transaction must be specified using the same xid value as that given\nin the XA START statement. If you use any of those statements but\nspecify an xid value that does not correspond to some existing XA\ntransaction, an error occurs.\n\nOne or more XA transactions can be part of the same global transaction.\nAll XA transactions within a given global transaction must use the same\ngtrid value in the xid value. For this reason, gtrid values must be\nglobally unique so that there is no ambiguity about which global\ntransaction a given XA transaction is part of. The bqual part of the\nxid value must be different for each XA transaction within a global\ntransaction. (The requirement that bqual values be different is a\nlimitation of the current MySQL XA implementation. It is not part of\nthe XA specification.)\n\nThe XA RECOVER statement returns information for those XA transactions\non the MySQL server that are in the PREPARED state. (See\nhttp://dev.mysql.com/doc/refman/5.7/en/xa-states.html.) The output\nincludes a row for each such XA transaction on the server, regardless\nof which client started it.\n\nXA RECOVER output rows look like this (for an example xid value\nconsisting of the parts \'abc\', \'def\', and 7):\n\nmysql> XA RECOVER;\n+----------+--------------+--------------+--------+\n| formatID | gtrid_length | bqual_length | data   |\n+----------+--------------+--------------+--------+\n|        7 |            3 |            3 | abcdef |\n+----------+--------------+--------------+--------+\n\nThe output columns have the following meanings:\n\no formatID is the formatID part of the transaction xid\n\no gtrid_length is the length in bytes of the gtrid part of the xid\n\no bqual_length is the length in bytes of the bqual part of the xid\n\no data is the concatenation of the gtrid and bqual parts of the xid\n\nXID values may contain nonprintable characters. As of MySQL 5.7.5, XA\nRECOVER permits an optional CONVERT XID clause so that clients can\nrequest XID values in hexadecimal.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/xa-statements.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/xa-statements.html'),(582,'EQUALS',31,'Equals(g1,g2)\n\nMBREquals() and Equals() are synonyms. For more information, see the\ndescription of MBREquals().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'),(583,'CENTROID',2,'Centroid(mpoly)\n\nST_Centroid() and Centroid() are synonyms. For more information, see\nthe description of ST_Centroid().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'),(584,'OCTET_LENGTH',38,'Syntax:\nOCTET_LENGTH(str)\n\nOCTET_LENGTH() is a synonym for LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(585,'UTC_TIMESTAMP',32,'Syntax:\nUTC_TIMESTAMP, UTC_TIMESTAMP([fsp])\n\nReturns the current UTC date and time as a value in \'YYYY-MM-DD\nHH:MM:SS\' or YYYYMMDDHHMMSS format, depending on whether the function\nis used in a string or numeric context.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0;\n        -> \'2003-08-14 18:08:04\', 20030814180804.000000\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(586,'AES_ENCRYPT',12,'Syntax:\nAES_ENCRYPT(str,key_str[,init_vector])\n\nAES_ENCRYPT() and AES_DECRYPT() implement encryption and decryption of\ndata using the official AES (Advanced Encryption Standard) algorithm,\npreviously known as \"Rijndael.\" The AES standard permits various key\nlengths. By default these functions implement AES with a 128-bit key\nlength. As of MySQL 5.7.4, key lengths of 196 or 256 bits can be used,\nas described later. The key length is a trade off between performance\nand security.\n\nAES_ENCRYPT() encrypts the string str using the key string key_str and\nreturns a binary string containing the encrypted output. AES_DECRYPT()\ndecrypts the encrypted string crypt_str using the key string key_str\nand returns the original cleartext string. If either function argument\nis NULL, the function returns NULL.\n\nThe str and crypt_str arguments can be any length, and padding is\nautomatically added to str so it is a multiple of a block as required\nby block-based algorithms such as AES. This padding is automatically\nremoved by the AES_DECRYPT() function. The length of crypt_str can be\ncalculated using this formula:\n\n16 * (trunc(string_length / 16) + 1)\n\nFor a key length of 128 bits, the most secure way to pass a key to the\nkey_str argument is to create a truly random 128-bit value and pass it\nas a binary value. For example:\n\nINSERT INTO t\nVALUES (1,AES_ENCRYPT(\'text\',UNHEX(\'F3229A0B371ED2D9441B830D21A390C3\')));\n\nA passphrase can be used to generate an AES key by hashing the\npassphrase. For example:\n\nINSERT INTO t VALUES (1,AES_ENCRYPT(\'text\', SHA2(\'My secret passphrase\',512)));\n\nDo not pass a password or passphrase directly to crypt_str, hash it\nfirst. Previous versions of this documentation suggested the former\napproach, but it is no longer recommended as the examples shown here\nare more secure.\n\nIf AES_DECRYPT() detects invalid data or incorrect padding, it returns\nNULL. However, it is possible for AES_DECRYPT() to return a non-NULL\nvalue (possibly garbage) if the input data or the key is invalid.\n\nAs of MySQL 5.7.4, AES_ENCRYPT() and AES_DECRYPT() permit control of\nthe block encryption mode and take an optional init_vector\ninitialization vector argument:\n\no The block_encryption_mode system variable controls the mode for\n  block-based encryption algorithms. Its default value is aes-128-ecb,\n  which signifies encryption using a key length of 128 bits and ECB\n  mode. For a description of the permitted values of this variable, see\n  http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\no The optional init_vector argument provides an initialization vector\n  for block encryption modes that require it.\n\nFor modes that require the optional init_vector argument, it must be 16\nbytes or longer (bytes in excess of 16 are ignored). An error occurs if\ninit_vector is missing.\n\nFor modes that do not require init_vector, it is ignored and a warning\nis generated if it is specified.\n\nA random string of bytes to use for the initialization vector can be\nproduced by calling RANDOM_BYTES(16). For encryption modes that require\nan initialization vector, the same vector must be used for encryption\nand decryption.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SET block_encryption_mode = \'aes-256-cbc\';\nmysql> SET @key_str = SHA2(\'My secret passphrase\',512);\nmysql> SET @init_vector = RANDOM_BYTES(16);\nmysql> SET @crypt_str = AES_ENCRYPT(\'text\',@key_str,@init_vector);\nmysql> SELECT AES_DECRYPT(@crypt_str,@key_str,@init_vector);\n+-----------------------------------------------+\n| AES_DECRYPT(@crypt_str,@key_str,@init_vector) |\n+-----------------------------------------------+\n| text                                          |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'),(587,'+',3,'Syntax:\n+\n\nAddition:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 3+5;\n        -> 8\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'),(588,'GTID_SUBTRACT',7,'Syntax:\nGTID_SUBTRACT(set,subset)\n\nGiven two sets of global transaction IDs subset and set, returns only\nthose GTIDs from set that are not in subset.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','mysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    ->     \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:22-57\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    ->     \'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    \'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:26-57\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    ->     \'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-24\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\', \n    \'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-24\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:21-22:25-57\n1 row in set (0.01 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'),(589,'INET_NTOA',14,'Syntax:\nINET_NTOA(expr)\n\nGiven a numeric IPv4 network address in network byte order, returns the\ndotted-quad string representation of the address as a nonbinary string\nin the connection character set. INET_NTOA() returns NULL if it does\nnot understand its argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_NTOA(167773449);\n        -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(590,'DAYOFWEEK',32,'Syntax:\nDAYOFWEEK(date)\n\nReturns the weekday index for date (1 = Sunday, 2 = Monday, ..., 7 =\nSaturday). These index values correspond to the ODBC standard.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFWEEK(\'2007-02-03\');\n        -> 7\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(591,'CEILING',3,'Syntax:\nCEILING(X)\n\nReturns the smallest integer value not less than X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT CEILING(1.23);\n        -> 2\nmysql> SELECT CEILING(-1.23);\n        -> -1\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(592,'SHOW PROCESSLIST',27,'Syntax:\nSHOW [FULL] PROCESSLIST\n\nSHOW PROCESSLIST shows you which threads are running. You can also get\nthis information from the INFORMATION_SCHEMA PROCESSLIST table or the\nmysqladmin processlist command. If you have the PROCESS privilege, you\ncan see all threads. Otherwise, you can see only your own threads (that\nis, threads associated with the MySQL account that you are using). If\nyou do not use the FULL keyword, only the first 100 characters of each\nstatement are shown in the Info field.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-processlist.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-processlist.html'),(593,'LINEFROMWKB',33,'LineFromWKB(wkb[,srid]), LineStringFromWKB(wkb[,srid])\n\nST_LineFromWKB(), ST_LineStringFromWKB(), LineFromWKB(), and\nLineStringFromWKB() are synonyms. For more information, see the\ndescription of ST_LineFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'),(594,'GEOMETRYTYPE',37,'GeometryType(g)\n\nST_GeometryType() and GeometryType() are synonyms. For more\ninformation, see the description of ST_GeometryType().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'),(595,'CREATE VIEW',40,'Syntax:\nCREATE\n    [OR REPLACE]\n    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n    [DEFINER = { user | CURRENT_USER }]\n    [SQL SECURITY { DEFINER | INVOKER }]\n    VIEW view_name [(column_list)]\n    AS select_statement\n    [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThe CREATE VIEW statement creates a new view, or replaces an existing\nview if the OR REPLACE clause is given. If the view does not exist,\nCREATE OR REPLACE VIEW is the same as CREATE VIEW. If the view does\nexist, CREATE OR REPLACE VIEW is the same as ALTER VIEW.\n\nThe select_statement is a SELECT statement that provides the definition\nof the view. (Selecting from the view selects, in effect, using the\nSELECT statement.) The select_statement can select from base tables or\nother views.\n\nThe view definition is \"frozen\" at creation time. Changes to the\nunderlying tables afterward do not affect the view definition. For\nexample, if a view is defined as SELECT * on a table, new columns added\nto the table later do not become part of the view.\n\nThe ALGORITHM clause affects how MySQL processes the view. The DEFINER\nand SQL SECURITY clauses specify the security context to be used when\nchecking access privileges at view invocation time. The WITH CHECK\nOPTION clause can be given to constrain inserts or updates to rows in\ntables referenced by the view. These clauses are described later in\nthis section.\n\nThe CREATE VIEW statement requires the CREATE VIEW privilege for the\nview, and some privilege for each column selected by the SELECT\nstatement. For columns used elsewhere in the SELECT statement, you must\nhave the SELECT privilege. If the OR REPLACE clause is present, you\nmust also have the DROP privilege for the view. CREATE VIEW might also\nrequire the SUPER privilege, depending on the DEFINER value, as\ndescribed later in this section.\n\nWhen a view is referenced, privilege checking occurs as described later\nin this section.\n\nA view belongs to a database. By default, a new view is created in the\ndefault database. To create the view explicitly in a given database,\nuse db_name.view_name syntax to qualify the view name with the database\nname:\n\nmysql> CREATE VIEW test.v AS SELECT * FROM t;\n\nWithin a database, base tables and views share the same namespace, so a\nbase table and a view cannot have the same name.\n\nColumns retrieved by the SELECT statement can be simple references to\ntable columns, or expressions that use functions, constant values,\noperators, and so forth.\n\nA view must have unique column names with no duplicates, just like a\nbase table. By default, the names of the columns retrieved by the\nSELECT statement are used for the view column names. To define explicit\nnames for the view columns, the optional column_list clause can be\ngiven as a list of comma-separated identifiers. The number of names in\ncolumn_list must be the same as the number of columns retrieved by the\nSELECT statement.\n\nUnqualified table or view names in the SELECT statement are interpreted\nwith respect to the default database. A view can refer to tables or\nviews in other databases by qualifying the table or view name with the\nappropriate database name.\n\nA view can be created from many kinds of SELECT statements. It can\nrefer to base tables or other views. It can use joins, UNION, and\nsubqueries. The SELECT need not even refer to any tables.\n\nThe following example defines a view that selects two columns from\nanother table as well as an expression calculated from those columns:\n\nmysql> CREATE TABLE t (qty INT, price INT);\nmysql> INSERT INTO t VALUES(3, 50);\nmysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;\nmysql> SELECT * FROM v;\n+------+-------+-------+\n| qty  | price | value |\n+------+-------+-------+\n|    3 |    50 |   150 |\n+------+-------+-------+\n\nA view definition is subject to the following restrictions:\n\no Before MySQL 5.7.7, the SELECT statement cannot contain a subquery in\n  the FROM clause.\n\no The SELECT statement cannot refer to system variables or user-defined\n  variables.\n\no Within a stored program, the SELECT statement cannot refer to program\n  parameters or local variables.\n\no The SELECT statement cannot refer to prepared statement parameters.\n\no Any table or view referred to in the definition must exist. After the\n  view has been created, it is possible to drop a table or view that\n  the definition refers to. In this case, use of the view results in an\n  error. To check a view definition for problems of this kind, use the\n  CHECK TABLE statement.\n\no The definition cannot refer to a TEMPORARY table, and you cannot\n  create a TEMPORARY view.\n\no You cannot associate a trigger with a view.\n\no Aliases for column names in the SELECT statement are checked against\n  the maximum column length of 64 characters (not the maximum alias\n  length of 256 characters).\n\nORDER BY is permitted in a view definition, but it is ignored if you\nselect from a view using a statement that has its own ORDER BY.\n\nFor other options or clauses in the definition, they are added to the\noptions or clauses of the statement that references the view, but the\neffect is undefined. For example, if a view definition includes a LIMIT\nclause, and you select from the view using a statement that has its own\nLIMIT clause, it is undefined which limit applies. This same principle\napplies to options such as ALL, DISTINCT, or SQL_SMALL_RESULT that\nfollow the SELECT keyword, and to clauses such as INTO, FOR UPDATE,\nLOCK IN SHARE MODE, and PROCEDURE.\n\nIf you create a view and then change the query processing environment\nby changing system variables, that may affect the results you get from\nthe view:\n\nmysql> CREATE VIEW v (mycol) AS SELECT \'abc\';\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SET sql_mode = \'\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT \"mycol\" FROM v;\n+-------+\n| mycol |\n+-------+\n| mycol |\n+-------+\n1 row in set (0.01 sec)\n\nmysql> SET sql_mode = \'ANSI_QUOTES\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT \"mycol\" FROM v;\n+-------+\n| mycol |\n+-------+\n| abc   |\n+-------+\n1 row in set (0.00 sec)\n\nThe DEFINER and SQL SECURITY clauses determine which MySQL account to\nuse when checking access privileges for the view when a statement is\nexecuted that references the view. The valid SQL SECURITY\ncharacteristic values are DEFINER (the default) and INVOKER. These\nindicate that the required privileges must be held by the user who\ndefined or invoked the view, respectively.\n\nIf a user value is given for the DEFINER clause, it should be a MySQL\naccount specified as \'user_name\'@\'host_name\' (the same format used in\nthe GRANT statement), CURRENT_USER, or CURRENT_USER(). The default\nDEFINER value is the user who executes the CREATE VIEW statement. This\nis the same as specifying DEFINER = CURRENT_USER explicitly.\n\nIf you specify the DEFINER clause, these rules determine the valid\nDEFINER user values:\n\no If you do not have the SUPER privilege, the only valid user value is\n  your own account, either specified literally or by using\n  CURRENT_USER. You cannot set the definer to some other account.\n\no If you have the SUPER privilege, you can specify any syntactically\n  valid account name. If the account does not exist, a warning is\n  generated.\n\no Although it is possible to create a view with a nonexistent DEFINER\n  account, an error occurs when the view is referenced if the SQL\n  SECURITY value is DEFINER but the definer account does not exist.\n\nFor more information about view security, see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-security.html.\n\nWithin a view definition, CURRENT_USER returns the view\'s DEFINER value\nby default. For views defined with the SQL SECURITY INVOKER\ncharacteristic, CURRENT_USER returns the account for the view\'s\ninvoker. For information about user auditing within views, see\nhttp://dev.mysql.com/doc/refman/5.7/en/account-activity-auditing.html.\n\nWithin a stored routine that is defined with the SQL SECURITY DEFINER\ncharacteristic, CURRENT_USER returns the routine\'s DEFINER value. This\nalso affects a view defined within such a routine, if the view\ndefinition contains a DEFINER value of CURRENT_USER.\n\nMySQL checks view privileges like this:\n\no At view definition time, the view creator must have the privileges\n  needed to use the top-level objects accessed by the view. For\n  example, if the view definition refers to table columns, the creator\n  must have some privilege for each column in the select list of the\n  definition, and the SELECT privilege for each column used elsewhere\n  in the definition. If the definition refers to a stored function,\n  only the privileges needed to invoke the function can be checked. The\n  privileges required at function invocation time can be checked only\n  as it executes: For different invocations, different execution paths\n  within the function might be taken.\n\no The user who references a view must have appropriate privileges to\n  access it (SELECT to select from it, INSERT to insert into it, and so\n  forth.)\n\no When a view has been referenced, privileges for objects accessed by\n  the view are checked against the privileges held by the view DEFINER\n  account or invoker, depending on whether the SQL SECURITY\n  characteristic is DEFINER or INVOKER, respectively.\n\no If reference to a view causes execution of a stored function,\n  privilege checking for statements executed within the function depend\n  on whether the function SQL SECURITY characteristic is DEFINER or\n  INVOKER. If the security characteristic is DEFINER, the function runs\n  with the privileges of the DEFINER account. If the characteristic is\n  INVOKER, the function runs with the privileges determined by the\n  view\'s SQL SECURITY characteristic.\n\nExample: A view might depend on a stored function, and that function\nmight invoke other stored routines. For example, the following view\ninvokes a stored function f():\n\nCREATE VIEW v AS SELECT * FROM t WHERE t.id = f(t.name);\n\nSuppose that f() contains a statement such as this:\n\nIF name IS NULL then\n  CALL p1();\nELSE\n  CALL p2();\nEND IF;\n\nThe privileges required for executing statements within f() need to be\nchecked when f() executes. This might mean that privileges are needed\nfor p1() or p2(), depending on the execution path within f(). Those\nprivileges must be checked at runtime, and the user who must possess\nthe privileges is determined by the SQL SECURITY values of the view v\nand the function f().\n\nThe DEFINER and SQL SECURITY clauses for views are extensions to\nstandard SQL. In standard SQL, views are handled using the rules for\nSQL SECURITY DEFINER. The standard says that the definer of the view,\nwhich is the same as the owner of the view\'s schema, gets applicable\nprivileges on the view (for example, SELECT) and may grant them. MySQL\nhas no concept of a schema \"owner\", so MySQL adds a clause to identify\nthe definer. The DEFINER clause is an extension where the intent is to\nhave what the standard has; that is, a permanent record of who defined\nthe view. This is why the default DEFINER value is the account of the\nview creator.\n\nThe optional ALGORITHM clause is a MySQL extension to standard SQL. It\naffects how MySQL processes the view. ALGORITHM takes three values:\nMERGE, TEMPTABLE, or UNDEFINED. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/view-algorithms.html.\n\nSome views are updatable. That is, you can use them in statements such\nas UPDATE, DELETE, or INSERT to update the contents of the underlying\ntable. For a view to be updatable, there must be a one-to-one\nrelationship between the rows in the view and the rows in the\nunderlying table. There are also certain other constructs that make a\nview nonupdatable.\n\nA generated column in a view is considered updatable because it is\npossible to assign to it. However, if such a column is updated\nexplicitly, the only permitted value is DEFAULT. For information about\ngenerated columns, see\nhttp://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-table-g\nenerated-columns.\n\nThe WITH CHECK OPTION clause can be given for an updatable view to\nprevent inserts or updates to rows except those for which the WHERE\nclause in the select_statement is true.\n\nIn a WITH CHECK OPTION clause for an updatable view, the LOCAL and\nCASCADED keywords determine the scope of check testing when the view is\ndefined in terms of another view. The LOCAL keyword restricts the CHECK\nOPTION only to the view being defined. CASCADED causes the checks for\nunderlying views to be evaluated as well. When neither keyword is\ngiven, the default is CASCADED.\n\nFor more information about updatable views and the WITH CHECK OPTION\nclause, see\nhttp://dev.mysql.com/doc/refman/5.7/en/view-updatability.html, and\nhttp://dev.mysql.com/doc/refman/5.7/en/view-check-option.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-view.html'),(596,'TRIM',38,'Syntax:\nTRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr\nFROM] str)\n\nReturns the string str with all remstr prefixes or suffixes removed. If\nnone of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is\nassumed. remstr is optional and, if not specified, spaces are removed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT TRIM(\'  bar   \');\n        -> \'bar\'\nmysql> SELECT TRIM(LEADING \'x\' FROM \'xxxbarxxx\');\n        -> \'barxxx\'\nmysql> SELECT TRIM(BOTH \'x\' FROM \'xxxbarxxx\');\n        -> \'bar\'\nmysql> SELECT TRIM(TRAILING \'xyz\' FROM \'barxxyz\');\n        -> \'barx\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(597,'INET6_NTOA',14,'Syntax:\nINET6_NTOA(expr)\n\nGiven an IPv6 or IPv4 network address represented in numeric form as a\nbinary string, returns the string representation of the address as a\nnonbinary string in the connection character set. If the argument is\nnot a valid address, INET6_NTOA() returns NULL.\n\nINET6_NTOA() has these properties:\n\no It does not use operating system functions to perform conversions,\n  thus the output string is platform independent.\n\no The return string has a maximum length of 39 (4 x 8 + 7). Given this\n  statement:\n\nCREATE TABLE t AS SELECT INET6_NTOA(expr) AS c1;\n\n  The resulting table would have this definition:\n\nCREATE TABLE t (c1 VARCHAR(39) CHARACTER SET utf8 DEFAULT NULL);\n\no The return string uses lowercase letters for IPv6 addresses.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT INET6_NTOA(INET6_ATON(\'fdfe::5a55:caff:fefa:9089\'));\n        -> \'fdfe::5a55:caff:fefa:9089\'\nmysql> SELECT INET6_NTOA(INET6_ATON(\'10.0.5.9\'));\n        -> \'10.0.5.9\'\n\nmysql> SELECT INET6_NTOA(UNHEX(\'FDFE0000000000005A55CAFFFEFA9089\'));\n        -> \'fdfe::5a55:caff:fefa:9089\'\nmysql> SELECT INET6_NTOA(UNHEX(\'0A000509\'));\n        -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'),(598,'SIGNAL',24,'Syntax:\nSIGNAL condition_value\n    [SET signal_information_item\n    [, signal_information_item] ...]\n\ncondition_value:\n    SQLSTATE [VALUE] sqlstate_value\n  | condition_name\n\nsignal_information_item:\n    condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n    CLASS_ORIGIN\n  | SUBCLASS_ORIGIN\n  | MESSAGE_TEXT\n  | MYSQL_ERRNO\n  | CONSTRAINT_CATALOG\n  | CONSTRAINT_SCHEMA\n  | CONSTRAINT_NAME\n  | CATALOG_NAME\n  | SCHEMA_NAME\n  | TABLE_NAME\n  | COLUMN_NAME\n  | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n    (see following discussion)\n\nSIGNAL is the way to \"return\" an error. SIGNAL provides error\ninformation to a handler, to an outer portion of the application, or to\nthe client. Also, it provides control over the error\'s characteristics\n(error number, SQLSTATE value, message). Without SIGNAL, it is\nnecessary to resort to workarounds such as deliberately referring to a\nnonexistent table to cause a routine to return an error.\n\nNo special privileges are required to execute the SIGNAL statement.\n\nTo retrieve information from the diagnostics area, use the GET\nDIAGNOSTICS statement (see [HELP GET DIAGNOSTICS]). For information\nabout the diagnostics area, see\nhttp://dev.mysql.com/doc/refman/5.7/en/diagnostics-area.html.\n\nThe condition_value in a SIGNAL statement indicates the error value to\nbe returned. It can be an SQLSTATE value (a 5-character string literal)\nor a condition_name that refers to a named condition previously defined\nwith DECLARE ... CONDITION (see [HELP DECLARE CONDITION]).\n\nAn SQLSTATE value can indicate errors, warnings, or \"not found.\" The\nfirst two characters of the value indicate its error class, as\ndiscussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-condition-inf\normation-items. Some signal values cause statement termination; see\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-effects.\n\nThe SQLSTATE value for a SIGNAL statement should not start with \'00\'\nbecause such values indicate success and are not valid for signaling an\nerror. This is true whether the SQLSTATE value is specified directly in\nthe SIGNAL statement or in a named condition referred to in the\nstatement. If the value is invalid, a Bad SQLSTATE error occurs.\n\nTo signal a generic SQLSTATE value, use \'45000\', which means \"unhandled\nuser-defined exception.\"\n\nThe SIGNAL statement optionally includes a SET clause that contains\nmultiple signal items, in a comma-separated list of\ncondition_information_item_name = simple_value_specification\nassignments.\n\nEach condition_information_item_name may be specified only once in the\nSET clause. Otherwise, a Duplicate condition information item error\noccurs.\n\nValid simple_value_specification designators can be specified using\nstored procedure or function parameters, stored program local variables\ndeclared with DECLARE, user-defined variables, system variables, or\nliterals. A character literal may include a _charset introducer.\n\nFor information about permissible condition_information_item_name\nvalues, see\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-condition-inf\normation-items.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/signal.html\n\n','CREATE PROCEDURE p (pval INT)\nBEGIN\n  DECLARE specialty CONDITION FOR SQLSTATE \'45000\';\n  IF pval = 0 THEN\n    SIGNAL SQLSTATE \'01000\';\n  ELSEIF pval = 1 THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'An error occurred\';\n  ELSEIF pval = 2 THEN\n    SIGNAL specialty\n      SET MESSAGE_TEXT = \'An error occurred\';\n  ELSE\n    SIGNAL SQLSTATE \'01000\'\n      SET MESSAGE_TEXT = \'A warning occurred\', MYSQL_ERRNO = 1000;\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'An error occurred\', MYSQL_ERRNO = 1001;\n  END IF;\nEND;\n','http://dev.mysql.com/doc/refman/5.7/en/signal.html'),(599,'SAVEPOINT',8,'Syntax:\nSAVEPOINT identifier\nROLLBACK [WORK] TO [SAVEPOINT] identifier\nRELEASE SAVEPOINT identifier\n\nInnoDB supports the SQL statements SAVEPOINT, ROLLBACK TO SAVEPOINT,\nRELEASE SAVEPOINT and the optional WORK keyword for ROLLBACK.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/savepoint.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/savepoint.html'),(600,'ST_NUMGEOMETRIES',26,'ST_NumGeometries(gc)\n\nReturns the number of geometries in the GeometryCollection value gc.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT ST_NumGeometries(ST_GeomFromText(@gc));\n+----------------------------------------+\n| ST_NumGeometries(ST_GeomFromText(@gc)) |\n+----------------------------------------+\n|                                      2 |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html'),(601,'JSON_DEPTH',7,'JSON_DEPTH(json_doc)\n\nReturns the maximum depth of a JSON document. Returns NULL if the\nargument is NULL. An error occurs if the argument is not a valid JSON\ndocument.\n\nAn empty array, empty object, or scalar value has depth 1. A nonempty\narray containing only elements of depth 1 or nonempty object containing\nonly member values of depth 1 has depth 2. Otherwise, a JSON document\nhas depth greater than 2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','mysql> SELECT JSON_DEPTH(\'{}\'), JSON_DEPTH(\'[]\'), JSON_DEPTH(\'true\');\n+------------------+------------------+--------------------+\n| JSON_DEPTH(\'{}\') | JSON_DEPTH(\'[]\') | JSON_DEPTH(\'true\') |\n+------------------+------------------+--------------------+\n|                1 |                1 |                  1 |\n+------------------+------------------+--------------------+\nmysql> SELECT JSON_DEPTH(\'[10, 20]\'), JSON_DEPTH(\'[[], {}]\');\n+------------------------+------------------------+\n| JSON_DEPTH(\'[10, 20]\') | JSON_DEPTH(\'[[], {}]\') |\n+------------------------+------------------------+\n|                      2 |                      2 |\n+------------------------+------------------------+\nmysql> SELECT JSON_DEPTH(\'[10, {\"a\": 20}]\');\n+-------------------------------+\n| JSON_DEPTH(\'[10, {\"a\": 20}]\') |\n+-------------------------------+\n|                             3 |\n+-------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'),(602,'LABELS',24,'Syntax:\n[begin_label:] BEGIN\n    [statement_list]\nEND [end_label]\n\n[begin_label:] LOOP\n    statement_list\nEND LOOP [end_label]\n\n[begin_label:] REPEAT\n    statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\n[begin_label:] WHILE search_condition DO\n    statement_list\nEND WHILE [end_label]\n\nLabels are permitted for BEGIN ... END blocks and for the LOOP, REPEAT,\nand WHILE statements. Label use for those statements follows these\nrules:\n\no begin_label must be followed by a colon.\n\no begin_label can be given without end_label. If end_label is present,\n  it must be the same as begin_label.\n\no end_label cannot be given without begin_label.\n\no Labels at the same nesting level must be distinct.\n\no Labels can be up to 16 characters long.\n\nTo refer to a label within the labeled construct, use an ITERATE or\nLEAVE statement. The following example uses those statements to\ncontinue iterating or terminate the loop:\n\nCREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n  label1: LOOP\n    SET p1 = p1 + 1;\n    IF p1 < 10 THEN ITERATE label1; END IF;\n    LEAVE label1;\n  END LOOP label1;\nEND;\n\nThe scope of a block label does not include the code for handlers\ndeclared within the block. For details, see [HELP DECLARE HANDLER].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/statement-labels.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/statement-labels.html'),(603,'MPOINTFROMWKB',33,'MPointFromWKB(wkb[,srid]), MultiPointFromWKB(wkb[,srid])\n\nST_MPointFromWKB(), ST_MultiPointFromWKB(), MPointFromWKB(), and\nMultiPointFromWKB() are synonyms. For more information, see the\ndescription of ST_MPointFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'),(604,'ALTER TABLE',40,'Syntax:\nALTER [IGNORE] TABLE tbl_name\n    [alter_specification [, alter_specification] ...]\n    [partition_options]\n\nalter_specification:\n    table_options\n  | ADD [COLUMN] col_name column_definition\n        [FIRST | AFTER col_name ]\n  | ADD [COLUMN] (col_name column_definition,...)\n  | ADD {INDEX|KEY} [index_name]\n        [index_type] (index_col_name,...) [index_option] ...\n  | ADD [CONSTRAINT [symbol]] PRIMARY KEY\n        [index_type] (index_col_name,...) [index_option] ...\n  | ADD [CONSTRAINT [symbol]]\n        UNIQUE [INDEX|KEY] [index_name]\n        [index_type] (index_col_name,...) [index_option] ...\n  | ADD FULLTEXT [INDEX|KEY] [index_name]\n        (index_col_name,...) [index_option] ...\n  | ADD SPATIAL [INDEX|KEY] [index_name]\n        (index_col_name,...) [index_option] ...\n  | ADD [CONSTRAINT [symbol]]\n        FOREIGN KEY [index_name] (index_col_name,...)\n        reference_definition\n  | ALGORITHM [=] {DEFAULT|INPLACE|COPY}\n  | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}\n  | CHANGE [COLUMN] old_col_name new_col_name column_definition\n        [FIRST|AFTER col_name]\n  | LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}\n  | MODIFY [COLUMN] col_name column_definition\n        [FIRST | AFTER col_name]\n  | DROP [COLUMN] col_name\n  | DROP PRIMARY KEY\n  | DROP {INDEX|KEY} index_name\n  | DROP FOREIGN KEY fk_symbol\n  | DISABLE KEYS\n  | ENABLE KEYS\n  | RENAME [TO|AS] new_tbl_name\n  | RENAME {INDEX|KEY} old_index_name TO new_index_name\n  | ORDER BY col_name [, col_name] ...\n  | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]\n  | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]\n  | DISCARD TABLESPACE\n  | IMPORT TABLESPACE\n  | FORCE\n  | {WITHOUT|WITH} VALIDATION\n  | ADD PARTITION (partition_definition)\n  | DROP PARTITION partition_names\n  | DISCARD PARTITION {partition_names | ALL} TABLESPACE\n  | IMPORT PARTITION {partition_names | ALL} TABLESPACE\n  | TRUNCATE PARTITION {partition_names | ALL}\n  | COALESCE PARTITION number\n  | REORGANIZE PARTITION partition_names INTO (partition_definitions)\n  | EXCHANGE PARTITION partition_name WITH TABLE tbl_name [{WITH|WITHOUT} VALIDATION]\n  | ANALYZE PARTITION {partition_names | ALL}\n  | CHECK PARTITION {partition_names | ALL}\n  | OPTIMIZE PARTITION {partition_names | ALL}\n  | REBUILD PARTITION {partition_names | ALL}\n  | REPAIR PARTITION {partition_names | ALL}\n  | REMOVE PARTITIONING\n  | UPGRADE PARTITIONING\n\nindex_col_name:\n    col_name [(length)] [ASC | DESC]\n\nindex_type:\n    USING {BTREE | HASH}\n\nindex_option:\n    KEY_BLOCK_SIZE [=] value\n  | index_type\n  | WITH PARSER parser_name\n  | COMMENT \'string\'\n\ntable_options:\n    table_option [[,] table_option] ...  (see CREATE TABLE options)\n\npartition_options:\n    (see CREATE TABLE options)\n\nALTER TABLE changes the structure of a table. For example, you can add\nor delete columns, create or destroy indexes, change the type of\nexisting columns, or rename columns or the table itself. You can also\nchange characteristics such as the storage engine used for the table or\nthe table comment.\n\nFollowing the table name, specify the alterations to be made. If none\nare given, ALTER TABLE does nothing.\n\nThe syntax for many of the permissible alterations is similar to\nclauses of the CREATE TABLE statement. See [HELP CREATE TABLE], for\nmore information.\n\ntable_options signifies table options of the kind that can be used in\nthe CREATE TABLE statement, such as ENGINE, AUTO_INCREMENT,\nAVG_ROW_LENGTH, MAX_ROWS, or ROW_FORMAT. For a list of all table\noptions and a description of each, see [HELP CREATE TABLE]. However,\nALTER TABLE ignores the DATA DIRECTORY and INDEX DIRECTORY table\noptions.\n\npartition_options signifies options that can be used with partitioned\ntables for repartitioning, for adding, dropping, discarding, importing,\nmerging, and splitting partitions, and for performing partitioning\nmaintenance. It is possible for an ALTER TABLE statement to contain a\nPARTITION BY or REMOVE PARTITIONING clause in an addition to other\nalter specifications, but the PARTITION BY or REMOVE PARTITIONING\nclause must be specified last after any other specifications. The ADD\nPARTITION, DROP PARTITION, DISCARD PARTITION, IMPORT PARTITION,\nCOALESCE PARTITION, REORGANIZE PARTITION, EXCHANGE PARTITION, ANALYZE\nPARTITION, CHECK PARTITION, and REPAIR PARTITION options cannot be\ncombined with other alter specifications in a single ALTER TABLE, since\nthe options just listed act on individual partitions. For more\ninformation about partition options, see [HELP CREATE TABLE], and\nhttp://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations\n.html. For information about and examples of ALTER TABLE ... EXCHANGE\nPARTITION statements, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-management-exchange\n.html.\n\nPrior to MySQL 5.7.6, partitioned InnoDB tables used the generic\nha_partition partitioning handler employed by MyISAM and other storage\nengines not supplying their own partitioning handlers; in MySQL 5.7.6\nand later, such tables are created using the InnoDB storage engine\'s\nown (or \"native\") partitioning handler. Beginning with MySQL 5.7.9, you\ncan upgrade an InnoDB table that was created in MySQL 5.7.6 or earlier\n(that is, created using ha_partition) to the InnoDB native partition\nhandler using ALTER TABLE ... UPGRADE PARTITIONING. (Bug #76734, Bug\n#20727344) This version of ALTER TABLE does not accept any other\noptions and can be used only on a single table at a time.\n\n*Note*: You can also use mysql_upgrade in MySQL 5.7.9 or later to\nupgrade older partitioned InnoDB tables to the native partitioning\nhandler.\n\nSome operations may result in warnings if attempted on a table for\nwhich the storage engine does not support the operation. These warnings\ncan be displayed with SHOW WARNINGS. See [HELP SHOW WARNINGS].\n\nFor information on troubleshooting ALTER TABLE, see\nhttp://dev.mysql.com/doc/refman/5.7/en/alter-table-problems.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-table.html'),(605,'CHAR BYTE',23,'The CHAR BYTE data type is an alias for the BINARY data type. This is a\ncompatibility feature.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'),(606,'ST_MLINEFROMTEXT',4,'ST_MLineFromText(wkt[,srid]), ST_MultiLineStringFromText(wkt[,srid])\n\nConstructs a MultiLineString value using its WKT representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'),(607,'>',20,'Syntax:\n>\n\nGreater than:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 > 2;\n        -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'),(608,'ANALYZE TABLE',21,'Syntax:\nANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n    tbl_name [, tbl_name] ...\n\nANALYZE TABLE analyzes and stores the key distribution for a table.\nDuring the analysis, the table is locked with a read lock for InnoDB\nand MyISAM. This statement works with InnoDB, NDB, and MyISAM tables.\nFor MyISAM tables, this statement is equivalent to using myisamchk\n--analyze. This statement does not work with views.\n\nFor more information on how the analysis works within InnoDB, see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-persistent-stats.html and\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-analyze-table-complexity.\nhtml. Also see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html. In\nparticular, when you enable the innodb_stats_persistent option, you\nmust run ANALYZE TABLE after loading substantial data into an InnoDB\ntable, or creating a new index for one.\n\nMySQL uses the stored key distribution to decide the order in which\ntables should be joined when you perform a join on something other than\na constant. In addition, key distributions can be used when deciding\nwhich indexes to use for a specific table within a query.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nANALYZE TABLE is supported for partitioned tables, and you can use\nALTER TABLE ... ANALYZE PARTITION to analyze one or more partitions;\nfor more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-maintenance.html.\n\nIn MySQL 5.7.1, gtid_next must be set to AUTOMATIC before issuing this\nstatement. This restriction does not apply in MySQL 5.7.2 or later.\n(Bug #16062608, Bug #16715809, Bug #69045)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/analyze-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/analyze-table.html'),(609,'ST_EXTERIORRING',2,'ST_ExteriorRing(poly)\n\nReturns the exterior ring of the Polygon value poly as a LineString.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n    -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly)));\n+----------------------------------------------------+\n| ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly))) |\n+----------------------------------------------------+\n| LINESTRING(0 0,0 3,3 3,3 0,0 0)                    |\n+----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'),(610,'FIELD',38,'Syntax:\nFIELD(str,str1,str2,str3,...)\n\nReturns the index (position) of str in the str1, str2, str3, ... list.\nReturns 0 if str is not found.\n\nIf all arguments to FIELD() are strings, all arguments are compared as\nstrings. If all arguments are numbers, they are compared as numbers.\nOtherwise, the arguments are compared as double.\n\nIf str is NULL, the return value is 0 because NULL fails equality\ncomparison with any value. FIELD() is the complement of ELT().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT FIELD(\'ej\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n        -> 2\nmysql> SELECT FIELD(\'fo\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n        -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'),(611,'CONSTRAINT',40,'MySQL supports foreign keys, which let you cross-reference related data\nacross tables, and foreign key constraints, which help keep this\nspread-out data consistent. The essential syntax for a foreign key\nconstraint definition in a CREATE TABLE or ALTER TABLE statement looks\nlike this:\n\n[CONSTRAINT [symbol]] FOREIGN KEY\n    [index_name] (index_col_name, ...)\n    REFERENCES tbl_name (index_col_name,...)\n    [ON DELETE reference_option]\n    [ON UPDATE reference_option]\n\nreference_option:\n    RESTRICT | CASCADE | SET NULL | NO ACTION\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html\n\n','CREATE TABLE product (\n    category INT NOT NULL, id INT NOT NULL,\n    price DECIMAL,\n    PRIMARY KEY(category, id)\n)   ENGINE=INNODB;\n\nCREATE TABLE customer (\n    id INT NOT NULL,\n    PRIMARY KEY (id)\n)   ENGINE=INNODB;\n\nCREATE TABLE product_order (\n    no INT NOT NULL AUTO_INCREMENT,\n    product_category INT NOT NULL,\n    product_id INT NOT NULL,\n    customer_id INT NOT NULL,\n\n    PRIMARY KEY(no),\n    INDEX (product_category, product_id),\n    INDEX (customer_id),\n\n    FOREIGN KEY (product_category, product_id)\n      REFERENCES product(category, id)\n      ON UPDATE CASCADE ON DELETE RESTRICT,\n\n    FOREIGN KEY (customer_id)\n      REFERENCES customer(id)\n)   ENGINE=INNODB;\n','http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html'),(612,'CREATE_ASYMMETRIC_PRIV_KEY',7,'Syntax:\nCREATE_ASYMMETRIC_PRIV_KEY(algorithm, {key_len|dh_secret})\n\nCreates a private key using the given algorithm and key length or DH\nsecret, and returns the key as a binary string in PEM format. If key\ngeneration fails, the result is NULL.\n\nSupported algorithm values: \'RSA\', \'DSA\', \'DH\'\n\nSupported key_len values: The minimum key length in bits is 1024. The\nmaximum key length depends on the algorithm: 16,384 for RSA and 10,000\nfor DSA. These lengths are constraints imposed by OpenSSL.\n\nFor DH keys, pass a shared DH secret instead of a key length. To create\nthe secret, pass the key length to CREATE_DH_PARAMETERS().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','SET @priv = CREATE_ASYMMETRIC_PRIV_KEY(\'DSA\', 2048);\nSET @pub = CREATE_ASYMMETRIC_PUB_KEY(\'DSA\', @priv);\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'),(613,'ENUM',23,'ENUM(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nAn enumeration. A string object that can have only one value, chosen\nfrom the list of values \'value1\', \'value2\', ..., NULL or the special \'\'\nerror value. ENUM values are represented internally as integers.\n\nAn ENUM column can have a maximum of 65,535 distinct elements. (The\npractical limit is less than 3000.) A table can have no more than 255\nunique element list definitions among its ENUM and SET columns\nconsidered as a group. For more information on these limits, see\nhttp://dev.mysql.com/doc/refman/5.7/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'),(614,'ST_LENGTH',13,'ST_Length(ls)\n\nReturns a double-precision number indicating the length of the\nLineString or MultiLineString value ls in its associated spatial\nreference. The length of a MultiLineString value is equal to the sum of\nthe lengths of its elements.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_Length(ST_GeomFromText(@ls));\n+---------------------------------+\n| ST_Length(ST_GeomFromText(@ls)) |\n+---------------------------------+\n|              2.8284271247461903 |\n+---------------------------------+\n\nmysql> SET @mls = \'MultiLineString((1 1,2 2,3 3),(4 4,5 5))\';\nmysql> SELECT ST_Length(ST_GeomFromText(@mls));\n+----------------------------------+\n| ST_Length(ST_GeomFromText(@mls)) |\n+----------------------------------+\n|                4.242640687119286 |\n+----------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'),(615,'STRCMP',38,'Syntax:\nSTRCMP(expr1,expr2)\n\nSTRCMP() returns 0 if the strings are the same, -1 if the first\nargument is smaller than the second according to the current sort\norder, and 1 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html\n\n','mysql> SELECT STRCMP(\'text\', \'text2\');\n        -> -1\nmysql> SELECT STRCMP(\'text2\', \'text\');\n        -> 1\nmysql> SELECT STRCMP(\'text\', \'text\');\n        -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html'),(616,'INSERT DELAYED',28,'Syntax:\nINSERT DELAYED ...\n\nThe DELAYED option for the INSERT statement is a MySQL extension to\nstandard SQL. In previous versions of MySQL, it can be used for certain\nkinds of tables (such as MyISAM), such that when a client uses INSERT\nDELAYED, it gets an okay from the server at once, and the row is queued\nto be inserted when the table is not in use by any other thread.\n\nDELAYED inserts and replaces were deprecated in MySQL 5.6.6. In MySQL\n5.7, DELAYED is not supported. The server recognizes but ignores the\nDELAYED keyword, handles the insert as a nondelayed insert, and\ngenerates an ER_WARN_LEGACY_SYNTAX_CONVERTED warning (\"INSERT DELAYED\nis no longer supported. The statement was converted to INSERT\"). The\nDELAYED keyword is scheduled for removal in a future release.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html'),(617,'SHOW PROCEDURE CODE',27,'Syntax:\nSHOW PROCEDURE CODE proc_name\n\nThis statement is a MySQL extension that is available only for servers\nthat have been built with debugging support. It displays a\nrepresentation of the internal implementation of the named stored\nprocedure. A similar statement, SHOW FUNCTION CODE, displays\ninformation about stored functions (see [HELP SHOW FUNCTION CODE]).\n\nTo use either statement, you must be the owner of the routine or have\nSELECT access to the mysql.proc table.\n\nIf the named routine is available, each statement produces a result\nset. Each row in the result set corresponds to one \"instruction\" in the\nroutine. The first column is Pos, which is an ordinal number beginning\nwith 0. The second column is Instruction, which contains an SQL\nstatement (usually changed from the original source), or a directive\nwhich has meaning only to the stored-routine handler.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-procedure-code.html\n\n','mysql> DELIMITER //\nmysql> CREATE PROCEDURE p1 ()\n    -> BEGIN\n    ->   DECLARE fanta INT DEFAULT 55;\n    ->   DROP TABLE t2;\n    ->   LOOP\n    ->     INSERT INTO t3 VALUES (fanta);\n    ->     END LOOP;\n    ->   END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SHOW PROCEDURE CODE p1//\n+-----+----------------------------------------+\n| Pos | Instruction                            |\n+-----+----------------------------------------+\n|   0 | set fanta@0 55                         |\n|   1 | stmt 9 \"DROP TABLE t2\"                 |\n|   2 | stmt 5 \"INSERT INTO t3 VALUES (fanta)\" |\n|   3 | jump 2                                 |\n+-----+----------------------------------------+\n4 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/show-procedure-code.html'),(618,'MEDIUMTEXT',23,'MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 16,777,215 (224 − 1)\ncharacters. The effective maximum length is less if the value contains\nmultibyte characters. Each MEDIUMTEXT value is stored using a 3-byte\nlength prefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'),(619,'SHOW COLLATION',27,'Syntax:\nSHOW COLLATION\n    [LIKE \'pattern\' | WHERE expr]\n\nThis statement lists collations supported by the server. By default,\nthe output from SHOW COLLATION includes all available collations. The\nLIKE clause, if present, indicates which collation names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html. For example:\n\nmysql> SHOW COLLATION LIKE \'latin1%\';\n+-------------------+---------+----+---------+----------+---------+\n| Collation         | Charset | Id | Default | Compiled | Sortlen |\n+-------------------+---------+----+---------+----------+---------+\n| latin1_german1_ci | latin1  |  5 |         |          |       0 |\n| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       0 |\n| latin1_danish_ci  | latin1  | 15 |         |          |       0 |\n| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |\n| latin1_bin        | latin1  | 47 |         | Yes      |       0 |\n| latin1_general_ci | latin1  | 48 |         |          |       0 |\n| latin1_general_cs | latin1  | 49 |         |          |       0 |\n| latin1_spanish_ci | latin1  | 94 |         |          |       0 |\n+-------------------+---------+----+---------+----------+---------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-collation.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-collation.html'),(620,'LOG',3,'Syntax:\nLOG(X), LOG(B,X)\n\nIf called with one parameter, this function returns the natural\nlogarithm of X. If X is less than or equal to 0.0E0, the function\nreturns NULL and (as of MySQL 5.7.4) a warning \"Invalid argument for\nlogarithm\" is reported.\n\nThe inverse of this function (when called with a single argument) is\nthe EXP() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT LOG(2);\n        -> 0.69314718055995\nmysql> SELECT LOG(-2);\n        -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(621,'!=',20,'Syntax:\n<>, !=\n\nNot equal:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT \'.01\' <> \'0.01\';\n        -> 1\nmysql> SELECT .01 <> \'0.01\';\n        -> 0\nmysql> SELECT \'zapp\' <> \'zappp\';\n        -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'),(622,'WHILE',24,'Syntax:\n[begin_label:] WHILE search_condition DO\n    statement_list\nEND WHILE [end_label]\n\nThe statement list within a WHILE statement is repeated as long as the\nsearch_condition expression is true. statement_list consists of one or\nmore SQL statements, each terminated by a semicolon (;) statement\ndelimiter.\n\nA WHILE statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/while.html\n\n','CREATE PROCEDURE dowhile()\nBEGIN\n  DECLARE v1 INT DEFAULT 5;\n\n  WHILE v1 > 0 DO\n    ...\n    SET v1 = v1 - 1;\n  END WHILE;\nEND;\n','http://dev.mysql.com/doc/refman/5.7/en/while.html'),(623,'JSON_APPEND',7,'JSON_APPEND(json_doc, path, val[, path, val] ...)\n\nAppends values to the end of the indicated arrays within a JSON\ndocument and returns the result. This function was renamed to\nJSON_ARRAY_APPEND() in MySQL 5.7.9.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'),(624,'JSON_LENGTH',7,'JSON_LENGTH(json_doc[, path])\n\nReturns the length of JSON document, or, if a path argument is given,\nthe length of the value within the document identified by the path.\nReturns NULL if any argument is NULL or the path argument does not\nidentify a value in the document. An error occurs if the json_doc\nargument is not a valid JSON document or the path argument is not a\nvalid path expression or contains a * or ** wildcard.\n\nThe length of a document is determined as follows:\n\no The length of a scalar is 1.\n\no The length of an array is the number of array elements.\n\no The length of an object is the number of object members.\n\no The length does not count the length of nested arrays or objects.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','mysql> SELECT JSON_LENGTH(\'[1, 2, {\"a\": 3}]\');\n+---------------------------------+\n| JSON_LENGTH(\'[1, 2, {\"a\": 3}]\') |\n+---------------------------------+\n|                               3 |\n+---------------------------------+\nmysql> SELECT JSON_LENGTH(\'{\"a\": 1, \"b\": {\"c\": 30}}\');\n+-----------------------------------------+\n| JSON_LENGTH(\'{\"a\": 1, \"b\": {\"c\": 30}}\') |\n+-----------------------------------------+\n|                                       2 |\n+-----------------------------------------+\nmysql> SELECT JSON_LENGTH(\'{\"a\": 1, \"b\": {\"c\": 30}}\', \'$.b\');\n+------------------------------------------------+\n| JSON_LENGTH(\'{\"a\": 1, \"b\": {\"c\": 30}}\', \'$.b\') |\n+------------------------------------------------+\n|                                              1 |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'),(625,'DAYNAME',32,'Syntax:\nDAYNAME(date)\n\nReturns the name of the weekday for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.7/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYNAME(\'2007-02-03\');\n        -> \'Saturday\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'),(626,'RADIANS',3,'Syntax:\nRADIANS(X)\n\nReturns the argument X, converted from degrees to radians. (Note that\nπ radians equals 180 degrees.)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT RADIANS(90);\n        -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'),(627,'COLLATION',17,'Syntax:\nCOLLATION(str)\n\nReturns the collation of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT COLLATION(\'abc\');\n        -> \'latin1_swedish_ci\'\nmysql> SELECT COLLATION(_utf8\'abc\');\n        -> \'utf8_general_ci\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'),(628,'COALESCE',20,'Syntax:\nCOALESCE(value,...)\n\nReturns the first non-NULL value in the list, or NULL if there are no\nnon-NULL values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT COALESCE(NULL,1);\n        -> 1\nmysql> SELECT COALESCE(NULL,NULL,NULL);\n        -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'),(629,'VERSION',17,'Syntax:\nVERSION()\n\nReturns a string that indicates the MySQL server version. The string\nuses the utf8 character set. The value might have a suffix in addition\nto the version number. See the description of the version system\nvariable in\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT VERSION();\n        -> \'5.7.12-standard\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html');

--
-- Table structure for table `innodb_index_stats`
--

CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

--
-- Dumping data for table `innodb_index_stats`
--

INSERT INTO `innodb_index_stats` VALUES ('CCDB','BOATTRIBS','GEN_CLUST_INDEX','2017-01-30 14:45:29','n_diff_pfx01',24,1,'DB_ROW_ID'),('CCDB','BOATTRIBS','GEN_CLUST_INDEX','2017-01-30 14:45:29','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOATTRIBS','GEN_CLUST_INDEX','2017-01-30 14:45:29','size',1,NULL,'Number of pages in the index'),('CCDB','BOBOBJS','PRIMARY','2017-02-02 16:22:59','n_diff_pfx01',132,8,'BOID'),('CCDB','BOBOBJS','PRIMARY','2017-02-02 16:22:59','n_leaf_pages',8,NULL,'Number of leaf pages in the index'),('CCDB','BOBOBJS','PRIMARY','2017-02-02 16:22:59','size',9,NULL,'Number of pages in the index'),('CCDB','BOCIP','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','BOCIP','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOCIP','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','BOCIPAS','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','BOCIPAS','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOCIPAS','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','BOCIPCLUSTER','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','BOCIPCLUSTER','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOCIPCLUSTER','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','BOCOE','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','BOCOE','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOCOE','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','BOCTASK','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','BOCTASK','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','BOCTASK','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','BOSTAGEOBJS','GEN_CLUST_INDEX','2017-02-01 14:32:37','n_diff_pfx01',57,6,'DB_ROW_ID'),('CCDB','BOSTAGEOBJS','GEN_CLUST_INDEX','2017-02-01 14:32:37','n_leaf_pages',6,NULL,'Number of leaf pages in the index'),('CCDB','BOSTAGEOBJS','GEN_CLUST_INDEX','2017-02-01 14:32:37','size',7,NULL,'Number of pages in the index'),('CCDB','CASI','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',237,2,'DB_ROW_ID'),('CCDB','CASI','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',2,NULL,'Number of leaf pages in the index'),('CCDB','CASI','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',3,NULL,'Number of pages in the index'),('CCDB','CAST','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',129,2,'DB_ROW_ID'),('CCDB','CAST','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',2,NULL,'Number of leaf pages in the index'),('CCDB','CAST','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',3,NULL,'Number of pages in the index'),('CCDB','CASU','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',97,1,'DB_ROW_ID'),('CCDB','CASU','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CASU','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','CASV','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',95,1,'DB_ROW_ID'),('CCDB','CASV','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CASV','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','CAZPSNFS','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CAZPSNFS','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CAZPSNFS','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',1,NULL,'Number of pages in the index'),('CCDB','CAZPSNPR','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_diff_pfx01',179,6,'DB_ROW_ID'),('CCDB','CAZPSNPR','GEN_CLUST_INDEX','2016-06-02 13:02:45','n_leaf_pages',6,NULL,'Number of leaf pages in the index'),('CCDB','CAZPSNPR','GEN_CLUST_INDEX','2016-06-02 13:02:45','size',7,NULL,'Number of pages in the index'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','n_diff_pfx01',12,3,'ATTARCHTYP'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','n_diff_pfx02',14,3,'ATTARCHTYP,ATTPARTYPE'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','n_diff_pfx03',469,3,'ATTARCHTYP,ATTPARTYPE,ATTPARKURZ'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','n_diff_pfx04',614,3,'ATTARCHTYP,ATTPARTYPE,ATTPARKURZ,ATTNAME'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCATT','PRIMARY','2017-03-06 12:29:40','size',4,NULL,'Number of pages in the index'),('CCDB','CCCAL','GEN_CLUST_INDEX','2017-01-17 12:06:15','n_diff_pfx01',55,1,'DB_ROW_ID'),('CCDB','CCCAL','GEN_CLUST_INDEX','2017-01-17 12:06:15','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCCAL','GEN_CLUST_INDEX','2017-01-17 12:06:15','size',1,NULL,'Number of pages in the index'),('CCDB','CCDCENV','GEN_CLUST_INDEX','2016-06-02 13:02:49','n_diff_pfx01',33,1,'DB_ROW_ID'),('CCDB','CCDCENV','GEN_CLUST_INDEX','2016-06-02 13:02:49','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCDCENV','GEN_CLUST_INDEX','2016-06-02 13:02:49','size',1,NULL,'Number of pages in the index'),('CCDB','CCDCHOST','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',170,1,'DB_ROW_ID'),('CCDB','CCDCHOST','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCDCHOST','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCDCRES','GEN_CLUST_INDEX','2016-06-13 12:50:50','n_diff_pfx01',134439,20,'DB_ROW_ID'),('CCDB','CCDCRES','GEN_CLUST_INDEX','2016-06-13 12:50:50','n_leaf_pages',820,NULL,'Number of leaf pages in the index'),('CCDB','CCDCRES','GEN_CLUST_INDEX','2016-06-13 12:50:50','size',865,NULL,'Number of pages in the index'),('CCDB','CCDCRESA','GEN_CLUST_INDEX','2017-03-08 22:57:17','n_diff_pfx01',32549,20,'DB_ROW_ID'),('CCDB','CCDCRESA','GEN_CLUST_INDEX','2017-03-08 22:57:17','n_leaf_pages',243,NULL,'Number of leaf pages in the index'),('CCDB','CCDCRESA','GEN_CLUST_INDEX','2017-03-08 22:57:17','size',289,NULL,'Number of pages in the index'),('CCDB','CCDCRESL','GEN_CLUST_INDEX','2017-03-06 09:24:32','n_diff_pfx01',937,9,'DB_ROW_ID'),('CCDB','CCDCRESL','GEN_CLUST_INDEX','2017-03-06 09:24:32','n_leaf_pages',9,NULL,'Number of leaf pages in the index'),('CCDB','CCDCRESL','GEN_CLUST_INDEX','2017-03-06 09:24:32','size',10,NULL,'Number of pages in the index'),('CCDB','CCDCRESLP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',24189,20,'DB_ROW_ID'),('CCDB','CCDCRESLP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',220,NULL,'Number of leaf pages in the index'),('CCDB','CCDCRESLP','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',225,NULL,'Number of pages in the index'),('CCDB','CCDOCS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCDOCS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCDOCS','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCDSYS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCDSYS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCDSYS','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCDWP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',358,5,'DB_ROW_ID'),('CCDB','CCDWP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',5,NULL,'Number of leaf pages in the index'),('CCDB','CCDWP','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',6,NULL,'Number of pages in the index'),('CCDB','CCDYSYAS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCDYSYAS','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCDYSYAS','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCELVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',11,1,'DB_ROW_ID'),('CCDB','CCELVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCELVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCERPACCT','GEN_CLUST_INDEX','2017-03-03 15:53:43','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCERPACCT','GEN_CLUST_INDEX','2017-03-03 15:53:43','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCERPACCT','GEN_CLUST_INDEX','2017-03-03 15:53:43','size',1,NULL,'Number of pages in the index'),('CCDB','CCGRP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',14,1,'DB_ROW_ID'),('CCDB','CCGRP','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCGRP','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCILKST','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',5,1,'DB_ROW_ID'),('CCDB','CCILKST','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCILKST','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCILPSP','GEN_CLUST_INDEX','2017-02-03 18:05:37','n_diff_pfx01',125,3,'DB_ROW_ID'),('CCDB','CCILPSP','GEN_CLUST_INDEX','2017-02-03 18:05:37','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCILPSP','GEN_CLUST_INDEX','2017-02-03 18:05:37','size',4,NULL,'Number of pages in the index'),('CCDB','CCILV','GEN_CLUST_INDEX','2017-03-13 17:53:15','n_diff_pfx01',1894,13,'DB_ROW_ID'),('CCDB','CCILV','GEN_CLUST_INDEX','2017-03-13 17:53:15','n_leaf_pages',13,NULL,'Number of leaf pages in the index'),('CCDB','CCILV','GEN_CLUST_INDEX','2017-03-13 17:53:15','size',14,NULL,'Number of pages in the index'),('CCDB','CCILVACC','GEN_CLUST_INDEX','2017-03-07 16:53:24','n_diff_pfx01',159,1,'DB_ROW_ID'),('CCDB','CCILVACC','GEN_CLUST_INDEX','2017-03-07 16:53:24','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCILVACC','GEN_CLUST_INDEX','2017-03-07 16:53:24','size',1,NULL,'Number of pages in the index'),('CCDB','CCILVD','GEN_CLUST_INDEX','2017-03-08 15:33:11','n_diff_pfx01',748,7,'DB_ROW_ID'),('CCDB','CCILVD','GEN_CLUST_INDEX','2017-03-08 15:33:11','n_leaf_pages',7,NULL,'Number of leaf pages in the index'),('CCDB','CCILVD','GEN_CLUST_INDEX','2017-03-08 15:33:11','size',8,NULL,'Number of pages in the index'),('CCDB','CCILVMTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',56,1,'DB_ROW_ID'),('CCDB','CCILVMTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCILVMTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCILVXTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_diff_pfx01',11,1,'DB_ROW_ID'),('CCDB','CCILVXTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCILVXTAB','GEN_CLUST_INDEX','2016-06-02 13:02:50','size',1,NULL,'Number of pages in the index'),('CCDB','CCITM','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',10,1,'DB_ROW_ID'),('CCDB','CCITM','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCITM','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCMFILES','GEN_CLUST_INDEX','2017-02-13 16:59:29','n_diff_pfx01',128,2,'DB_ROW_ID'),('CCDB','CCMFILES','GEN_CLUST_INDEX','2017-02-13 16:59:29','n_leaf_pages',2,NULL,'Number of leaf pages in the index'),('CCDB','CCMFILES','GEN_CLUST_INDEX','2017-02-13 16:59:29','size',3,NULL,'Number of pages in the index'),('CCDB','CCMPLAPART','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',35,1,'DB_ROW_ID'),('CCDB','CCMPLAPART','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCMPLAPART','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCMUSTEMP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',8,1,'DB_ROW_ID'),('CCDB','CCMUSTEMP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCMUSTEMP','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCMXFER','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',233,3,'DB_ROW_ID'),('CCDB','CCMXFER','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCMXFER','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',4,NULL,'Number of pages in the index'),('CCDB','CCMXREL','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',2,1,'DB_ROW_ID'),('CCDB','CCMXREL','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCMXREL','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCNUM','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',200,1,'DB_ROW_ID'),('CCDB','CCNUM','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCNUM','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCOE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',34,1,'DB_ROW_ID'),('CCDB','CCOE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCOE','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCORD','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',68,3,'DB_ROW_ID'),('CCDB','CCORD','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCORD','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',4,NULL,'Number of pages in the index'),('CCDB','CCPAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',19,1,'DB_ROW_ID'),('CCDB','CCPAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCPAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCPLAUS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',54,1,'DB_ROW_ID'),('CCDB','CCPLAUS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCPLAUS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCPLOG','GEN_CLUST_INDEX','2016-11-04 08:24:40','n_diff_pfx01',12,1,'DB_ROW_ID'),('CCDB','CCPLOG','GEN_CLUST_INDEX','2016-11-04 08:24:40','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCPLOG','GEN_CLUST_INDEX','2016-11-04 08:24:40','size',1,NULL,'Number of pages in the index'),('CCDB','CCPROG','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',8,1,'DB_ROW_ID'),('CCDB','CCPROG','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCPROG','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCPROJ','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',4,1,'DB_ROW_ID'),('CCDB','CCPROJ','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCPROJ','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCREQ','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCREQ','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCREQ','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCREQAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCREQAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCREQAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCROLE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',11,1,'DB_ROW_ID'),('CCDB','CCROLE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCROLE','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCROLTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',22,1,'DB_ROW_ID'),('CCDB','CCROLTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCROLTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCRW','GEN_CLUST_INDEX','2017-03-14 17:36:46','n_diff_pfx01',1354,12,'DB_ROW_ID'),('CCDB','CCRW','GEN_CLUST_INDEX','2017-03-14 17:36:46','n_leaf_pages',12,NULL,'Number of leaf pages in the index'),('CCDB','CCRW','GEN_CLUST_INDEX','2017-03-14 17:36:46','size',13,NULL,'Number of pages in the index'),('CCDB','CCSAI','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',207,3,'DB_ROW_ID'),('CCDB','CCSAI','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCSAI','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',4,NULL,'Number of pages in the index'),('CCDB','CCSPBOX','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',33,1,'DB_ROW_ID'),('CCDB','CCSPBOX','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCSPBOX','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCSPCAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',68,1,'DB_ROW_ID'),('CCDB','CCSPCAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCSPCAP','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCSPRINT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',25,1,'DB_ROW_ID'),('CCDB','CCSPRINT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCSPRINT','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCSYSCON','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCSYSCON','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCSYSCON','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCSYSCONAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCSYSCONAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCSYSCONAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCTASK','GEN_CLUST_INDEX','2017-03-13 17:42:45','n_diff_pfx01',175,4,'DB_ROW_ID'),('CCDB','CCTASK','GEN_CLUST_INDEX','2017-03-13 17:42:45','n_leaf_pages',4,NULL,'Number of leaf pages in the index'),('CCDB','CCTASK','GEN_CLUST_INDEX','2017-03-13 17:42:45','size',5,NULL,'Number of pages in the index'),('CCDB','CCTC','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCTC','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCTC','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCTCP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCTCP','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCTCP','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCTISTAT','GEN_CLUST_INDEX','2016-06-02 13:03:01','n_diff_pfx01',227,3,'DB_ROW_ID'),('CCDB','CCTISTAT','GEN_CLUST_INDEX','2016-06-02 13:03:01','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCTISTAT','GEN_CLUST_INDEX','2016-06-02 13:03:01','size',4,NULL,'Number of pages in the index'),('CCDB','CCTS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCTS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCTS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCTSAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCTSAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCTSAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCTT','GEN_CLUST_INDEX','2016-06-02 13:03:11','n_diff_pfx01',334,3,'DB_ROW_ID'),('CCDB','CCTT','GEN_CLUST_INDEX','2016-06-02 13:03:11','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCTT','GEN_CLUST_INDEX','2016-06-02 13:03:11','size',4,NULL,'Number of pages in the index'),('CCDB','CCTTAB','GEN_CLUST_INDEX','2017-02-13 15:46:36','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCTTAB','GEN_CLUST_INDEX','2017-02-13 15:46:36','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCTTAB','GEN_CLUST_INDEX','2017-02-13 15:46:36','size',1,NULL,'Number of pages in the index'),('CCDB','CCUS','GEN_CLUST_INDEX','2016-06-02 13:03:41','n_diff_pfx01',175,1,'DB_ROW_ID'),('CCDB','CCUS','GEN_CLUST_INDEX','2016-06-02 13:03:41','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCUS','GEN_CLUST_INDEX','2016-06-02 13:03:41','size',1,NULL,'Number of pages in the index'),('CCDB','CCUSAS','GEN_CLUST_INDEX','2016-06-02 13:03:51','n_diff_pfx01',270,3,'DB_ROW_ID'),('CCDB','CCUSAS','GEN_CLUST_INDEX','2016-06-02 13:03:51','n_leaf_pages',3,NULL,'Number of leaf pages in the index'),('CCDB','CCUSAS','GEN_CLUST_INDEX','2016-06-02 13:03:51','size',4,NULL,'Number of pages in the index'),('CCDB','CCWDDN','GEN_CLUST_INDEX','2016-06-02 13:04:11','n_diff_pfx01',7,1,'DB_ROW_ID'),('CCDB','CCWDDN','GEN_CLUST_INDEX','2016-06-02 13:04:11','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWDDN','GEN_CLUST_INDEX','2016-06-02 13:04:11','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFDEF','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFDEF','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFDEF','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFDOCAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFDOCAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFDOCAS','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFINST','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFINST','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFINST','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFQGA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFQGA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFQGA','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFSTA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFSTA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFSTA','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFSTACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFSTACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFSTACT','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFSTAQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFSTAQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFSTAQUE','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWFSTATRA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCWFSTATRA','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWFSTATRA','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCWP','GEN_CLUST_INDEX','2016-06-02 13:04:21','n_diff_pfx01',82,1,'DB_ROW_ID'),('CCDB','CCWP','GEN_CLUST_INDEX','2016-06-02 13:04:21','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCWP','GEN_CLUST_INDEX','2016-06-02 13:04:21','size',1,NULL,'Number of pages in the index'),('CCDB','CCXFITAB','GEN_CLUST_INDEX','2016-06-02 13:04:31','n_diff_pfx01',6,1,'DB_ROW_ID'),('CCDB','CCXFITAB','GEN_CLUST_INDEX','2016-06-02 13:04:31','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCXFITAB','GEN_CLUST_INDEX','2016-06-02 13:04:31','size',1,NULL,'Number of pages in the index'),('CCDB','CCXLVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_diff_pfx01',0,1,'DB_ROW_ID'),('CCDB','CCXLVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('CCDB','CCXLVTAB','GEN_CLUST_INDEX','2016-06-02 13:02:51','size',1,NULL,'Number of pages in the index'),('CCDB','CCZPIUELINTASKS','GEN_CLUST_INDEX','2017-01-25 15:10:26','n_diff_pfx01',68,2,'DB_ROW_ID'),('CCDB','CCZPIUELINTASKS','GEN_CLUST_INDEX','2017-01-25 15:10:26','n_leaf_pages',2,NULL,'Number of leaf pages in the index'),('CCDB','CCZPIUELINTASKS','GEN_CLUST_INDEX','2017-01-25 15:10:26','size',3,NULL,'Number of pages in the index'),('mysql','gtid_executed','PRIMARY','2016-05-11 13:52:22','n_diff_pfx01',0,1,'source_uuid'),('mysql','gtid_executed','PRIMARY','2016-05-11 13:52:22','n_diff_pfx02',0,1,'source_uuid,interval_start'),('mysql','gtid_executed','PRIMARY','2016-05-11 13:52:22','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('mysql','gtid_executed','PRIMARY','2016-05-11 13:52:22','size',1,NULL,'Number of pages in the index'),('sys','sys_config','PRIMARY','2016-05-11 13:52:23','n_diff_pfx01',2,1,'variable'),('sys','sys_config','PRIMARY','2016-05-11 13:52:23','n_leaf_pages',1,NULL,'Number of leaf pages in the index'),('sys','sys_config','PRIMARY','2016-05-11 13:52:23','size',1,NULL,'Number of pages in the index');

--
-- Table structure for table `innodb_table_stats`
--

CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

--
-- Dumping data for table `innodb_table_stats`
--

INSERT INTO `innodb_table_stats` VALUES ('CCDB','BOATTRIBS','2017-01-30 14:45:29',24,1,0),('CCDB','BOBOBJS','2017-02-02 16:22:59',132,9,0),('CCDB','BOCIP','2016-06-02 13:02:45',0,1,0),('CCDB','BOCIPAS','2016-06-02 13:02:45',0,1,0),('CCDB','BOCIPCLUSTER','2016-06-02 13:02:45',0,1,0),('CCDB','BOCOE','2016-06-02 13:02:45',0,1,0),('CCDB','BOCTASK','2016-06-02 13:02:45',0,1,0),('CCDB','BOSTAGEOBJS','2017-02-01 14:32:37',57,7,0),('CCDB','CASI','2016-06-02 13:02:45',237,3,0),('CCDB','CAST','2016-06-02 13:02:45',129,3,0),('CCDB','CASU','2016-06-02 13:02:45',97,1,0),('CCDB','CASV','2016-06-02 13:02:45',95,1,0),('CCDB','CAZPSNFS','2016-06-02 13:02:45',0,1,0),('CCDB','CAZPSNPR','2016-06-02 13:02:45',179,7,0),('CCDB','CCATT','2017-03-06 12:29:40',614,4,0),('CCDB','CCCAL','2017-01-17 12:06:15',55,1,0),('CCDB','CCDCENV','2016-06-02 13:02:49',33,1,0),('CCDB','CCDCHOST','2016-06-02 13:02:50',170,1,0),('CCDB','CCDCRES','2016-06-13 12:50:50',134439,865,0),('CCDB','CCDCRESA','2017-03-08 22:57:17',32549,289,0),('CCDB','CCDCRESL','2017-03-06 09:24:32',937,10,0),('CCDB','CCDCRESLP','2016-06-02 13:02:50',24189,225,0),('CCDB','CCDOCS','2016-06-02 13:02:50',0,1,0),('CCDB','CCDSYS','2016-06-02 13:02:50',0,1,0),('CCDB','CCDWP','2016-06-02 13:02:50',358,6,0),('CCDB','CCDYSYAS','2016-06-02 13:02:50',0,1,0),('CCDB','CCELVTAB','2016-06-02 13:02:50',11,1,0),('CCDB','CCERPACCT','2017-03-03 15:53:43',0,1,0),('CCDB','CCGRP','2016-06-02 13:02:50',14,1,0),('CCDB','CCILKST','2016-06-02 13:02:50',5,1,0),('CCDB','CCILPSP','2017-02-03 18:05:37',125,4,0),('CCDB','CCILV','2017-03-13 17:53:15',1894,14,0),('CCDB','CCILVACC','2017-03-07 16:53:24',159,1,0),('CCDB','CCILVD','2017-03-08 15:33:11',748,8,0),('CCDB','CCILVMTAB','2016-06-02 13:02:50',56,1,0),('CCDB','CCILVXTAB','2016-06-02 13:02:50',11,1,0),('CCDB','CCITM','2016-06-02 13:02:51',10,1,0),('CCDB','CCMFILES','2017-02-13 16:59:29',128,3,0),('CCDB','CCMPLAPART','2016-06-02 13:02:51',35,1,0),('CCDB','CCMUSTEMP','2016-06-02 13:02:51',8,1,0),('CCDB','CCMXFER','2016-06-02 13:02:51',233,4,0),('CCDB','CCMXREL','2016-06-02 13:02:51',2,1,0),('CCDB','CCNUM','2016-06-02 13:02:51',200,1,0),('CCDB','CCOE','2016-06-02 13:02:51',34,1,0),('CCDB','CCORD','2016-06-02 13:02:51',68,4,0),('CCDB','CCPAP','2016-06-02 13:02:51',19,1,0),('CCDB','CCPLAUS','2016-06-02 13:02:51',54,1,0),('CCDB','CCPLOG','2016-11-04 08:24:40',12,1,0),('CCDB','CCPROG','2016-06-02 13:02:51',8,1,0),('CCDB','CCPROJ','2016-06-02 13:02:51',4,1,0),('CCDB','CCREQ','2016-06-02 13:02:51',0,1,0),('CCDB','CCREQAS','2016-06-02 13:02:51',0,1,0),('CCDB','CCROLE','2016-06-02 13:02:51',11,1,0),('CCDB','CCROLTAB','2016-06-02 13:02:51',22,1,0),('CCDB','CCRW','2017-03-14 17:36:46',1354,13,0),('CCDB','CCSAI','2016-06-02 13:02:51',207,4,0),('CCDB','CCSPBOX','2016-06-02 13:02:51',33,1,0),('CCDB','CCSPCAP','2016-06-02 13:02:51',68,1,0),('CCDB','CCSPRINT','2016-06-02 13:02:51',25,1,0),('CCDB','CCSYSCON','2016-06-02 13:02:51',0,1,0),('CCDB','CCSYSCONAS','2016-06-02 13:02:51',0,1,0),('CCDB','CCTASK','2017-03-13 17:42:45',175,5,0),('CCDB','CCTC','2016-06-02 13:02:51',0,1,0),('CCDB','CCTCP','2016-06-02 13:02:51',0,1,0),('CCDB','CCTISTAT','2016-06-02 13:03:01',227,4,0),('CCDB','CCTS','2016-06-02 13:02:51',0,1,0),('CCDB','CCTSAS','2016-06-02 13:02:51',0,1,0),('CCDB','CCTT','2016-06-02 13:03:11',334,4,0),('CCDB','CCTTAB','2017-02-13 15:46:36',0,1,0),('CCDB','CCUS','2016-06-02 13:03:41',175,1,0),('CCDB','CCUSAS','2016-06-02 13:03:51',270,4,0),('CCDB','CCWDDN','2016-06-02 13:04:11',7,1,0),('CCDB','CCWFACT','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFDEF','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFDOCAS','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFINST','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFQGA','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFQUE','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFSTA','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFSTACT','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFSTAQUE','2016-06-02 13:02:51',0,1,0),('CCDB','CCWFSTATRA','2016-06-02 13:02:51',0,1,0),('CCDB','CCWP','2016-06-02 13:04:21',82,1,0),('CCDB','CCXFITAB','2016-06-02 13:04:31',6,1,0),('CCDB','CCXLVTAB','2016-06-02 13:02:51',0,1,0),('CCDB','CCZPIUELINTASKS','2017-01-25 15:10:26',68,3,0),('mysql','gtid_executed','2016-05-11 13:52:22',0,1,0),('sys','sys_config','2016-05-11 13:52:23',2,1,0);

--
-- Table structure for table `ndb_binlog_index`
--

CREATE TABLE `ndb_binlog_index` (
  `Position` bigint(20) unsigned NOT NULL,
  `File` varchar(255) NOT NULL,
  `epoch` bigint(20) unsigned NOT NULL,
  `inserts` int(10) unsigned NOT NULL,
  `updates` int(10) unsigned NOT NULL,
  `deletes` int(10) unsigned NOT NULL,
  `schemaops` int(10) unsigned NOT NULL,
  `orig_server_id` int(10) unsigned NOT NULL,
  `orig_epoch` bigint(20) unsigned NOT NULL,
  `gci` int(10) unsigned NOT NULL,
  `next_position` bigint(20) unsigned NOT NULL,
  `next_file` varchar(255) NOT NULL,
  PRIMARY KEY (`epoch`,`orig_server_id`,`orig_epoch`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `ndb_binlog_index`
--


--
-- Table structure for table `plugin`
--

CREATE TABLE `plugin` (
  `name` varchar(64) NOT NULL DEFAULT '',
  `dl` varchar(128) NOT NULL DEFAULT '',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='MySQL plugins';

--
-- Dumping data for table `plugin`
--


--
-- Table structure for table `proc`
--

CREATE TABLE `proc` (
  `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `name` char(64) NOT NULL DEFAULT '',
  `type` enum('FUNCTION','PROCEDURE') NOT NULL,
  `specific_name` char(64) NOT NULL DEFAULT '',
  `language` enum('SQL') NOT NULL DEFAULT 'SQL',
  `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL DEFAULT 'CONTAINS_SQL',
  `is_deterministic` enum('YES','NO') NOT NULL DEFAULT 'NO',
  `security_type` enum('INVOKER','DEFINER') NOT NULL DEFAULT 'DEFINER',
  `param_list` blob NOT NULL,
  `returns` longblob NOT NULL,
  `body` longblob NOT NULL,
  `definer` char(93) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
  `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  `body_utf8` longblob,
  PRIMARY KEY (`db`,`name`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures';

--
-- Dumping data for table `proc`
--


--
-- Table structure for table `procs_priv`
--

CREATE TABLE `procs_priv` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8_bin NOT NULL,
  `Grantor` char(93) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
  KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges';

--
-- Dumping data for table `procs_priv`
--


--
-- Table structure for table `proxies_priv`
--

CREATE TABLE `proxies_priv` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Proxied_user` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `With_grant` tinyint(1) NOT NULL DEFAULT '0',
  `Grantor` char(93) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
  KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges';

--
-- Dumping data for table `proxies_priv`
--

INSERT INTO `proxies_priv` VALUES ('localhost','root','','',1,'boot@connecting host','0000-00-00 00:00:00');

--
-- Table structure for table `server_cost`
--

CREATE TABLE `server_cost` (
  `cost_name` varchar(64) NOT NULL,
  `cost_value` float DEFAULT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `comment` varchar(1024) DEFAULT NULL,
  PRIMARY KEY (`cost_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0;

--
-- Dumping data for table `server_cost`
--

INSERT INTO `server_cost` VALUES ('disk_temptable_create_cost',NULL,'2016-05-11 13:52:22',NULL),('disk_temptable_row_cost',NULL,'2016-05-11 13:52:22',NULL),('key_compare_cost',NULL,'2016-05-11 13:52:22',NULL),('memory_temptable_create_cost',NULL,'2016-05-11 13:52:22',NULL),('memory_temptable_row_cost',NULL,'2016-05-11 13:52:22',NULL),('row_evaluate_cost',NULL,'2016-05-11 13:52:22',NULL);

--
-- Table structure for table `servers`
--

CREATE TABLE `servers` (
  `Server_name` char(64) NOT NULL DEFAULT '',
  `Host` char(64) NOT NULL DEFAULT '',
  `Db` char(64) NOT NULL DEFAULT '',
  `Username` char(64) NOT NULL DEFAULT '',
  `Password` char(64) NOT NULL DEFAULT '',
  `Port` int(4) NOT NULL DEFAULT '0',
  `Socket` char(64) NOT NULL DEFAULT '',
  `Wrapper` char(64) NOT NULL DEFAULT '',
  `Owner` char(64) NOT NULL DEFAULT '',
  PRIMARY KEY (`Server_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='MySQL Foreign Servers table';

--
-- Dumping data for table `servers`
--


--
-- Table structure for table `slave_master_info`
--

CREATE TABLE `slave_master_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.',
  `Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'The host name of the master.',
  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',
  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',
  `Port` int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.',
  `Connect_retry` int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',
  `Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',
  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',
  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',
  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',
  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',
  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',
  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',
  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',
  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',
  `Retry_count` bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',
  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',
  `Channel_name` char(64) NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication',
  `Tls_version` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Tls version',
  PRIMARY KEY (`Channel_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';

--
-- Dumping data for table `slave_master_info`
--


--
-- Table structure for table `slave_relay_log_info`
--

CREATE TABLE `slave_relay_log_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',
  `Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.',
  `Sql_delay` int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',
  `Number_of_workers` int(10) unsigned NOT NULL,
  `Id` int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',
  `Channel_name` char(64) NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication',
  PRIMARY KEY (`Channel_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';

--
-- Dumping data for table `slave_relay_log_info`
--


--
-- Table structure for table `slave_worker_info`
--

CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  `Channel_name` char(64) NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication',
  PRIMARY KEY (`Channel_name`,`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';

--
-- Dumping data for table `slave_worker_info`
--


--
-- Table structure for table `tables_priv`
--

CREATE TABLE `tables_priv` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Grantor` char(93) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
  PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
  KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Table privileges';

--
-- Dumping data for table `tables_priv`
--

INSERT INTO `tables_priv` VALUES ('localhost','sys','mysql.sys','sys_config','root@localhost','2016-11-04 15:32:21','Select','');

--
-- Table structure for table `time_zone`
--

CREATE TABLE `time_zone` (
  `Time_zone_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Use_leap_seconds` enum('Y','N') NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Time_zone_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Time zones';

--
-- Dumping data for table `time_zone`
--


--
-- Table structure for table `time_zone_leap_second`
--

CREATE TABLE `time_zone_leap_second` (
  `Transition_time` bigint(20) NOT NULL,
  `Correction` int(11) NOT NULL,
  PRIMARY KEY (`Transition_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Leap seconds information for time zones';

--
-- Dumping data for table `time_zone_leap_second`
--


--
-- Table structure for table `time_zone_name`
--

CREATE TABLE `time_zone_name` (
  `Name` char(64) NOT NULL,
  `Time_zone_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`Name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Time zone names';

--
-- Dumping data for table `time_zone_name`
--


--
-- Table structure for table `time_zone_transition`
--

CREATE TABLE `time_zone_transition` (
  `Time_zone_id` int(10) unsigned NOT NULL,
  `Transition_time` bigint(20) NOT NULL,
  `Transition_type_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`Time_zone_id`,`Transition_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Time zone transitions';

--
-- Dumping data for table `time_zone_transition`
--


--
-- Table structure for table `time_zone_transition_type`
--

CREATE TABLE `time_zone_transition_type` (
  `Time_zone_id` int(10) unsigned NOT NULL,
  `Transition_type_id` int(10) unsigned NOT NULL,
  `Offset` int(11) NOT NULL DEFAULT '0',
  `Is_DST` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `Abbreviation` char(8) NOT NULL DEFAULT '',
  PRIMARY KEY (`Time_zone_id`,`Transition_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Time zone transition types';

--
-- Dumping data for table `time_zone_transition_type`
--


--
-- Table structure for table `user`
--

CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin NOT NULL DEFAULT 'mysql_native_password',
  `authentication_string` text COLLATE utf8_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `password_last_changed` timestamp NULL DEFAULT NULL,
  `password_lifetime` smallint(5) unsigned DEFAULT NULL,
  `account_locked` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges';

--
-- Dumping data for table `user`
--

INSERT INTO `user` VALUES ('localhost','root','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*54FA2C4C142B3E26EF8039547B3949D63757DE41','N','2016-05-11 13:52:23',NULL,'N'),('localhost','mysql.sys','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'mysql_native_password','*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE','N','2016-11-04 15:32:21',NULL,'Y'),('localhost','debian-sys-maint','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*F5E26CC124F9F2F45DB70DA0CC33777B9862398D','N','2016-05-11 13:52:23',NULL,'N'),('%','root@10.0.2.2','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*54FA2C4C142B3E26EF8039547B3949D63757DE41','N','2016-06-03 10:17:04',NULL,'N'),('10.0.2.2','root','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*54FA2C4C142B3E26EF8039547B3949D63757DE41','N','2016-06-03 10:22:55',NULL,'N');

--
-- Table structure for table `general_log`
--

CREATE TABLE IF NOT EXISTS `general_log` (
  `event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `user_host` mediumtext NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `command_type` varchar(64) NOT NULL,
  `argument` mediumblob NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';

--
-- Table structure for table `slow_log`
--

CREATE TABLE IF NOT EXISTS `slow_log` (
  `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `user_host` mediumtext NOT NULL,
  `query_time` time(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` int(11) NOT NULL,
  `rows_examined` int(11) NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumblob NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';

--
-- Current Database: `CCDB`
--

USE `CCDB`;

--
-- Final view structure for view `BOISLEAF`
--

/*!50001 DROP VIEW IF EXISTS `BOISLEAF`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `BOISLEAF` AS select `bo`.`BOID` AS `BOID`,`bot`.`BOID` AS `TYPID`,`bota`.`BOATTNVAL` AS `ISLEAF` from ((`BOBOBJS` `bo` left join `BOBOBJS` `bot` on((`bot`.`BOID` = `bo`.`BOTYPEID`))) left join `BOATTRIBS` `bota` on(((`bota`.`BOATTBOID` = `bot`.`BOID`) and (`bota`.`BOATTNAME` = 'IS_LEAF')))) */;

--
-- Final view structure for view `BOVOBJS`
--

/*!50001 DROP VIEW IF EXISTS `BOVOBJS`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `BOVOBJS` AS select `bo`.`BOID` AS `BOID`,`bo`.`BONAME` AS `BONAME`,`bo`.`BODESC` AS `BODESC`,`bo`.`PARBOID` AS `PARBOID`,`bo`.`BOMTYP` AS `BOMTYP`,`bo`.`BOTYPEID` AS `BOTYPEID`,`bot`.`BONAME` AS `TYPENAME`,`bot`.`BODESC` AS `TYPEDESC`,(case `botaisleaf`.`BOATTNVAL` when 1 then 'TRUE' else 'FALSE' end) AS `TYPISLEAF`,`boa`.`BOATTID` AS `ATTID`,`boa`.`BOATTNAME` AS `ATTNAME`,`boa`.`BOATYPID` AS `ATTYPID`,`boa`.`BOATTDESC` AS `ATTDESC`,`boa`.`BOATTLINK` AS `ATTLINK`,`boa`.`BOATTSVAL` AS `ATTSVAL`,`boa`.`BOATTNVAL` AS `ATTNVAL`,`boa`.`BOATTBVAL` AS `ATTBVAL`,`boa`.`BOATTJVAL` AS `ATTJVAL`,`bota`.`BOATTID` AS `TYPATTID`,`bota`.`BOATTNAME` AS `TYPATTNAME`,`bota`.`BOATYPID` AS `TYPATTYPID`,`bota`.`BOATTDESC` AS `TYPATTDESC` from ((((`BOBOBJS` `bo` left join `BOBOBJS` `bot` on((`bot`.`BOID` = `bo`.`BOTYPEID`))) left join `BOATTRIBS` `boa` on((`boa`.`BOATTBOID` = `bo`.`BOID`))) left join `BOATTRIBS` `bota` on((`bota`.`BOATTBOID` = `bot`.`BOID`))) left join `BOATTRIBS` `botaisleaf` on(((`bota`.`BOATTBOID` = `bot`.`BOID`) and (`bota`.`BOATTNAME` = 'IS_LEAF')))) order by `bo`.`BOID` */;

--
-- Final view structure for view `CCILVRANGE`
--

/*!50001 DROP VIEW IF EXISTS `CCILVRANGE`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCILVRANGE` AS select min(((`mp`.`jahr` * 100) + `mp`.`monat`)) AS `minmonat`,max(((`mp`.`jahr` * 100) + `mp`.`monat`)) AS `maxmonat`,count(distinct ((`mp`.`jahr` * 100) + `mp`.`monat`)) AS `MONATANZ` from `CCVILVMP` `mp` */;

--
-- Final view structure for view `CCVATTINFO`
--

/*!50001 DROP VIEW IF EXISTS `CCVATTINFO`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVATTINFO` AS select `aat`.`RWNAME` AS `ARCHETYPE`,`aat`.`RWVALUE` AS `ARCHETYPE_NAME`,`aat`.`RWDESC` AS `ARCHETYPE_DESC`,`att`.`RWNAME` AS `ATTRIBUTE`,`att`.`RWVALUE` AS `ATTRIBUTE_NAME`,`att`.`RWDESC` AS `ATTRIBUTE_DESC` from (`CCRW` `aat` left join `CCRW` `att` on((`att`.`RWPARENT` = `aat`.`RWNAME`))) where (`aat`.`RWTYP` = 'AATYP') */;

--
-- Final view structure for view `CCVBUDGET`
--

/*!50001 DROP VIEW IF EXISTS `CCVBUDGET`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVBUDGET` AS select `psp`.`JAHR` AS `JAHR`,'ZPV 4.0' AS `TEILPROJEKT`,sum(`psp`.`PLANPT`) AS `PLANPT`,sum(`psp`.`PLANKOSTEN`) AS `PLANKOSTEN` from (`CCVJAHR` `jahr` left join `CCILPSP` `psp` on(((`psp`.`JAHR` = `jahr`.`JAHR`) and (substr(`psp`.`PSP`,-(3),3) between 300 and 499)))) where (`psp`.`JAHR` is not null) group by `psp`.`JAHR` union select `psp`.`JAHR` AS `JAHR`,'JAP' AS `TEILPROJEKT`,sum(`psp`.`PLANPT`) AS `PLANPT`,sum(`psp`.`PLANKOSTEN`) AS `PLANKOSTEN` from (`CCVJAHR` `jahr` left join `CCILPSP` `psp` on(((`psp`.`JAHR` = `jahr`.`JAHR`) and (substr(`psp`.`PSP`,-(3),3) not between 300 and 499)))) where (`psp`.`JAHR` is not null) group by `psp`.`JAHR` union select `psp`.`JAHR` AS `JAHR`,'TOTAL' AS `TEILPROJEKT`,sum(`psp`.`PLANPT`) AS `PLANPT`,sum(`psp`.`PLANKOSTEN`) AS `PLANKOSTEN` from (`CCVJAHR` `jahr` left join `CCILPSP` `psp` on((`psp`.`JAHR` = `jahr`.`JAHR`))) where (`psp`.`JAHR` is not null) group by `psp`.`JAHR` */;

--
-- Final view structure for view `CCVCAL`
--

/*!50001 DROP VIEW IF EXISTS `CCVCAL`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVCAL` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,str_to_date(concat(`cal`.`JAHR`,'-',`cal`.`MONAT`,'-01'),'%Y-%m-%d') AS `MONATSANFANG`,last_day(str_to_date(concat(`cal`.`JAHR`,'-',`cal`.`MONAT`,'-01'),'%Y-%m-%d')) AS `MONATSENDE`,date_format(last_day(str_to_date(concat(`cal`.`JAHR`,'-',`cal`.`MONAT`,'-01'),'%Y-%m-%d')),'%d') AS `TAGEIMMONAT` from `CCCAL` `cal` */;

--
-- Final view structure for view `CCVCASTWIKI`
--

/*!50001 DROP VIEW IF EXISTS `CCVCASTWIKI`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVCASTWIKI` AS select `st`.`SYSTYPKURZ` AS `SYSTYPKURZ`,`st`.`SYSTYPNAME` AS `SYSTYPNAME`,`st`.`SYSTYP` AS `SYSTYP`,(case when isnull(`st`.`SYSTYPWIKIPAGE`) then '' else ('[[' or `st`.`SYSTYPWIKIPAGE` or ']]') end) AS `SYSTYPWIKIPAGE`,(case when isnull(`st`.`ITMAPURL`) then '' else ('[' or `st`.`ITMAPURL` or ' ' or `st`.`SYSTYPKURZ` or ']') end) AS `ITMAPURL`,`st`.`SOURCE` AS `SOURCE`,`st`.`UK` AS `UK`,`st`.`REMARK` AS `REMARK` from `CAST` `st` */;

--
-- Final view structure for view `CCVCNT1K`
--

/*!50001 DROP VIEW IF EXISTS `CCVCNT1K`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVCNT1K` AS select (((`n2`.`C` * 100) + (`n1`.`C` * 10)) + `n0`.`C`) AS `CNT` from ((`CCVDECCNT` `n0` left join `CCVDECCNT` `n1` on((1 = 1))) left join `CCVDECCNT` `n2` on((1 = 1))) order by (((`n2`.`C` * 100) + (`n1`.`C` * 10)) + `n0`.`C`) */;

--
-- Final view structure for view `CCVDBQUERIES`
--

/*!50001 DROP VIEW IF EXISTS `CCVDBQUERIES`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDBQUERIES` AS select `qt`.`RWNAME` AS `ABFRAGENAME`,`qg`.`RWVALUE` AS `GRUPPE`,`gi`.`RWVALUE` AS `GRUPPENTITEL`,`gi`.`RWDESC` AS `GRUPPENBESCHREIBUNG`,`qp`.`RWTYP` AS `RWTYP`,`qp`.`RWPARENT` AS `RWPARENT`,`qp`.`RWNAME` AS `RWNAME`,`qp`.`RWVALUE` AS `RWVALUE`,`qp`.`RWDESC` AS `RWDESC` from (((`CCRW` `qt` left join `CCRW` `qp` on((((`qp`.`RWTYP` = 'DQUERYPARAM') and (`qp`.`RWPARENT` = `qt`.`RWNAME`)) or ((`qp`.`RWTYP` = 'DQUERY') and (`qp`.`RWPARENT` = 'QUERIES') and (`qp`.`RWNAME` = `qt`.`RWNAME`))))) left join `CCRW` `qg` on(((`qg`.`RWTYP` = 'DQUERYPARAM') and (`qg`.`RWPARENT` = `qt`.`RWNAME`) and (`qg`.`RWNAME` = 'group')))) left join `CCRW` `gi` on(((`gi`.`RWTYP` = 'QUERYGROUP') and (`gi`.`RWPARENT` = 'QUERYGROUPS') and (`gi`.`RWNAME` = `qg`.`RWVALUE`)))) where ((`qt`.`RWTYP` = 'DQUERY') and (`qt`.`RWPARENT` = 'QUERIES')) */;

--
-- Final view structure for view `CCVDCLOADSIZES`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCLOADSIZES`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCLOADSIZES` AS select `d`.`JAHR` AS `JAHR`,`d`.`KW` AS `KW`,`d`.`LOADNAME` AS `LOADNAME`,count(0) AS `LOADSIZE` from `CCDCRESA` `d` group by `d`.`JAHR`,`d`.`KW`,`d`.`LOADNAME` */;

--
-- Final view structure for view `CCVDCRESA`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCRESA`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCRESA` AS select `resr`.`LOADNAME` AS `LOADNAME`,`resr`.`JAHR` AS `JAHR`,`resr`.`KW` AS `KW`,`resr`.`NODE` AS `NODE`,`resr`.`RESTYPE` AS `RESTYPE`,`resr`.`AMOUNT` AS `AMOUNT`,`resr`.`RZ_NODE_NAME` AS `RZ_NODE_NAME`,`resr`.`ENV` AS `ENV`,`resr`.`MAX_LOADNAME` AS `MAX_LOADNAME` from `CCVDCRESR` `resr` where (`resr`.`LOADNAME` = `resr`.`MAX_LOADNAME`) */;

--
-- Final view structure for view `CCVDCRESM`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCRESM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCRESM` AS select `rcal`.`JAHR` AS `JAHR`,`rcal`.`MONAT` AS `MONAT`,`resa`.`ENV` AS `ENV`,`resa`.`RESTYPE` AS `RESTYPE`,sum((case when (`resa`.`KW` = `rcal`.`ERSTEWOCHE`) then (`resa`.`AMOUNT` * (`rcal`.`TAGEINERSTERWOCHE` / 7)) when (`resa`.`KW` = `rcal`.`LETZTEWOCHE`) then (`resa`.`AMOUNT` * (`rcal`.`TAGEINLETZTERWOCHE` / 7)) else `resa`.`AMOUNT` end)) AS `AMOUNT` from (`CCVRCAL` `rcal` left join `CCDCRESA` `resa` on(((`resa`.`JAHR` = `rcal`.`JAHR`) and (`resa`.`KW` >= `rcal`.`ERSTEWOCHE`) and (`resa`.`KW` <= `rcal`.`LETZTEWOCHE`)))) group by `rcal`.`JAHR`,`rcal`.`MONAT`,`resa`.`ENV`,`resa`.`RESTYPE` order by `rcal`.`JAHR`,`rcal`.`MONAT`,`resa`.`ENV`,`resa`.`RESTYPE` */;

--
-- Final view structure for view `CCVDCRESR`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCRESR`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCRESR` AS select `res`.`LOADNAME` AS `LOADNAME`,`res`.`JAHR` AS `JAHR`,`res`.`KW` AS `KW`,`res`.`NODE` AS `NODE`,`res`.`RESTYPE` AS `RESTYPE`,`res`.`AMOUNT` AS `AMOUNT`,`res`.`RZ_NODE_NAME` AS `RZ_NODE_NAME`,`h`.`ENV` AS `ENV`,(select max(`r`.`LOADNAME`) from `CCDCRES` `r` where ((`r`.`JAHR` = `res`.`JAHR`) and (`r`.`KW` = `res`.`KW`) and (`r`.`NODE` = `res`.`NODE`) and (`r`.`RESTYPE` = `res`.`RESTYPE`))) AS `MAX_LOADNAME` from (`CCDCRES` `res` left join `CCDCHOST` `h` on((`h`.`HOST` = `res`.`RZ_NODE_NAME`))) order by `res`.`JAHR`,`res`.`KW`,`res`.`NODE`,`res`.`RESTYPE` */;

--
-- Final view structure for view `CCVDCRLOADSIZES`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCRLOADSIZES`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCRLOADSIZES` AS select `d`.`JAHR` AS `JAHR`,`d`.`KW` AS `KW`,`d`.`LOADNAME` AS `LOADNAME`,count(0) AS `LOADSIZE` from `CCDCRES` `d` group by `d`.`JAHR`,`d`.`KW`,`d`.`LOADNAME` */;

--
-- Final view structure for view `CCVDCRTYP`
--

/*!50001 DROP VIEW IF EXISTS `CCVDCRTYP`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDCRTYP` AS select `rw`.`RWNAME` AS `RESTYPE`,`rw`.`RWVALUE` AS `RESNAME`,`rw`.`RWDESC` AS `RESDESC` from `CCRW` `rw` where ((`rw`.`RWTYP` = 'DCRTYP') and (`rw`.`RWPARENT` = 'DCR')) */;

--
-- Final view structure for view `CCVDECCNT`
--

/*!50001 DROP VIEW IF EXISTS `CCVDECCNT`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVDECCNT` AS select 0 AS `C` union all select 1 AS `C` union all select 2 AS `C` union all select 3 AS `C` union all select 4 AS `C` union all select 5 AS `C` union all select 6 AS `C` union all select 7 AS `C` union all select 8 AS `C` union all select 9 AS `C` */;

--
-- Final view structure for view `CCVGRPLIST`
--

/*!50001 DROP VIEW IF EXISTS `CCVGRPLIST`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVGRPLIST` AS select `grp`.`GRPID` AS `GRPID`,`ua`.`USKURZZ` AS `USKURZZ`,`us`.`USVORNAME` AS `VORNAME`,`us`.`USFAMILIENNAME` AS `FAMILIENNAME`,`ua`.`ROLE` AS `ROLE`,`ua`.`OE` AS `OE`,`eml`.`ATTVALUE` AS `EMAIL` from (((`CCGRP` `grp` left join `CCUSAS` `ua` on((`ua`.`GRP` = `grp`.`GRPID`))) left join `CCUS` `us` on((`ua`.`USKURZZ` = `us`.`USKURZZ`))) left join `CCATT` `eml` on(((`eml`.`ATTPARKURZ` = `us`.`USKURZZ`) and (`eml`.`ATTPARTYPE` = 'CCUS') and (`eml`.`ATTARCHTYP` = 'USEMAIL') and (`eml`.`ATTNAME` = 'EMAIL')))) order by `grp`.`GRPID`,`ua`.`OE`,`ua`.`ROLE`,`us`.`USFAMILIENNAME` */;

--
-- Final view structure for view `CCVILGKFACT`
--

/*!50001 DROP VIEW IF EXISTS `CCVILGKFACT`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILGKFACT` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`psp`.`PSP` AS `PSP`,(0 + ((case when (`rwm`.`RWVALUE` is not null) then `rwm`.`RWVALUE` when (`rwy`.`RWVALUE` is not null) then `rwy`.`RWVALUE` when (`rwd`.`RWVALUE` is not null) then `rwd`.`RWVALUE` else '1.075' end) * (0 + (case when isnull(`psp`.`PSP`) then '1' when (`rwpm`.`RWVALUE` is not null) then `rwpm`.`RWVALUE` when (`rwp`.`RWVALUE` is not null) then `rwp`.`RWVALUE` else '1' end)))) AS `GKFAKT` from ((((((`CCCAL` `cal` left join `CCILPSP` `psp` on((`psp`.`JAHR` = `cal`.`JAHR`))) left join `CCRW` `rwp` on(((`rwp`.`RWTYP` = 'EVFACT') and (convert(`rwp`.`RWNAME` using utf8) = `psp`.`PSP`)))) left join `CCRW` `rwpm` on(((`rwpm`.`RWTYP` = 'EVFACT') and (convert(`rwpm`.`RWNAME` using utf8) = concat(`psp`.`PSP`,'_',convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8)))))) left join `CCRW` `rwy` on(((`rwy`.`RWTYP` = 'GKFACT') and (convert(`rwy`.`RWNAME` using utf8) = convert(concat('GKF',`cal`.`JAHR`) using utf8))))) left join `CCRW` `rwm` on(((`rwm`.`RWTYP` = 'GKFACT') and (convert(`rwm`.`RWNAME` using utf8) = convert(concat('GKF',`cal`.`JAHR`,substr(concat('00',`cal`.`MONAT`),-(2),2)) using utf8))))) left join `CCRW` `rwd` on(((`rwd`.`RWTYP` = 'GKFACT') and (`rwd`.`RWNAME` = 'GKF')))) */;

--
-- Final view structure for view `CCVILRATE`
--

/*!50001 DROP VIEW IF EXISTS `CCVILRATE`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILRATE` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tkum`.`ATTVALUE` AS `TKUMTK`,`tkuj`.`ATTVALUE` AS `TKUJTK`,`tkug`.`ATTVALUE` AS `TKUGTK`,`tkm`.`RWVALUE` AS `TKMTK`,`tkj`.`RWVALUE` AS `TKJTK`,`tkg`.`RWVALUE` AS `TKGTK`,(case when (`tkum`.`ATTVALUE` is not null) then `tkum`.`ATTVALUE` else (case when (`tkuj`.`ATTVALUE` is not null) then `tkuj`.`ATTVALUE` else (case when (`tkug`.`ATTVALUE` is not null) then `tkug`.`ATTVALUE` else convert((case when (`tkm`.`RWVALUE` is not null) then `tkm`.`RWVALUE` else (case when (`tkj`.`RWVALUE` is not null) then `tkj`.`RWVALUE` else `tkg`.`RWVALUE` end) end) using utf8) end) end) end) AS `TARKLASS`,((case when (`ram`.`RWVALUE` is not null) then `ram`.`RWVALUE` else (case when (`raj`.`RWVALUE` is not null) then `raj`.`RWVALUE` else `rag`.`RWVALUE` end) end) * 1.0) AS `RATE` from ((((((((((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCVUILRATE` `tkum` on(((`tkum`.`USKURZZ` = `cu`.`USKURZZ`) and (`tkum`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4),substr(concat('00',`cal`.`MONAT`),-(2),2)) using utf8))))) left join `CCVUILRATE` `tkuj` on(((`tkuj`.`USKURZZ` = `cu`.`USKURZZ`) and (`tkuj`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4)) using utf8))))) left join `CCVUILRATE` `tkug` on(((`tkug`.`USKURZZ` = `cu`.`USKURZZ`) and (`tkug`.`ATTNAME` = 'TARKLASS')))) left join `CCRW` `tkm` on(((`tkm`.`RWTYP` = 'TKU') and (convert(`tkm`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8),convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8)))))) left join `CCRW` `tkj` on(((`tkj`.`RWTYP` = 'TKU') and (convert(`tkj`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8)))))) left join `CCRW` `tkg` on(((`tkg`.`RWTYP` = 'TKU') and (convert(`tkg`.`RWNAME` using utf8) = `cu`.`USKURZZ`)))) left join `CCRW` `ram` on(((`ram`.`RWTYP` = 'TARATE') and (convert(`ram`.`RWNAME` using utf8) = concat((case when (`tkum`.`ATTVALUE` is not null) then `tkum`.`ATTVALUE` else (case when (`tkuj`.`ATTVALUE` is not null) then `tkuj`.`ATTVALUE` else (case when (`tkug`.`ATTVALUE` is not null) then `tkug`.`ATTVALUE` else convert((case when (`tkm`.`RWVALUE` is not null) then `tkm`.`RWVALUE` else (case when (`tkj`.`RWVALUE` is not null) then `tkj`.`RWVALUE` else `tkg`.`RWVALUE` end) end) using utf8) end) end) end),convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8),convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8)))))) left join `CCRW` `raj` on(((`raj`.`RWTYP` = 'TARATE') and (convert(`raj`.`RWNAME` using utf8) = concat((case when (`tkum`.`ATTVALUE` is not null) then `tkum`.`ATTVALUE` else (case when (`tkuj`.`ATTVALUE` is not null) then `tkuj`.`ATTVALUE` else (case when (`tkug`.`ATTVALUE` is not null) then `tkug`.`ATTVALUE` else convert((case when (`tkm`.`RWVALUE` is not null) then `tkm`.`RWVALUE` else (case when (`tkj`.`RWVALUE` is not null) then `tkj`.`RWVALUE` else `tkg`.`RWVALUE` end) end) using utf8) end) end) end),convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8)))))) left join `CCRW` `rag` on(((`rag`.`RWTYP` = 'TARATE') and (convert(`rag`.`RWNAME` using utf8) = (case when (`tkum`.`ATTVALUE` is not null) then `tkum`.`ATTVALUE` else (case when (`tkuj`.`ATTVALUE` is not null) then `tkuj`.`ATTVALUE` else (case when (`tkug`.`ATTVALUE` is not null) then `tkug`.`ATTVALUE` else convert((case when (`tkm`.`RWVALUE` is not null) then `tkm`.`RWVALUE` else (case when (`tkj`.`RWVALUE` is not null) then `tkj`.`RWVALUE` else `tkg`.`RWVALUE` end) end) using utf8) end) end) end))))) */;

--
-- Final view structure for view `CCVILV`
--

/*!50001 DROP VIEW IF EXISTS `CCVILV`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILV` AS select `c`.`JAHR` AS `jahr`,`c`.`MONAT` AS `monat`,`c`.`PSP` AS `psp`,`psp`.`BEZPSP` AS `bezpsp`,`psp`.`PSPPAGE` AS `psppage`,`c`.`KST` AS `kst`,`kst`.`BEZKST` AS `bezkst`,`c`.`VORNAME` AS `VORNAME`,`c`.`NACHNAME` AS `NACHNAME`,`c`.`USKURZZ` AS `USKURZZ`,format(`c`.`STUNDEN`,2) AS `stunden`,format((`c`.`KOSTEN` * `gkf`.`GKFAKT`),2) AS `kosten`,`gkf`.`GKFAKT` AS `GKFAKT`,`c`.`STUNDEN` AS `NUM_STUNDEN`,(`c`.`KOSTEN` * `gkf`.`GKFAKT`) AS `NUM_KOSTEN`,concat(`c`.`JAHR`,'_',substr(concat('00',`c`.`MONAT`),-(2),2),'_',`c`.`PSP`,'_',substr(`c`.`USKURZZ`,1,3),'_',convert(substr(concat('00',round(`c`.`STUNDEN`,0)),-(2),2) using utf8)) AS `NOTIZKEY`,group_concat((case when (`ntz`.`ATTNAME` is not null) then concat(`ntz`.`ATTNAME`,'=',`ntz`.`ATTVALUE`) else NULL end) separator ',') AS `NOTIZEN` from ((((`CCILV` `c` left join `CCILPSP` `psp` on((`psp`.`PSP` = `c`.`PSP`))) left join `CCILKST` `kst` on((`kst`.`KST` = `c`.`KST`))) left join `CCVILGKFACT` `gkf` on(((`gkf`.`JAHR` = `c`.`JAHR`) and (`gkf`.`MONAT` = `c`.`MONAT`) and (`gkf`.`PSP` = `c`.`PSP`)))) left join `CCATT` `ntz` on(((`ntz`.`ATTARCHTYP` = 'ILVNOTIZ') and (`ntz`.`ATTPARTYPE` = 'CCILV') and (`ntz`.`ATTPARKURZ` = concat(`c`.`JAHR`,'_',substr(concat('00',`c`.`MONAT`),-(2),2),'_',`c`.`PSP`,'_',`c`.`USKURZZ`,'_',convert(substr(concat('00',round(`c`.`STUNDEN`,0)),-(2),2) using utf8)))))) group by `c`.`JAHR`,`c`.`MONAT`,`c`.`PSP`,`psp`.`BEZPSP`,`psp`.`PSPPAGE`,`c`.`KST`,`kst`.`BEZKST`,`c`.`VORNAME`,`c`.`NACHNAME`,`c`.`USKURZZ`,`c`.`STUNDEN`,`c`.`KOSTEN`,`gkf`.`GKFAKT` order by `c`.`PSP`,`c`.`MONAT` */;

--
-- Final view structure for view `CCVILVACC`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVACC`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVACC` AS select `a`.`JAHR` AS `JAHR`,`a`.`MONAT` AS `MONAT`,`a`.`TAG` AS `TAG`,`a`.`STUNDE_VON` AS `STUNDE_VON`,`a`.`MINUTE_VON` AS `MINUTE_VON`,`a`.`STUNDE_BIS` AS `STUNDE_BIS`,`a`.`MINUTE_BIS` AS `MINUTE_BIS`,`a`.`WPID` AS `PSP`,`a`.`REM` AS `PSPDETAIL`,`a`.`USKURZZ` AS `USKURZZ`,concat(substr(concat('0000',`a`.`JAHR`),-(4),4),'-',substr(concat('00',`a`.`MONAT`),-(2),2),'-',substr(concat('00',`a`.`TAG`),-(2),2)) AS `DATUM`,((`a`.`STUNDE_VON` * 60) + `a`.`MINUTE_VON`) AS `BEGINN_MINUTEN`,((`a`.`STUNDE_BIS` * 60) + `a`.`MINUTE_BIS`) AS `END_MINUTEN`,(((`a`.`STUNDE_BIS` * 60) + `a`.`MINUTE_BIS`) - ((`a`.`STUNDE_VON` * 60) + `a`.`MINUTE_VON`)) AS `MINUTEN_ARBEIT`,((((60 * `a`.`STUNDE_BIS`) + `a`.`MINUTE_BIS`) - ((60 * `a`.`STUNDE_VON`) + `a`.`MINUTE_VON`)) / 60) AS `STUNDEN_ARBEIT` from `CCILVACC` `a` order by `a`.`JAHR`,`a`.`MONAT`,`a`.`TAG` */;

--
-- Final view structure for view `CCVILVD`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVD`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVD` AS select `d`.`JAHR` AS `JAHR`,`d`.`MONAT` AS `MONAT`,`d`.`TAG` AS `TAG`,`t`.`TASKID` AS `TASKID`,`t`.`VORHABEN` AS `VORHABEN`,`d`.`PSP` AS `PSP`,`d`.`PSPDETAIL` AS `PSPDETAIL`,`d`.`USKURZZ` AS `USKURZZ`,`d`.`STUNDEN` AS `STUNDEN`,`d`.`KOSTEN` AS `KOSTEN` from (`CCILVD` `d` left join `CCVTASK` `t` on(((`t`.`PSPCODE` = `d`.`PSP`) and (`t`.`TASKTYPE` = 'JAPAP')))) */;

--
-- Final view structure for view `CCVILVDACC`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVDACC`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVDACC` AS select `wa`.`USKURZZ` AS `USKURZZ`,`wa`.`DATUM` AS `DATUM`,`wa`.`JAHR` AS `JAHR`,`wa`.`MONAT` AS `MONAT`,`wa`.`TAG` AS `TAG`,`wa`.`PSP` AS `PSP`,sum(`wa`.`STUNDEN_ARBEIT`) AS `STUNDEN` from `CCVILVACC` `wa` group by `wa`.`USKURZZ`,`wa`.`JAHR`,`wa`.`MONAT`,`wa`.`TAG`,`wa`.`DATUM`,`wa`.`PSP` */;

--
-- Final view structure for view `CCVILVMAM`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVMAM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVMAM` AS select `c`.`JAHR` AS `JAHR`,`c`.`MONAT` AS `MONAT`,`c`.`VORNAME` AS `VORNAME`,`c`.`NACHNAME` AS `NACHNAME`,sum(`c`.`STUNDEN`) AS `STUNDEN`,sum(`c`.`KOSTEN`) AS `KOSTEN`,(sum(`c`.`KOSTEN`) * `gkf`.`RWVALUE`) AS `KOSTEN_INKL_GK`,`gkf`.`RWVALUE` AS `GK_FACTOR` from (`CCILV` `c` left join `CCRW` `gkf` on(((`gkf`.`RWTYP` = 'GKFACT') and (convert(`gkf`.`RWNAME` using utf8) = concat('GKF',`c`.`JAHR`))))) group by `c`.`JAHR`,`c`.`MONAT`,`c`.`VORNAME`,`c`.`NACHNAME`,`gkf`.`RWVALUE` */;

--
-- Final view structure for view `CCVILVMP`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVMP`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVMP` AS select `c`.`JAHR` AS `jahr`,`c`.`MONAT` AS `monat`,`c`.`PSP` AS `psp`,`psp`.`BEZPSP` AS `bezpsp`,`psp`.`PSPPAGE` AS `psppage`,sum(`c`.`STUNDEN`) AS `stunden`,sum((`c`.`KOSTEN` * `gkf`.`GKFAKT`)) AS `KOSTEN`,round(((8 * `psp`.`PLANPT`) / 12),0) AS `planstunden`,round((`psp`.`PLANKOSTEN` / 12),0) AS `plankosten` from ((`CCILV` `c` left join `CCILPSP` `psp` on((`psp`.`PSP` = `c`.`PSP`))) left join `CCVILGKFACT` `gkf` on(((`gkf`.`JAHR` = `c`.`JAHR`) and (`gkf`.`MONAT` = `c`.`MONAT`) and (`gkf`.`PSP` = `c`.`PSP`)))) group by `c`.`JAHR`,`c`.`MONAT`,`c`.`PSP`,`psp`.`BEZPSP`,`psp`.`PSPPAGE`,`psp`.`PLANPT`,`psp`.`PLANKOSTEN` order by `c`.`JAHR`,`c`.`MONAT`,`c`.`PSP` */;

--
-- Final view structure for view `CCVILVMY`
--

/*!50001 DROP VIEW IF EXISTS `CCVILVMY`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVILVMY` AS select `c`.`JAHR` AS `JAHR`,`c`.`VORNAME` AS `VORNAME`,`c`.`NACHNAME` AS `NACHNAME`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 1) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `JAN`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 2) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `FEB`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 3) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `MAR`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 4) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `APR`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 5) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `MAY`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 6) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `JUN`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 7) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `JUL`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 8) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `AUG`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 9) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `SEP`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 10) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `OCT`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 11) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `NOV`,(select `cm`.`STUNDEN` from `CCVILVMAM` `cm` where ((`cm`.`VORNAME` = `c`.`VORNAME`) and (`cm`.`NACHNAME` = `c`.`NACHNAME`) and (`cm`.`MONAT` = 12) and (`cm`.`JAHR` = `c`.`JAHR`))) AS `DEZ` from `CCVILVMAM` `c` group by `c`.`JAHR`,`c`.`VORNAME`,`c`.`NACHNAME` order by `c`.`JAHR`,`c`.`NACHNAME`,`c`.`VORNAME` */;

--
-- Final view structure for view `CCVJAHR`
--

/*!50001 DROP VIEW IF EXISTS `CCVJAHR`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVJAHR` AS select distinct `CCCAL`.`JAHR` AS `JAHR` from `CCCAL` */;

--
-- Final view structure for view `CCVJHE201701`
--

/*!50001 DROP VIEW IF EXISTS `CCVJHE201701`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVJHE201701` AS select (case when (substr(`psp`.`VORHABEN`,1,2) = 'ZI') then 'Z-PI' when (substr(`psp`.`VORHABEN`,1,4) = 'WIST') then 'WIST' else 'Unbekannt' end) AS `Projekt`,concat(`us`.`USVORNAME`,' ',`us`.`USFAMILIENNAME`) AS `Name`,`r`.`RWVALUE` AS `Stundensatz`,round((sum(`ac`.`STUNDEN`) / 8),2) AS `AufwandPT`,round(sum(`ac`.`STUNDEN`),2) AS `AufwandStunden`,`ac`.`PSP` AS `Buchungselement`,`psp`.`TITEL` AS `Bezeichnung`,round((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`),2) AS `KostenExclUst`,round(((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`) * 1.2),2) AS `KostenInclUSt` from ((((`CCVILVDACC` `ac` left join `CCVUS` `us` on((convert(`ac`.`USKURZZ` using utf8) = `us`.`USKURZZ`))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (`tk`.`RWNAME` = `ac`.`USKURZZ`)))) left join `CCRW` `r` on(((`r`.`RWTYP` = 'TARATE') and (`r`.`RWNAME` = `tk`.`RWVALUE`)))) left join `CCILPSP` `psp` on((`psp`.`PSP` = convert(`ac`.`PSP` using utf8)))) where ((`ac`.`USKURZZ` = 'JHE') and (`ac`.`JAHR` = 2017) and (`ac`.`MONAT` = 1) and (`ac`.`TAG` < 24) and (`ac`.`PSP` <> 'Pause')) group by `psp`.`VORHABEN`,`ac`.`PSP`,`us`.`USVORNAME`,`us`.`USFAMILIENNAME`,`r`.`RWVALUE`,`psp`.`TITEL` union select 'Summe' AS `Projekt`,concat(`us`.`USVORNAME`,' ',`us`.`USFAMILIENNAME`) AS `Name`,'--' AS `Stundensatz`,round((sum(`ac`.`STUNDEN`) / 8),2) AS `AufwandPT`,round(sum(`ac`.`STUNDEN`),2) AS `AufwandStunden`,'--' AS `Buchungselement`,'--' AS `Bezeichnung`,round((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`),2) AS `KostenExclUst`,round(((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`) * 1.2),2) AS `KostenInclUSt` from ((((`CCVILVDACC` `ac` left join `CCVUS` `us` on((convert(`ac`.`USKURZZ` using utf8) = `us`.`USKURZZ`))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (`tk`.`RWNAME` = `ac`.`USKURZZ`)))) left join `CCRW` `r` on(((`r`.`RWTYP` = 'TARATE') and (`r`.`RWNAME` = `tk`.`RWVALUE`)))) left join `CCILPSP` `psp` on((`psp`.`PSP` = convert(`ac`.`PSP` using utf8)))) where ((`ac`.`USKURZZ` = 'JHE') and (`ac`.`JAHR` = 2017) and (`ac`.`MONAT` = 1) and (`ac`.`TAG` < 24) and (`ac`.`PSP` <> 'Pause')) group by `us`.`USVORNAME`,`us`.`USFAMILIENNAME`,`r`.`RWVALUE` */;

--
-- Final view structure for view `CCVJHE201702`
--

/*!50001 DROP VIEW IF EXISTS `CCVJHE201702`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVJHE201702` AS select (case when (substr(`psp`.`VORHABEN`,1,2) = 'ZI') then 'Z-PI' when (substr(`psp`.`VORHABEN`,1,4) = 'WIST') then 'WIST' else 'Unbekannt' end) AS `Projekt`,concat(`us`.`USVORNAME`,' ',`us`.`USFAMILIENNAME`) AS `Name`,`r`.`RWVALUE` AS `Stundensatz`,round((sum(`ac`.`STUNDEN`) / 8),2) AS `AufwandPT`,round(sum(`ac`.`STUNDEN`),2) AS `AufwandStunden`,`ac`.`PSP` AS `Buchungselement`,`psp`.`TITEL` AS `Bezeichnung`,round((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`),2) AS `KostenExclUst`,round(((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`) * 1.2),2) AS `KostenInclUSt` from ((((`CCVILVDACC` `ac` left join `CCVUS` `us` on((convert(`ac`.`USKURZZ` using utf8) = `us`.`USKURZZ`))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (`tk`.`RWNAME` = `ac`.`USKURZZ`)))) left join `CCRW` `r` on(((`r`.`RWTYP` = 'TARATE') and (`r`.`RWNAME` = `tk`.`RWVALUE`)))) left join `CCILPSP` `psp` on((`psp`.`PSP` = convert(`ac`.`PSP` using utf8)))) where ((`ac`.`USKURZZ` = 'JHE') and (`ac`.`JAHR` = 2017) and (`ac`.`MONAT` = 1) and (`ac`.`TAG` < 24) and (`ac`.`PSP` <> 'Pause')) group by `psp`.`VORHABEN`,`ac`.`PSP`,`us`.`USVORNAME`,`us`.`USFAMILIENNAME`,`r`.`RWVALUE`,`psp`.`TITEL` union select 'Summe' AS `Projekt`,concat(`us`.`USVORNAME`,' ',`us`.`USFAMILIENNAME`) AS `Name`,'--' AS `Stundensatz`,round((sum(`ac`.`STUNDEN`) / 8),2) AS `AufwandPT`,round(sum(`ac`.`STUNDEN`),2) AS `AufwandStunden`,'--' AS `Buchungselement`,'--' AS `Bezeichnung`,round((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`),2) AS `KostenExclUst`,round(((sum(`ac`.`STUNDEN`) * `r`.`RWVALUE`) * 1.2),2) AS `KostenInclUSt` from ((((`CCVILVDACC` `ac` left join `CCVUS` `us` on((convert(`ac`.`USKURZZ` using utf8) = `us`.`USKURZZ`))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (`tk`.`RWNAME` = `ac`.`USKURZZ`)))) left join `CCRW` `r` on(((`r`.`RWTYP` = 'TARATE') and (`r`.`RWNAME` = `tk`.`RWVALUE`)))) left join `CCILPSP` `psp` on((`psp`.`PSP` = convert(`ac`.`PSP` using utf8)))) where ((`ac`.`USKURZZ` = 'JHE') and (`ac`.`JAHR` = 2017) and (((`ac`.`MONAT` = 1) and (`ac`.`TAG` >= 24)) or ((`ac`.`MONAT` = 2) and (`ac`.`TAG` < 21))) and (`ac`.`PSP` <> 'Pause')) group by `us`.`USVORNAME`,`us`.`USFAMILIENNAME`,`r`.`RWVALUE` */;

--
-- Final view structure for view `CCVJHECF2017WM01`
--

/*!50001 DROP VIEW IF EXISTS `CCVJHECF2017WM01`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVJHECF2017WM01` AS select `CCVILVACC`.`DATUM` AS `Datum`,sum(`CCVILVACC`.`STUNDEN_ARBEIT`) AS `Stunden`,group_concat(`CCVILVACC`.`PSPDETAIL` separator ',') AS `Leistung` from `CCVILVACC` where ((`CCVILVACC`.`USKURZZ` = 'JHE') and (`CCVILVACC`.`JAHR` = 2017) and (((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` >= 1)) or ((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` < 24))) and (`CCVILVACC`.`PSP` <> 'Pause')) group by `CCVILVACC`.`DATUM`,`CCVILVACC`.`PSP`,`CCVILVACC`.`PSPDETAIL` union select 'vom 01.01.2017 bis 23.01.2017' AS `Datum`,sum(`CCVILVACC`.`STUNDEN_ARBEIT`) AS `Stunden`,'Summe' AS `Leistung` from `CCVILVACC` where ((`CCVILVACC`.`USKURZZ` = 'JHE') and (`CCVILVACC`.`JAHR` = 2017) and (((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` >= 1)) or ((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` < 24))) and (`CCVILVACC`.`PSP` <> 'Pause')) order by `Datum` */;

--
-- Final view structure for view `CCVJHECF2017WM02`
--

/*!50001 DROP VIEW IF EXISTS `CCVJHECF2017WM02`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVJHECF2017WM02` AS select `CCVILVACC`.`DATUM` AS `Datum`,sum(`CCVILVACC`.`STUNDEN_ARBEIT`) AS `Stunden`,group_concat(`CCVILVACC`.`PSPDETAIL` separator ',') AS `Leistung` from `CCVILVACC` where ((`CCVILVACC`.`USKURZZ` = 'JHE') and (`CCVILVACC`.`JAHR` = 2017) and (((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` >= 24)) or ((`CCVILVACC`.`MONAT` = 2) and (`CCVILVACC`.`TAG` < 21))) and (`CCVILVACC`.`PSP` <> 'Pause')) group by `CCVILVACC`.`DATUM`,`CCVILVACC`.`PSP`,`CCVILVACC`.`PSPDETAIL` union select 'vom 24.01.2017 bis 20.02.2017' AS `Datum`,sum(`CCVILVACC`.`STUNDEN_ARBEIT`) AS `Stunden`,'Summe' AS `Leistung` from `CCVILVACC` where ((`CCVILVACC`.`USKURZZ` = 'JHE') and (`CCVILVACC`.`JAHR` = 2017) and (((`CCVILVACC`.`MONAT` = 1) and (`CCVILVACC`.`TAG` >= 24)) or ((`CCVILVACC`.`MONAT` = 2) and (`CCVILVACC`.`TAG` < 21))) and (`CCVILVACC`.`PSP` <> 'Pause')) order by `Datum` */;

--
-- Final view structure for view `CCVRCAL`
--

/*!50001 DROP VIEW IF EXISTS `CCVRCAL`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVRCAL` AS select `vcal`.`JAHR` AS `JAHR`,`vcal`.`MONAT` AS `MONAT`,`vcal`.`MONATSANFANG` AS `MONATSANFANG`,`vcal`.`MONATSENDE` AS `MONATSENDE`,`vcal`.`TAGEIMMONAT` AS `TAGEIMMONAT`,week(`vcal`.`MONATSANFANG`,3) AS `ERSTEWOCHE`,week(`vcal`.`MONATSENDE`,3) AS `LETZTEWOCHE`,`mat`.`TAGEINERSTERWOCHE` AS `TAGEINERSTERWOCHE`,`met`.`TAGEINLETZTERWOCHE` AS `TAGEINLETZTERWOCHE` from ((`CCVCAL` `vcal` left join `CCWDDN` `mat` on((`mat`.`WOCHENTAG` = dayofweek(`vcal`.`MONATSANFANG`)))) left join `CCWDDN` `met` on((`met`.`WOCHENTAG` = dayofweek(`vcal`.`MONATSENDE`)))) order by `vcal`.`JAHR`,`vcal`.`MONAT` */;

--
-- Final view structure for view `CCVSPINFO`
--

/*!50001 DROP VIEW IF EXISTS `CCVSPINFO`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVSPINFO` AS select (select `sbb`.`SPNAME` from `CCSPBOX` `sbb` where (`sbb`.`SPEND` = (select max(`sb`.`SPEND`) from `CCSPBOX` `sb` where (`sb`.`SPEND` <= curdate())))) AS `ABGSPRINT`,(select `sb`.`SPNAME` from `CCSPBOX` `sb` where ((`sb`.`SPBEGIN` <= curdate()) and (`sb`.`SPEND` >= curdate()))) AS `AKTSPRINT`,(select `sbb`.`SPNAME` from `CCSPBOX` `sbb` where (`sbb`.`SPBEGIN` = (select min(`sb`.`SPBEGIN`) from `CCSPBOX` `sb` where (`sb`.`SPBEGIN` >= curdate())))) AS `NXTSPRINT` */;

--
-- Final view structure for view `CCVTARKLASS`
--

/*!50001 DROP VIEW IF EXISTS `CCVTARKLASS`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTARKLASS` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,(case when ((select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4),substr(concat('00',`cal`.`MONAT`),-(2),2)) using utf8)) and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) is not null) then (select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4),substr(concat('00',`cal`.`MONAT`),-(2),2)) using utf8)) and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) else (case when ((select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4)) using utf8)) and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) is not null) then (select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4)) using utf8)) and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) else (case when ((select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = 'TARKLASS') and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) is not null) then (select `ua`.`ATTVALUE` from `CCATT` `ua` where ((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTNAME` = 'TARKLASS') and (`ua`.`ATTPARKURZ` = `cu`.`USKURZZ`))) else convert((case when ((select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8),convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8))))) is not null) then (select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8),convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8))))) else (case when ((select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8))))) is not null) then (select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8))))) else (case when ((select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = `cu`.`USKURZZ`))) is not null) then (select `ur`.`RWVALUE` from `CCRW` `ur` where ((`ur`.`RWTYP` = 'TKU') and (`ur`.`RWPARENT` = 'TARKLASS') and (convert(`ur`.`RWNAME` using utf8) = `cu`.`USKURZZ`))) else 'NO_TARIFF_CLASS' end) end) end) using utf8) end) end) end) AS `TARKLASS` from (`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) */;

--
-- Final view structure for view `CCVTASK`
--

/*!50001 DROP VIEW IF EXISTS `CCVTASK`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTASK` AS select `t`.`PROJECT` AS `PROJECT`,`t`.`TASKID` AS `TASKID`,(case when (`t`.`TASKTYPE` = 'JAP') then '' when (`t`.`TASKTYPE` = 'JAPBEREICH') then '' when (`t`.`TASKTYPE` = 'JAPVORHABEN') then `t`.`TASKID` when (`t`.`TASKTYPE` = 'JAPAP') then (select `tt`.`TASKID` from `CCTASK` `tt` where (`tt`.`TASKID` = `t`.`PARENTID`)) when (`t`.`TASKTYPE` = 'TASK') then (select `ttt`.`TASKID` from `CCTASK` `ttt` where (`ttt`.`TASKID` = (select `tt`.`PARENTID` from `CCTASK` `tt` where (`tt`.`TASKID` = `t`.`PARENTID`)))) else '---UNBEKANNT---' end) AS `VORHABEN`,`t`.`PARENTID` AS `PARENTID`,`t`.`TASKNAME` AS `TASKNAME`,`t`.`TASKTYPE` AS `TASKTYPE`,`t`.`PSPCODE` AS `PSPCODE`,`t`.`TASKDESC` AS `TASKDESC`,`t`.`ESTEFFPH` AS `ESTEFFPH`,`t`.`RATEUR` AS `RATEUR`,`t`.`ESTEUR` AS `ESTEUR`,`t`.`STARTTIME` AS `STARTTIME`,`t`.`ENDTIME` AS `ENDTIME`,(to_days(`t`.`ENDTIME`) - to_days(`t`.`STARTTIME`)) AS `DAUER`,(`t`.`ESTEFFPH` / (to_days(`t`.`ENDTIME`) - to_days(`t`.`STARTTIME`))) AS `TAGESPH`,`t`.`TASKRESP` AS `TASKRESP`,`us`.`USKURZZ` AS `USKURZZ`,`us`.`USVORNAME` AS `USVORNAME`,`us`.`USFAMILIENNAME` AS `USFAMILIENNAME`,`us`.`USZPVFSART_CCFS` AS `USZPVFSART_CCFS`,`us`.`USZPVFS` AS `USZPVFS`,`us`.`USWIKIPAGENAME` AS `USWIKIPAGENAME`,`us`.`USWIKIPAGEURL` AS `USWIKIPAGEURL`,`us`.`USSTATUSCCUSTAT` AS `USSTATUSCCUSTAT`,`us`.`KST` AS `KST`,`us`.`INTEXT` AS `INTEXT`,`us`.`EMAIL` AS `EMAIL` from (`CCTASK` `t` left join `CCVUS` `us` on((`us`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8)))) */;

--
-- Final view structure for view `CCVTASKPM`
--

/*!50001 DROP VIEW IF EXISTS `CCVTASKPM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTASKPM` AS select `c`.`JAHR` AS `JAHR`,`c`.`MONAT` AS `MONAT`,`t`.`TASKID` AS `TASKID`,`t`.`TASKNAME` AS `TASKNAME`,`t`.`TASKRESP` AS `TASKRESP`,`t`.`STARTTIME` AS `STARTTIME`,`t`.`ENDTIME` AS `ENDTIME`,`t`.`ESTEFFPH` AS `ESTEFFPH`,`t`.`RATEUR` AS `RATEUR`,`t`.`ESTEUR` AS `ESTEUR`,`t`.`TAGESPH` AS `TAGESPH`,((case when ((`t`.`STARTTIME` <= `c`.`MONATSENDE`) and (`t`.`ENDTIME` >= `c`.`MONATSANFANG`)) then (to_days((case when (`t`.`ENDTIME` >= `c`.`MONATSENDE`) then `c`.`MONATSENDE` else `t`.`ENDTIME` end)) - to_days((case when (`t`.`STARTTIME` >= `c`.`MONATSANFANG`) then `t`.`STARTTIME` else `c`.`MONATSANFANG` end))) else 0 end) * `t`.`TAGESPH`) AS `PHIMMONAT` from (`CCVTASK` `t` left join `CCVCAL` `c` on((1 = 1))) where ((`c`.`JAHR` = 2017) and (`t`.`TASKRESP` <> '')) */;

--
-- Final view structure for view `CCVTASKPPM`
--

/*!50001 DROP VIEW IF EXISTS `CCVTASKPPM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTASKPPM` AS select `pv`.`JAHR` AS `JAHR`,`pv`.`MONAT` AS `MONAT`,`pv`.`TASKRESP` AS `TASKRESP`,sum(`pv`.`PHIMMONAT`) AS `AUFWANDPHMONAT` from `CCVTASKPM` `pv` group by `pv`.`JAHR`,`pv`.`MONAT`,`pv`.`TASKRESP` */;

--
-- Final view structure for view `CCVTASKPPMT`
--

/*!50001 DROP VIEW IF EXISTS `CCVTASKPPMT`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTASKPPMT` AS select `CCVTASKPPM`.`JAHR` AS `JAHR`,`CCVTASKPPM`.`TASKRESP` AS `TASKRESP`,sum(`CCVTASKPPM`.`AUFWANDPHMONAT`) AS `AUFWANDPHJAHR` from `CCVTASKPPM` group by `CCVTASKPPM`.`JAHR`,`CCVTASKPPM`.`TASKRESP` */;

--
-- Final view structure for view `CCVTASKZPICONT201702`
--

/*!50001 DROP VIEW IF EXISTS `CCVTASKZPICONT201702`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTASKZPICONT201702` AS select `t`.`TASKTYPE` AS `TASKTYPE`,`t`.`TASKID` AS `TASKID`,`t`.`TASKNAME` AS `TASKNAME`,`t`.`TASKRESP` AS `TASKRESP`,`t`.`PSPCODE` AS `PSPCODE`,round(`t`.`ESTEFFPH`,0) AS `Planstunden01-12`,round(`t`.`ESTEUR`,0) AS `Plankosten01-12`,(case when (`t`.`TASKTYPE` = 'TASK') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)) and (`d`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPAP') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPVORHABEN') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where (`tt`.`PARENTID` = `t`.`TASKID`)))),0) when (`t`.`TASKTYPE` = 'JAPBEREICH') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where `tt`.`PARENTID` in (select `ttt`.`TASKID` from `CCTASK` `ttt` where (`ttt`.`PARENTID` = `t`.`TASKID`))))),0) when (`t`.`TASKTYPE` = 'JAP') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` like convert(concat(`t`.`PSPCODE`,'.%') using utf8)))),0) else 0 end) AS `IstStunden01`,(case when (`t`.`TASKTYPE` = 'TASK') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)) and (`d`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPAP') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPVORHABEN') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where (`tt`.`PARENTID` = `t`.`TASKID`)))),0) when (`t`.`TASKTYPE` = 'JAPBEREICH') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where `tt`.`PARENTID` in (select `ttt`.`TASKID` from `CCTASK` `ttt` where (`ttt`.`PARENTID` = `t`.`TASKID`))))),0) when (`t`.`TASKTYPE` = 'JAP') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 1) and (`d`.`PSP` like convert(concat(`t`.`PSPCODE`,'.%') using utf8)))),0) else 0 end) AS `IstKosten01`,(case when (`t`.`TASKTYPE` = 'TASK') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)) and (`d`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPAP') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPVORHABEN') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where (`tt`.`PARENTID` = `t`.`TASKID`)))),0) when (`t`.`TASKTYPE` = 'JAPBEREICH') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where `tt`.`PARENTID` in (select `ttt`.`TASKID` from `CCTASK` `ttt` where (`ttt`.`PARENTID` = `t`.`TASKID`))))),0) when (`t`.`TASKTYPE` = 'JAP') then ifnull((select sum(`d`.`STUNDEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` like convert(concat(`t`.`PSPCODE`,'.%') using utf8)))),0) else 0 end) AS `IstStunden02`,(case when (`t`.`TASKTYPE` = 'TASK') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)) and (`d`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPAP') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` = convert(`t`.`PSPCODE` using utf8)))),0) when (`t`.`TASKTYPE` = 'JAPVORHABEN') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where (`tt`.`PARENTID` = `t`.`TASKID`)))),0) when (`t`.`TASKTYPE` = 'JAPBEREICH') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and `d`.`PSP` in (select `tt`.`PSPCODE` from `CCTASK` `tt` where `tt`.`PARENTID` in (select `ttt`.`TASKID` from `CCTASK` `ttt` where (`ttt`.`PARENTID` = `t`.`TASKID`))))),0) when (`t`.`TASKTYPE` = 'JAP') then ifnull((select sum(`d`.`KOSTEN`) from `CCILV` `d` where ((`d`.`JAHR` = 2017) and (`d`.`MONAT` = 2) and (`d`.`PSP` like convert(concat(`t`.`PSPCODE`,'.%') using utf8)))),0) else 0 end) AS `IstKosten02`,`t`.`TASKATTRIB` AS `Attribute` from `CCTASK` `t` where (`t`.`PROJECT` = 'ZPI2017') */;

--
-- Final view structure for view `CCVTKRG`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKRG`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKRG` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`RWVALUE` AS `TKRG` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (convert(`tk`.`RWNAME` using utf8) = `cu`.`USKURZZ`)))) */;

--
-- Final view structure for view `CCVTKRJ`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKRJ`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKRJ` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`RWVALUE` AS `TKRJ` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (convert(`tk`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8)))))) */;

--
-- Final view structure for view `CCVTKRM`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKRM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKRM` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`RWVALUE` AS `TKRM` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCRW` `tk` on(((`tk`.`RWTYP` = 'TKU') and (convert(`tk`.`RWNAME` using utf8) = concat(`cu`.`USKURZZ`,convert(substr(concat('0000',`cal`.`JAHR`),-(4),4) using utf8),convert(substr(concat('00',`cal`.`MONAT`),-(2),2) using utf8)))))) */;

--
-- Final view structure for view `CCVTKUG`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKUG`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKUG` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`ATTVALUE` AS `TKUG` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCVUILRATE` `tk` on(((`tk`.`USKURZZ` = `cu`.`USKURZZ`) and (`tk`.`ATTNAME` = 'TARKLASS')))) */;

--
-- Final view structure for view `CCVTKUJ`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKUJ`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKUJ` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`ATTVALUE` AS `TKUJ` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCVUILRATE` `tk` on(((`tk`.`USKURZZ` = `cu`.`USKURZZ`) and (`tk`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4)) using utf8))))) */;

--
-- Final view structure for view `CCVTKUM`
--

/*!50001 DROP VIEW IF EXISTS `CCVTKUM`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVTKUM` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`cu`.`USKURZZ` AS `USKURZZ`,`tk`.`ATTVALUE` AS `TKUM` from ((`CCCAL` `cal` left join `CCUS` `cu` on((1 = 1))) left join `CCVUILRATE` `tk` on(((`tk`.`USKURZZ` = `cu`.`USKURZZ`) and (`tk`.`ATTNAME` = convert(concat('TARKLASS',substr(concat('0000',`cal`.`JAHR`),-(4),4),substr(concat('00',`cal`.`MONAT`),-(2),2)) using utf8))))) */;

--
-- Final view structure for view `CCVUILRATE`
--

/*!50001 DROP VIEW IF EXISTS `CCVUILRATE`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVUILRATE` AS select `cal`.`JAHR` AS `JAHR`,`cal`.`MONAT` AS `MONAT`,`us`.`USKURZZ` AS `USKURZZ`,`ua`.`ATTNAME` AS `ATTNAME`,`ua`.`ATTVALUE` AS `ATTVALUE` from ((`CCCAL` `cal` left join `CCVUS` `us` on((1 = 1))) left join `CCATT` `ua` on(((`ua`.`ATTARCHTYP` = 'RATE') and (`ua`.`ATTPARTYPE` = 'CCUS') and (`ua`.`ATTPARKURZ` = `us`.`USKURZZ`)))) */;

--
-- Final view structure for view `CCVUS`
--

/*!50001 DROP VIEW IF EXISTS `CCVUS`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVUS` AS select `us`.`USKURZZ` AS `USKURZZ`,`us`.`USVORNAME` AS `USVORNAME`,`us`.`USFAMILIENNAME` AS `USFAMILIENNAME`,`us`.`USZPVFSART_CCFS` AS `USZPVFSART_CCFS`,`us`.`USZPVFS` AS `USZPVFS`,`us`.`USWIKIPAGENAME` AS `USWIKIPAGENAME`,`us`.`USWIKIPAGEURL` AS `USWIKIPAGEURL`,`us`.`USSTATUSCCUSTAT` AS `USSTATUSCCUSTAT`,substr((select `mk`.`MAXKST` from `CCVUSMAXKST` `mk` where (`mk`.`USKURZZ` = `us`.`USKURZZ`)),7,6) AS `KST`,(case when (substr(substr((select `mk`.`MAXKST` from `CCVUSMAXKST` `mk` where (`mk`.`USKURZZ` = `us`.`USKURZZ`)),7,6),1,1) between '0' and '9') then 'INT' else 'EXT' end) AS `INTEXT`,(select `eml`.`ATTVALUE` from `CCATT` `eml` where ((`eml`.`ATTARCHTYP` = 'USEMAIL') and (`eml`.`ATTPARTYPE` = 'CCUS') and (`eml`.`ATTNAME` = 'EMAIL') and (`eml`.`ATTPARKURZ` = `us`.`USKURZZ`))) AS `EMAIL` from `CCUS` `us` */;

--
-- Final view structure for view `CCVUSALLKST`
--

/*!50001 DROP VIEW IF EXISTS `CCVUSALLKST`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVUSALLKST` AS select distinct `CCVILV`.`USKURZZ` AS `USKURZZ`,concat(`CCVILV`.`jahr`,substr(concat('00',`CCVILV`.`monat`),-(2),2),`CCVILV`.`kst`) AS `JMK`,`CCVILV`.`kst` AS `KST` from `CCVILV` */;

--
-- Final view structure for view `CCVUSMAXKST`
--

/*!50001 DROP VIEW IF EXISTS `CCVUSMAXKST`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVUSMAXKST` AS select `CCVUSALLKST`.`USKURZZ` AS `USKURZZ`,max(`CCVUSALLKST`.`JMK`) AS `MAXKST` from `CCVUSALLKST` group by `CCVUSALLKST`.`USKURZZ` order by `CCVUSALLKST`.`USKURZZ` */;

--
-- Final view structure for view `CCVWFPENDINST`
--

/*!50001 DROP VIEW IF EXISTS `CCVWFPENDINST`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVWFPENDINST` AS select `us`.`USKURZZ` AS `USKURZZ`,`gp`.`GRPID` AS `GRPID`,`qa`.`QUEID` AS `QUEID`,`wfi`.`WFID` AS `WFID`,`wfi`.`WFINSTID` AS `WFINSTID`,`wfi`.`WFITITLE` AS `WFITITLE`,`wfi`.`WFSTATE` AS `WFSTATE` from (((((`CCUS` `us` left join `CCUSAS` `ua` on((`ua`.`USKURZZ` = `us`.`USKURZZ`))) left join `CCGRP` `gp` on((`gp`.`GRPID` = `ua`.`GRP`))) left join `CCWFQGA` `ga` on((`ga`.`GRPID` = `gp`.`GRPID`))) left join `CCWFSTAQUE` `qa` on((`qa`.`QUEID` = `ga`.`QUEID`))) left join `CCWFINST` `wfi` on(((`wfi`.`WFID` = `qa`.`WFID`) and (`wfi`.`WFSTATE` = `qa`.`WFSTA`)))) */;

--
-- Final view structure for view `CCVZPI2017TASKS`
--

/*!50001 DROP VIEW IF EXISTS `CCVZPI2017TASKS`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`10.0.2.2` SQL SECURITY DEFINER */
/*!50001 VIEW `CCVZPI2017TASKS` AS select (select concat(`us`.`USVORNAME`,' ',`us`.`USFAMILIENNAME`) from `CCUS` `us` where (`us`.`USKURZZ` = convert(`t`.`TASKRESP` using utf8))) AS `Name`,(select `vor`.`TASKNAME` from `CCTASK` `vor` where (`vor`.`TASKID` = (select `par`.`PARENTID` from `CCTASK` `par` where (`par`.`TASKID` = `t`.`PARENTID`) limit 1)) limit 1) AS `Vorhaben`,(select `par`.`TASKNAME` from `CCTASK` `par` where (`par`.`TASKID` = `t`.`PARENTID`) limit 1) AS `Arbeitspaket`,concat(`t`.`TASKNAME`) AS `Aufgabe`,ceiling(`t`.`ESTEFFPH`) AS `Planstunden`,concat(`t`.`PSPCODE`) AS `PSP_ELEMENT` from `CCTASK` `t` where ((`t`.`PROJECT` = 'ZPI2017') and (`t`.`TASKTYPE` = 'TASK') and (`t`.`TASKRESP` is not null)) order by `t`.`TASKRESP`,`t`.`PSPCODE` */;

--
-- Current Database: `mysql`
--

USE `mysql`;


