1: <?php
2:
3: namespace Yajra\Oci8;
4:
5: use Illuminate\Support\Str;
6:
7: trait OracleReservedWords
8: {
9: 10: 11: 12: 13: 14:
15: protected $reserves = [
16: 'ACCESS',
17: 'ACCOUNT',
18: 'ACTIVATE',
19: 'ADD',
20: 'ADMIN',
21: 'ADVISE',
22: 'AFTER',
23: 'ALL',
24: 'ALL_ROWS',
25: 'ALLOCATE',
26: 'ALTER',
27: 'ANALYZE',
28: 'AND',
29: 'ANY',
30: 'ARCHIVE',
31: 'ARCHIVELOG',
32: 'ARRAY',
33: 'AS',
34: 'ASC',
35: 'AT',
36: 'AUDIT',
37: 'AUTHENTICATED',
38: 'AUTHORIZATION',
39: 'AUTOEXTEND',
40: 'AUTOMATIC',
41: 'BACKUP',
42: 'BECOME',
43: 'BEFORE',
44: 'BEGIN',
45: 'BETWEEN',
46: 'BFILE',
47: 'BITMAP',
48: 'BLOB',
49: 'BLOCK',
50: 'BODY',
51: 'BY',
52: 'CACHE',
53: 'CACHE_INSTANCES',
54: 'CANCEL',
55: 'CASCADE',
56: 'CAST',
57: 'CFILE',
58: 'CHAINED',
59: 'CHANGE',
60: 'CHAR',
61: 'CHAR_CS',
62: 'CHARACTER',
63: 'CHECK',
64: 'CHECKPOINT',
65: 'CHOOSE',
66: 'CHUNK',
67: 'CLEAR',
68: 'CLOB',
69: 'CLONE',
70: 'CLOSE',
71: 'CLOSE_CACHED_OPEN_CURSORS',
72: 'CLUSTER',
73: 'COALESCE',
74: 'COLUMN',
75: 'COLUMNS',
76: 'COMMENT',
77: 'COMMIT',
78: 'COMMITTED',
79: 'COMPATIBILITY',
80: 'COMPILE',
81: 'COMPLETE',
82: 'COMPOSITE_LIMIT',
83: 'COMPRESS',
84: 'COMPUTE',
85: 'CONNECT',
86: 'CONNECT_TIME',
87: 'CONSTRAINT',
88: 'CONSTRAINTS',
89: 'CONTENTS',
90: 'CONTINUE',
91: 'CONTROLFILE',
92: 'CONVERT',
93: 'COST',
94: 'CPU_PER_CALL',
95: 'CPU_PER_SESSION',
96: 'CREATE',
97: 'CURRENT',
98: 'CURRENT_SCHEMA',
99: 'CURREN_USER',
100: 'CURSOR',
101: 'CYCLE',
102: 'DANGLING',
103: 'DATABASE',
104: 'DATAFILE',
105: 'DATAFILES',
106: 'DATAOBJNO',
107: 'DATE',
108: 'DBA',
109: 'DBHIGH',
110: 'DBLOW',
111: 'DBMAC',
112: 'DEALLOCATE',
113: 'DEBUG',
114: 'DEC',
115: 'DECIMAL',
116: 'DECLARE',
117: 'DEFAULT',
118: 'DEFERRABLE',
119: 'DEFERRED',
120: 'DEGREE',
121: 'DELETE',
122: 'DEREF',
123: 'DESC',
124: 'DIRECTORY',
125: 'DISABLE',
126: 'DISCONNECT',
127: 'DISMOUNT',
128: 'DISTINCT',
129: 'DISTRIBUTED',
130: 'DML',
131: 'DOUBLE',
132: 'DROP',
133: 'DUMP',
134: 'EACH',
135: 'ELSE',
136: 'ENABLE',
137: 'END',
138: 'ENFORCE',
139: 'ENTRY',
140: 'ESCAPE',
141: 'EXCEPT',
142: 'EXCEPTIONS',
143: 'EXCHANGE',
144: 'EXCLUDING',
145: 'EXCLUSIVE',
146: 'EXECUTE',
147: 'EXISTS',
148: 'EXPIRE',
149: 'EXPLAIN',
150: 'EXTENT',
151: 'EXTENTS',
152: 'EXTERNALLY',
153: 'FAILED_LOGIN_ATTEMPTS',
154: 'FALSE',
155: 'FAST',
156: 'FILE',
157: 'FIRST_ROWS',
158: 'FLAGGER',
159: 'FLOAT',
160: 'FLOB',
161: 'FLUSH',
162: 'FOR',
163: 'FORCE',
164: 'FOREIGN',
165: 'FREELIST',
166: 'FREELISTS',
167: 'FROM',
168: 'FULL',
169: 'FUNCTION',
170: 'GLOBAL',
171: 'GLOBALLY',
172: 'GLOBAL_NAME',
173: 'GRANT',
174: 'GROUP',
175: 'GROUPS',
176: 'HASH',
177: 'HASHKEYS',
178: 'HAVING',
179: 'HEADER',
180: 'HEAP',
181: 'IDENTIFIED',
182: 'IDGENERATORS',
183: 'IDLE_TIME',
184: 'IF',
185: 'IMMEDIATE',
186: 'IN',
187: 'INCLUDING',
188: 'INCREMENT',
189: 'INDEX',
190: 'INDEXED',
191: 'INDEXES',
192: 'INDICATOR',
193: 'IND_PARTITION',
194: 'INITIAL',
195: 'INITIALLY',
196: 'INITRANS',
197: 'INSERT',
198: 'INSTANCE',
199: 'INSTANCES',
200: 'INSTEAD',
201: 'INT',
202: 'INTEGER',
203: 'INTERMEDIATE',
204: 'INTERSECT',
205: 'INTO',
206: 'IS',
207: 'ISOLATION',
208: 'ISOLATION_LEVEL',
209: 'KEEP',
210: 'KEY',
211: 'KILL',
212: 'LABEL',
213: 'LAYER',
214: 'LESS',
215: 'LEVEL',
216: 'LIBRARY',
217: 'LIKE',
218: 'LIMIT',
219: 'LINK',
220: 'LIST',
221: 'LOB',
222: 'LOCAL',
223: 'LOCK',
224: 'LOCKED',
225: 'LOG',
226: 'LOGFILE',
227: 'LOGGING',
228: 'LOGICAL_READS_PER_CALL',
229: 'LOGICAL_READS_PER_SESSION',
230: 'LONG',
231: 'MANAGE',
232: 'MASTER',
233: 'MAX',
234: 'MAXARCHLOGS',
235: 'MAXDATAFILES',
236: 'MAXEXTENTS',
237: 'MAXINSTANCES',
238: 'MAXLOGFILES',
239: 'MAXLOGHISTORY',
240: 'MAXLOGMEMBERS',
241: 'MAXSIZE',
242: 'MAXTRANS',
243: 'MAXVALUE',
244: 'MIN',
245: 'MEMBER',
246: 'MINIMUM',
247: 'MINEXTENTS',
248: 'MINUS',
249: 'MINVALUE',
250: 'MLSLABEL',
251: 'MLS_LABEL_FORMAT',
252: 'MODE',
253: 'MODIFY',
254: 'MOUNT',
255: 'MOVE',
256: 'MTS_DISPATCHERS',
257: 'MULTISET',
258: 'NATIONAL',
259: 'NCHAR',
260: 'NCHAR_CS',
261: 'NCLOB',
262: 'NEEDED',
263: 'NESTED',
264: 'NETWORK',
265: 'NEW',
266: 'NEXT',
267: 'NOARCHIVELOG',
268: 'NOAUDIT',
269: 'NOCACHE',
270: 'NOCOMPRESS',
271: 'NOCYCLE',
272: 'NOFORCE',
273: 'NOLOGGING',
274: 'NOMAXVALUE',
275: 'NOMINVALUE',
276: 'NONE',
277: 'NOORDER',
278: 'NOOVERRIDE',
279: 'NOPARALLEL',
280: 'NOPARALLEL',
281: 'NOREVERSE',
282: 'NORMAL',
283: 'NOSORT',
284: 'NOT',
285: 'NOTHING',
286: 'NOWAIT',
287: 'NULL',
288: 'NUMBER',
289: 'NUMERIC',
290: 'NVARCHAR2',
291: 'OBJECT',
292: 'OBJNO',
293: 'OBJNO_REUSE',
294: 'OF',
295: 'OFF',
296: 'OFFLINE',
297: 'OID',
298: 'OIDINDEX',
299: 'OLD',
300: 'ON',
301: 'ONLINE',
302: 'ONLY',
303: 'OPCODE',
304: 'OPEN',
305: 'OPTIMAL',
306: 'OPTIMIZER_GOAL',
307: 'OPTION',
308: 'OR',
309: 'ORDER',
310: 'ORGANIZATION',
311: 'OSLABEL',
312: 'OVERFLOW',
313: 'OWN',
314: 'PACKAGE',
315: 'PARALLEL',
316: 'PARTITION',
317: 'PASSWORD',
318: 'PASSWORD_GRACE_TIME',
319: 'PASSWORD_LIFE_TIME',
320: 'PASSWORD_LOCK_TIME',
321: 'PASSWORD_REUSE_MAX',
322: 'PASSWORD_REUSE_TIME',
323: 'PASSWORD_VERIFY_FUNCTION',
324: 'PCTFREE',
325: 'PCTINCREASE',
326: 'PCTTHRESHOLD',
327: 'PCTUSED',
328: 'PCTVERSION',
329: 'PERCENT',
330: 'PERMANENT',
331: 'PLAN',
332: 'PLSQL_DEBUG',
333: 'POST_TRANSACTION',
334: 'PRECISION',
335: 'PRESERVE',
336: 'PRIMARY',
337: 'PRIOR',
338: 'PRIVATE',
339: 'PRIVATE_SGA',
340: 'PRIVILEGE',
341: 'PRIVILEGES',
342: 'PROCEDURE',
343: 'PROFILE',
344: 'PUBLIC',
345: 'PURGE',
346: 'QUEUE',
347: 'QUOTA',
348: 'RANGE',
349: 'RAW',
350: 'RBA',
351: 'READ',
352: 'READUP',
353: 'REAL',
354: 'REBUILD',
355: 'RECOVER',
356: 'RECOVERABLE',
357: 'RECOVERY',
358: 'REF',
359: 'REFERENCES',
360: 'REFERENCING',
361: 'REFRESH',
362: 'RENAME',
363: 'REPLACE',
364: 'RESET',
365: 'RESETLOGS',
366: 'RESIZE',
367: 'RESOURCE',
368: 'RESTRICTED',
369: 'RETURN',
370: 'RETURNING',
371: 'REUSE',
372: 'REVERSE',
373: 'REVOKE',
374: 'ROLE',
375:
376: 'ROLLBACK',
377: 'ROW',
378: 'ROWID',
379: 'ROWNUM',
380: 'ROWS',
381: 'RULE',
382: 'SAMPLE',
383: 'SAVEPOINT',
384: 'SB4',
385: 'SCAN_INSTANCES',
386: 'SCHEMA',
387: 'SCN',
388: 'SCOPE',
389: 'SD_ALL',
390: 'SD_INHIBIT',
391: 'SD_SHOW',
392: 'SEGMENT',
393: 'SEG_BLOCK',
394: 'SEG_FILE',
395: 'SELECT',
396: 'SEQUENCE',
397: 'SERIALIZABLE',
398: 'SESSION',
399: 'SESSION_CACHED_CURSORS',
400: 'SESSIONS_PER_USER',
401: 'SET',
402: 'SHARE',
403: 'SHARED',
404: 'SHARED_POOL',
405: 'SHRINK',
406: 'SIZE',
407: 'SKIP',
408: 'SKIP_UNUSABLE_INDEXES',
409: 'SMALLINT',
410: 'SNAPSHOT',
411: 'SOME',
412: 'SORT',
413: 'SPECIFICATION',
414: 'SPLIT',
415: 'SQL_TRACE',
416: 'STANDBY',
417: 'START',
418: 'STATEMENT_ID',
419: 'STATISTICS',
420: 'STOP',
421: 'STORAGE',
422: 'STORE',
423: 'STRUCTURE',
424: 'SUCCESSFUL',
425: 'SWITCH',
426: 'SYS_OP_ENFORCE_NOT_NULL$',
427: 'SYS_OP_NTCIMG$',
428: 'SYNONYM',
429: 'SYSDATE',
430: 'SYSDBA',
431: 'SYSOPER',
432:
433: 'TABLE',
434: 'TABLES',
435: 'TABLESPACE',
436: 'TABLESPACE_NO',
437: 'TABNO',
438: 'TEMPORARY',
439: 'THAN',
440: 'THE',
441: 'THEN',
442: 'THREAD',
443: 'TIMESTAMP',
444: 'TIME',
445: 'TO',
446: 'TOPLEVEL',
447: 'TRACE',
448: 'TRACING',
449: 'TRANSACTION',
450: 'TRANSITIONAL',
451: 'TRIGGER',
452: 'TRIGGERS',
453: 'TRUE',
454: 'TRUNCATE',
455: 'TX',
456:
457: 'UB2',
458: 'UBA',
459: 'UID',
460: 'UNARCHIVED',
461: 'UNDO',
462: 'UNION',
463: 'UNIQUE',
464: 'UNLIMITED',
465: 'UNLOCK',
466: 'UNRECOVERABLE',
467: 'UNTIL',
468: 'UNUSABLE',
469: 'UNUSED',
470: 'UPDATABLE',
471: 'UPDATE',
472: 'USAGE',
473: 'USE',
474: 'USER',
475: 'USING',
476: 'VALIDATE',
477: 'VALIDATION',
478: 'VALUE',
479: 'VALUES',
480: 'VARCHAR',
481: 'VARCHAR2',
482: 'VARYING',
483: 'VIEW',
484: 'WHEN',
485: 'WHENEVER',
486: 'WHERE',
487: 'WITH',
488: 'WITHOUT',
489: 'WORK',
490: 'WRITE',
491: 'WRITEDOWN',
492: 'WRITEUP',
493: 'XID',
494: 'YEAR',
495: 'ZONE',
496: ];
497:
498: 499: 500: 501: 502: 503:
504: public function isReserved($value)
505: {
506: return in_array(Str::upper(trim($value)), $this->reserves, true);
507: }
508: }
509: