mirror of
				https://github.com/pierre42100/comunic
				synced 2025-11-04 04:04:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			269 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
// TODO: These are MySQL specific
 | 
						|
 | 
						|
$keywords = array(
 | 
						|
  'ABORT', 'ACTION', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AS',
 | 
						|
  'ASC', 'ATTACH', 'AUTOINCREMENT', 'AUTO_INCREMENT', 'BEFORE', 'BEGIN',
 | 
						|
  'BY', 'CASCADE', 'CAST', 'CHECK', 'COLLATE', 'COLUMN',
 | 
						|
  'COMMIT', 'CONFLICT', 'CONSTRAINT', 'CREATE', 'CROSS', 'CURRENT_DATE',
 | 
						|
  'CURRENT_TIME', 'CURRENT_TIMESTAMP','DATABASE', 'DEFAULT', 'DEFERRABLE',
 | 
						|
  'DEFERRED', 'DELETE', 'DESC', 'DETACH', 'DISTINCT', 'DROP',  'EACH', 'ELSE',
 | 
						|
  'END', 'ESCAPE', 'EXCEPT', 'EXCLUSIVE', 'EXISTS', 'EXPLAIN', 'FAIL', 'FOR',
 | 
						|
  'FOREIGN', 'FROM', 'FULL', 'GLOB', 'GROUP', 'HAVING', 'IF', 'IGNORE',
 | 
						|
  'IMMEDIATE', 'IN', 'INDEX', 'INDEXED', 'INITITIALLY', 'INNER', 'INSERT',
 | 
						|
  'INSTEAD', 'INTERSECT', 'INTO', 'ISNULL', 'JOIN', 'KEY', 'LEFT', 'LIKE',
 | 
						|
  'LIMIT', 'MATCH', 'NATURAL', 'NO', 'NOTNULL', 'OF', 'OFFSET',
 | 
						|
  'ON', 'OR', 'ORDER', 'OUTER', 'PLAN', 'PRAGMA', 'PRIMARY', 'QUERY', 'RAISE',
 | 
						|
  'REFERENCES', 'REGEXP', 'REINDEX', 'RELEASE', 'RENAME', 'REPLACE', 'RESTRICT',
 | 
						|
  'RIGHT', 'ROLLBACK', 'ROW', 'SAVEPOINT', 'SELECT', 'SET', 'TABLE', 'TEMP',
 | 
						|
  'TEMPORARY', 'THEN', 'TO', 'TRANSACTION', 'TRIGGER', 'UNION', 'UNIQUE',
 | 
						|
  'UPDATE', 'USING', 'VACUUM', 'VALUES', 'VIEW', 'VIRTUAL', 'WHEN', 'WHERE',
 | 
						|
  'WITH',
 | 
						|
 | 
						|
  // type qualifier stuff
 | 
						|
  'SIGNED', 'UNSIGNED', 'ZEROFILL',
 | 
						|
 | 
						|
  // seem to be missing these, probably not standard
 | 
						|
  'MINVALUE', 'MAXVALUE', 'START'
 | 
						|
);
 | 
						|
 | 
						|
$types = array(
 | 
						|
  'BINARY', 'BIT', 'BIGINT', 'BIGINTEGER', 'BLOB',
 | 
						|
  'CHAR', 'CLOB',
 | 
						|
  'DATE', 'DATETIME', 'DEC', 'DECIMAL', 'DOUBLE', 'DOUBLE_PRECISION',
 | 
						|
  'ENUM', 
 | 
						|
  'FIXED', 'FLOAT', 
 | 
						|
  'INT', 'INTEGER', 
 | 
						|
  'MEDIUMINT', 'MEDIUMINTEGER',
 | 
						|
  'NUMERIC',
 | 
						|
  'REAL',
 | 
						|
  'SMALLINT', 'SMALLINTEGER', 
 | 
						|
  'SET', 'TEXT', 'TIME', 'TIMESTAMP', 'TINYINT', 
 | 
						|
  'TINYINTEGER',
 | 
						|
  'VARBINARY', 'VARCHAR', 
 | 
						|
  'YEAR',
 | 
						|
  'ZONE' // for time zone
 | 
						|
);
 | 
						|
 | 
						|
 | 
						|
$values = array('NULL');
 | 
						|
 | 
						|
 | 
						|
// http://dev.mysql.com/doc/refman/5.0/en/func-op-summary-ref.html
 | 
						|
 | 
						|
$operators = array('AND', 'BETWEEN', 'BINARY', 'CASE', 'DIV', 'IS',
 | 
						|
'LIKE', 'NOT', 'SOUNDS', 'XOR');
 | 
						|
 | 
						|
$functions = array(
 | 
						|
'ABS',
 | 
						|
'ACOS',
 | 
						|
'ADDDATE',
 | 
						|
'ADDTIME',
 | 
						|
'AES_DECRYPT',
 | 
						|
'AES_ENCRYPT',
 | 
						|
'ASCII',
 | 
						|
'ASIN',
 | 
						|
'ATAN2',
 | 
						|
'ATAN',
 | 
						|
'AVG',
 | 
						|
'BENCHMARK',
 | 
						|
'BIN',
 | 
						|
'BIT_AND',
 | 
						|
'BIT_COUNT',
 | 
						|
'BIT_LENGTH',
 | 
						|
'BIT_OR',
 | 
						|
'BIT_XOR',
 | 
						|
'CAST',
 | 
						|
'CEIL',
 | 
						|
'CEILING',
 | 
						|
'CHAR_LENGTH',
 | 
						|
'CHAR',
 | 
						|
'CHARACTER_LENGTH',
 | 
						|
'CHARSET',
 | 
						|
'COALESCE',
 | 
						|
'COERCIBILITY',
 | 
						|
'COLLATION',
 | 
						|
'COMPRESS',
 | 
						|
'CONCAT_WS',
 | 
						|
'CONCAT',
 | 
						|
'CONNECTION_ID',
 | 
						|
'CONV',
 | 
						|
'CONVERT_TZ',
 | 
						|
'Convert',
 | 
						|
'COS',
 | 
						|
'COT',
 | 
						|
'COUNT',
 | 
						|
'COUNT',
 | 
						|
'CRC32',
 | 
						|
'CURDATE',
 | 
						|
'CURRENT_DATE',
 | 
						|
'CURRENT_TIME',
 | 
						|
'CURRENT_TIMESTAMP',
 | 
						|
'CURRENT_USER',
 | 
						|
'CURTIME',
 | 
						|
'DATABASE',
 | 
						|
'DATE_ADD',
 | 
						|
'DATE_FORMAT',
 | 
						|
'DATE_SUB',
 | 
						|
'DATE',
 | 
						|
'DATEDIFF',
 | 
						|
'DAY',
 | 
						|
'DAYNAME',
 | 
						|
'DAYOFMONTH',
 | 
						|
'DAYOFWEEK',
 | 
						|
'DAYOFYEAR',
 | 
						|
'DECODE',
 | 
						|
'DEFAULT',
 | 
						|
'DEGREES',
 | 
						|
'DES_DECRYPT',
 | 
						|
'DES_ENCRYPT',
 | 
						|
'ELT',
 | 
						|
'ENCODE',
 | 
						|
'ENCRYPT',
 | 
						|
'EXP',
 | 
						|
'EXPORT_SET',
 | 
						|
'EXTRACT',
 | 
						|
'FIELD',
 | 
						|
'FIND_IN_SET',
 | 
						|
'FLOOR',
 | 
						|
'FORMAT',
 | 
						|
'FOUND_ROWS',
 | 
						|
'FROM_DAYS',
 | 
						|
'FROM_UNIXTIME',
 | 
						|
'GET_FORMAT',
 | 
						|
'GET_LOCK',
 | 
						|
'GREATEST',
 | 
						|
'GROUP_CONCAT',
 | 
						|
'HEX',
 | 
						|
'HOUR',
 | 
						|
'IF',
 | 
						|
'IFNULL',
 | 
						|
'IN',
 | 
						|
'INET_ATON',
 | 
						|
'INET_NTOA',
 | 
						|
'INSERT',
 | 
						|
'INSTR',
 | 
						|
'INTERVAL',
 | 
						|
'IS_FREE_LOCK',
 | 
						|
'IS_USED_LOCK',
 | 
						|
'ISNULL',
 | 
						|
'LAST_DAY',
 | 
						|
'LAST_INSERT_ID',
 | 
						|
'LCASE',
 | 
						|
'LEAST',
 | 
						|
'LEFT',
 | 
						|
'LENGTH',
 | 
						|
'LN',
 | 
						|
'LOAD_FILE',
 | 
						|
'LOCALTIME',
 | 
						|
'LOCALTIMESTAMP,',
 | 
						|
'LOCATE',
 | 
						|
'LOG10',
 | 
						|
'LOG2',
 | 
						|
'LOG',
 | 
						|
'LOWER',
 | 
						|
'LPAD',
 | 
						|
'LTRIM',
 | 
						|
'MAKE_SET',
 | 
						|
'MAKEDATE',
 | 
						|
'MAKETIME',
 | 
						|
'MASTER_POS_WAIT',
 | 
						|
'MATCH',
 | 
						|
'MAX',
 | 
						|
'MD5',
 | 
						|
'MICROSECOND',
 | 
						|
'MID',
 | 
						|
'MIN',
 | 
						|
'MINUTE',
 | 
						|
'MOD',
 | 
						|
'MONTH',
 | 
						|
'MONTHNAME',
 | 
						|
'NAME_CONST',
 | 
						|
'NOW',
 | 
						|
'NULLIF',
 | 
						|
'OCT',
 | 
						|
'OCTET_LENGTH',
 | 
						|
'OLD_PASSWORD',
 | 
						|
'ORD',
 | 
						|
'PASSWORD',
 | 
						|
'PERIOD_ADD',
 | 
						|
'PERIOD_DIFF',
 | 
						|
'PI',
 | 
						|
'POSITION',
 | 
						|
'POW',
 | 
						|
'POWER',
 | 
						|
'ANALYSE',
 | 
						|
'QUARTER',
 | 
						|
'QUOTE',
 | 
						|
'RADIANS',
 | 
						|
'RAND',
 | 
						|
'REGEXP',
 | 
						|
'RELEASE_LOCK',
 | 
						|
'REPEAT',
 | 
						|
'REPLACE',
 | 
						|
'REVERSE',
 | 
						|
'RIGHT',
 | 
						|
'RLIKE',
 | 
						|
'ROUND',
 | 
						|
'ROW_COUNT',
 | 
						|
'RPAD',
 | 
						|
'RTRIM',
 | 
						|
'SCHEMA',
 | 
						|
'SEC_TO_TIME',
 | 
						|
'SECOND',
 | 
						|
'SESSION_USER',
 | 
						|
'SHA1',
 | 
						|
'SIGN',
 | 
						|
'SIN',
 | 
						|
'SLEEP',
 | 
						|
'SOUNDEX',
 | 
						|
'SPACE',
 | 
						|
'SQRT',
 | 
						|
'STD',
 | 
						|
'STDDEV_POP',
 | 
						|
'STDDEV_SAMP',
 | 
						|
'STDDEV',
 | 
						|
'STR_TO_DATE',
 | 
						|
'STRCMP',
 | 
						|
'SUBDATE',
 | 
						|
'SUBSTR',
 | 
						|
'SUBSTRING_INDEX',
 | 
						|
'SUBSTRING',
 | 
						|
'SUBTIME',
 | 
						|
'SUM',
 | 
						|
'SYSDATE',
 | 
						|
'SYSTEM_USER',
 | 
						|
'TAN',
 | 
						|
'TIME_FORMAT',
 | 
						|
'TIME_TO_SEC',
 | 
						|
'TIME',
 | 
						|
'TIMEDIFF',
 | 
						|
'TIMESTAMP',
 | 
						|
'TIMESTAMPADD',
 | 
						|
'TIMESTAMPDIFF',
 | 
						|
'TO_DAYS',
 | 
						|
'TRIM',
 | 
						|
'TRUNCATE',
 | 
						|
'UCASE',
 | 
						|
'UNCOMPRESS',
 | 
						|
'UNCOMPRESSED_LENGTH',
 | 
						|
'UNHEX',
 | 
						|
'UNIX_TIMESTAMP',
 | 
						|
'UPPER',
 | 
						|
'USER',
 | 
						|
'UTC_DATE',
 | 
						|
'UTC_TIME',
 | 
						|
'UTC_TIMESTAMP',
 | 
						|
'UUID',
 | 
						|
'VALUES',
 | 
						|
'VAR_POP',
 | 
						|
'VAR_SAMP',
 | 
						|
'VARIANCE',
 | 
						|
'VERSION',
 | 
						|
'WEEK',
 | 
						|
'WEEKDAY',
 | 
						|
'WEEKOFYEAR',
 | 
						|
'YEAR',
 | 
						|
'YEARWEEK');
 |