PageRenderTime 28ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/Constants.php

http://github.com/jv2222/ezSQL
PHP | 185 lines | 141 code | 21 blank | 23 comment | 2 complexity | 4f16f3bdcfff996e03343c547e8a4dc9 MD5 | raw file
Possible License(s): LGPL-3.0
  1. <?php
  2. if (!\defined('CONSTANTS')) {
  3. /**
  4. * ezsqlModel Constants
  5. */
  6. \defined('EZSQL_VERSION') or \define('EZSQL_VERSION', '5.1.2');
  7. \defined('OBJECT') or \define('OBJECT', 'OBJECT');
  8. \defined('ARRAY_A') or \define('ARRAY_A', 'ARRAY_A');
  9. \defined('ARRAY_N') or \define('ARRAY_N', 'ARRAY_N');
  10. // Use to set get_result output as json
  11. \define('JSON', 'json');
  12. // Error messages
  13. \define('MISSING_CONFIGURATION', '<b>Fatal Error:</b> Missing configuration details to connect to database');
  14. \define('CONFIGURATION_REQUIRES', '<b>Fatal Error:</b> This configuration requires ezsqlModel (ezsqlModel.php) to be included/loaded before it can be used');
  15. \define('FAILED_CONNECTION', 'Failed to make connection to database');
  16. // ezQuery prepare placeholder/positional tag
  17. \define('_TAG', '__ez__');
  18. /**
  19. * Operator boolean expressions.
  20. */
  21. \define('EQ', '=');
  22. \define('NEQ', '<>');
  23. \define('NE', '!=');
  24. \define('LT', '<');
  25. \define('LTE', '<=');
  26. \define('GT', '>');
  27. \define('GTE', '>=');
  28. \define('_BOOLEAN', ['<', '>', '=', '!=', '>=', '<=', '<>']);
  29. \define('_IN', 'IN');
  30. \define('_notIN', 'NOT IN');
  31. \define('_LIKE', 'LIKE');
  32. \define('_notLIKE', 'NOT LIKE');
  33. \define('_BETWEEN', 'BETWEEN');
  34. \define('_notBETWEEN', 'NOT BETWEEN');
  35. \define('_isNULL', 'IS NULL');
  36. \define('_notNULL', 'IS NOT NULL');
  37. \define('_BOOLEAN_OPERATORS', [
  38. '<', '>', '=', '!=', '>=', '<=', '<>',
  39. 'IN', 'LIKE', 'NOT LIKE', 'BETWEEN', 'NOT BETWEEN', 'IS', 'IS NOT'
  40. ]);
  41. /**
  42. * Combine operators.
  43. */
  44. \define('_AND', 'AND');
  45. \define('_OR', 'OR');
  46. \define('_NOT', 'NOT');
  47. \define('_andNOT', 'AND NOT');
  48. \define('_COMBINERS', ['AND', 'OR', 'NOT', 'AND NOT']);
  49. /*
  50. * for joining shortcut methods.
  51. */
  52. \define('_INNER', 'INNER');
  53. \define('_LEFT', 'LEFT');
  54. \define('_RIGHT', 'RIGHT');
  55. \define('_FULL', 'FULL');
  56. \define('_JOINERS', ['INNER', 'LEFT', 'RIGHT', 'FULL']);
  57. /**
  58. * Associative array of supported SQL Drivers, and library
  59. * @define(array)
  60. */
  61. \define('VENDOR', [
  62. 'mysql' => 'ezsql\Database\ez_mysqli',
  63. 'mysqli' => 'ezsql\Database\ez_mysqli',
  64. 'pdo' => 'ezsql\Database\ez_pdo',
  65. 'postgresql' => 'ezsql\Database\ez_pgsql',
  66. 'pgsql' => 'ezsql\Database\ez_pgsql',
  67. 'sqlite' => 'ezsql\Database\ez_sqlite3',
  68. 'sqlite3' => 'ezsql\Database\ez_sqlite3',
  69. 'sqlserver' => 'ezsql\Database\ez_sqlsrv',
  70. 'mssql' => 'ezsql\Database\ez_sqlsrv',
  71. 'sqlsrv' => 'ezsql\Database\ez_sqlsrv'
  72. ]);
  73. \define('MYSQL', 'mysqli');
  74. \define('MYSQLI', 'mysqli');
  75. \define('Pdo', 'pdo');
  76. \define('PGSQL', 'pgsql');
  77. \define('POSTGRESQL', 'pgsql');
  78. \define('SQLITE', 'sqlite3');
  79. \define('SQLITE3', 'sqlite3');
  80. \define('SQLSRV', 'sqlsrv');
  81. \define('SQLSERVER', 'sqlsrv');
  82. \define('MSSQL', 'sqlsrv');
  83. // String SQL data types
  84. \define('CHAR', 'CHAR');
  85. \define('VARCHAR', 'VARCHAR');
  86. \define('CHARACTER', 'CHARACTER');
  87. \define('TEXT', 'TEXT');
  88. \define('TINY', 'TINYTEXT');
  89. \define('TINYTEXT', 'TINYTEXT');
  90. \define('MEDIUM', 'MEDIUMTEXT');
  91. \define('MEDIUMTEXT', 'MEDIUMTEXT');
  92. \define('LONGTEXT', 'LONGTEXT');
  93. \define('BINARY', 'BINARY');
  94. \define('VARBINARY', 'VARBINARY');
  95. \define('NCHAR', 'NCHAR');
  96. \define('NVAR', 'NVARCHAR');
  97. \define('NVARCHAR', 'NVARCHAR');
  98. \define('NTEXT', 'NTEXT');
  99. \define('IMAGE', 'IMAGE');
  100. \define('CLOB', 'CLOB');
  101. // Numeric SQL data types
  102. \define('INTR', 'INT');
  103. \define('INT0', 'INT');
  104. \define('INT2', 'INT2');
  105. \define('INT4', 'INT4');
  106. \define('INT8', 'INT8');
  107. \define('NUMERIC', 'NUMERIC');
  108. \define('DECIMAL', 'DECIMAL');
  109. \define('BIT', 'BIT');
  110. \define('VARBIT', 'VARBIT');
  111. \define('INTEGERS', 'INTEGER');
  112. \define('TINYINT', 'TINYINT');
  113. \define('SMALLINT', 'SMALLINT');
  114. \define('MEDIUMINT', 'MEDIUMINT');
  115. \define('BIGINT', 'BIGINT');
  116. \define('DEC', 'DEC');
  117. \define('FIXED', 'FIXED');
  118. \define('FLOATS', 'FLOAT');
  119. \define('DOUBLES', 'DOUBLE');
  120. \define('REALS', 'REAL');
  121. \define('BOOLS', 'BOOL');
  122. \define('BOOLEANS', 'BOOLEAN');
  123. \define('SMALLMONEY', 'SMALLMONEY');
  124. \define('MONEY', 'MONEY');
  125. // Date/Time SQL data types
  126. \define('DATES', 'DATE');
  127. \define('TIMESTAMP', 'TIMESTAMP');
  128. \define('TIMES', 'TIME');
  129. \define('DATETIME', 'DATETIME');
  130. \define('YEAR', 'YEAR');
  131. \define('DATETIME2', 'DATETIME2');
  132. \define('SMALLDATETIME', 'SMALLDATETIME');
  133. \define('DATETIMEOFFSET', 'DATETIMEOFFSET');
  134. // Large Object SQL data types
  135. \define('TINYBLOB', 'TINYBLOB');
  136. \define('BLOB', 'BLOB');
  137. \define('MEDIUMBLOB', 'MEDIUMBLOB');
  138. \define('NULLS', 'NULL');
  139. \define('notNULL', 'NOT NULL');
  140. \define('CONSTRAINT', 'CONSTRAINT');
  141. \define('PRIMARY', 'PRIMARY KEY');
  142. \define('FOREIGN', 'FOREIGN KEY');
  143. \define('UNIQUE', 'UNIQUE');
  144. \define('INDEX', 'INDEX');
  145. \define('REFERENCES', 'REFERENCES');
  146. \define('AUTO', '__autoNumbers__');
  147. \define('SEQUENCE', '__autoNumbers__');
  148. \define('AUTO_INCREMENT', 'AUTO_INCREMENT');
  149. \define('AUTOINCREMENT', 'AUTOINCREMENT');
  150. \define('IDENTITY', 'IDENTITY');
  151. \define('SERIAL', 'SERIAL');
  152. \define('SMALLSERIAL', 'SMALLSERIAL');
  153. \define('BIGSERIAL', 'BIGSERIAL');
  154. \define('ADD', 'ADD');
  155. \define('DROP', 'DROP COLUMN');
  156. \define('CHANGE', 'CHANGE COLUMN');
  157. \define('ALTER', 'ALTER COLUMN');
  158. \define('MODIFY', 'MODIFY COLUMN');
  159. \define('RENAME', 'RENAME TO');
  160. \define('CHANGER', '__modifyingColumns__');
  161. if (!\defined('_DS'))
  162. \define('_DS', \DIRECTORY_SEPARATOR);
  163. \define('CONSTANTS', true);
  164. }