velocity-python 0.0.33__tar.gz → 0.0.35__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of velocity-python might be problematic. Click here for more details.

Files changed (60) hide show
  1. {velocity_python-0.0.33 → velocity_python-0.0.35}/PKG-INFO +1 -1
  2. {velocity_python-0.0.33 → velocity_python-0.0.35}/pyproject.toml +1 -1
  3. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/__init__.py +1 -1
  4. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/decorators.py +2 -0
  5. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/engine.py +3 -0
  6. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/transaction.py +13 -0
  7. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/servers/mysql.py +1 -237
  8. velocity_python-0.0.35/src/velocity/db/servers/mysql_reserved.py +237 -0
  9. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/servers/postgres.py +83 -357
  10. velocity_python-0.0.35/src/velocity/db/servers/postgres_reserved.py +254 -0
  11. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/servers/sqlite.py +1 -210
  12. velocity_python-0.0.35/src/velocity/db/servers/sqlite_reserved.py +208 -0
  13. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/servers/sqlserver.py +1 -316
  14. velocity_python-0.0.35/src/velocity/db/servers/sqlserver_reserved.py +314 -0
  15. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity_python.egg-info/PKG-INFO +1 -1
  16. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity_python.egg-info/SOURCES.txt +5 -0
  17. velocity_python-0.0.35/tests/test_foreign_key_handling.py +169 -0
  18. {velocity_python-0.0.33 → velocity_python-0.0.35}/LICENSE +0 -0
  19. {velocity_python-0.0.33 → velocity_python-0.0.35}/README.md +0 -0
  20. {velocity_python-0.0.33 → velocity_python-0.0.35}/setup.cfg +0 -0
  21. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/__init__.py +0 -0
  22. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/handlers/__init__.py +0 -0
  23. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/handlers/context.py +0 -0
  24. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/handlers/lambda_handler.py +0 -0
  25. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/handlers/response.py +0 -0
  26. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/aws/handlers/sqs_handler.py +0 -0
  27. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/__init__.py +0 -0
  28. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/__init__.py +0 -0
  29. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/column.py +0 -0
  30. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/database.py +0 -0
  31. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/exceptions.py +0 -0
  32. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/result.py +0 -0
  33. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/row.py +0 -0
  34. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/sequence.py +0 -0
  35. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/core/table.py +0 -0
  36. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/db/servers/__init__.py +0 -0
  37. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/__init__.py +0 -0
  38. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/conv/__init__.py +0 -0
  39. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/conv/iconv.py +0 -0
  40. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/conv/oconv.py +0 -0
  41. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/db.py +0 -0
  42. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/export.py +0 -0
  43. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/format.py +0 -0
  44. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/mail.py +0 -0
  45. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/merge.py +0 -0
  46. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity/misc/timer.py +0 -0
  47. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity_python.egg-info/dependency_links.txt +0 -0
  48. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity_python.egg-info/requires.txt +0 -0
  49. {velocity_python-0.0.33 → velocity_python-0.0.35}/src/velocity_python.egg-info/top_level.txt +0 -0
  50. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_db.py +0 -0
  51. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_email_processing.py +0 -0
  52. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_format.py +0 -0
  53. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_iconv.py +0 -0
  54. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_merge.py +0 -0
  55. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_oconv.py +0 -0
  56. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_postgres.py +0 -0
  57. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_postgres_advanced.py +0 -0
  58. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_response.py +0 -0
  59. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_spreadsheet_functions.py +0 -0
  60. {velocity_python-0.0.33 → velocity_python-0.0.35}/tests/test_timer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: velocity-python
3
- Version: 0.0.33
3
+ Version: 0.0.35
4
4
  Summary: A rapid application development library for interfacing with data storage
5
5
  Author-email: Paul Perez <pperez@codeclubs.org>
6
6
  Project-URL: Homepage, https://codeclubs.org/projects/velocity
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "velocity-python"
3
- version = "0.0.33"
3
+ version = "0.0.35"
4
4
  authors = [
5
5
  { name="Paul Perez", email="pperez@codeclubs.org" },
6
6
  ]
@@ -1,4 +1,4 @@
1
- __version__ = version = "0.0.33"
1
+ __version__ = version = "0.0.35"
2
2
 
3
3
  from . import aws
4
4
  from . import db
@@ -1,5 +1,6 @@
1
1
  from functools import wraps
2
2
  from velocity.db import exceptions
3
+ import traceback
3
4
 
4
5
 
5
6
  def retry_on_dup_key(function):
@@ -55,6 +56,7 @@ def return_default(
55
56
  if result is None:
56
57
  result = default
57
58
  except f.exceptions as e:
59
+ traceback.print_exc()
58
60
  self.tx.rollback_savepoint(sp, cursor=self.cursor)
59
61
  return f.default
60
62
  self.tx.release_savepoint(sp, cursor=self.cursor)
@@ -169,6 +169,8 @@ class Engine(object):
169
169
  return function(*args, **kwds)
170
170
  except exceptions.DbRetryTransaction as e:
171
171
  if e.args and e.args[0]:
172
+ print(e)
173
+ print("**Retry Transaction. Rollback and start over")
172
174
  _tx.rollback()
173
175
  continue
174
176
  retry_count += 1
@@ -249,6 +251,7 @@ class Engine(object):
249
251
  conf["database"] = database
250
252
  if "dbname" in conf:
251
253
  conf["dbname"] = database
254
+
252
255
  return self
253
256
 
254
257
  def set_config(self, config):
@@ -6,6 +6,7 @@ from velocity.db.core.column import Column
6
6
  from velocity.db.core.database import Database
7
7
  from velocity.db.core.sequence import Sequence
8
8
  from velocity.misc.db import randomword
9
+ import traceback
9
10
 
10
11
 
11
12
  debug = False
@@ -29,6 +30,11 @@ class Transaction(object):
29
30
 
30
31
  def __exit__(self, exc_type, exc_val, exc_tb):
31
32
  if exc_type:
33
+ if debug:
34
+ print("Transaction.__exit__")
35
+ tb_str = "".join(traceback.format_exception(exc_type, exc_val, exc_tb))
36
+ if debug:
37
+ print(tb_str)
32
38
  self.rollback()
33
39
  self.close()
34
40
 
@@ -206,3 +212,10 @@ class Transaction(object):
206
212
  result = self.execute(sql, vals)
207
213
  self.__pg_types = dict(result.as_tuple())
208
214
  return self.__pg_types
215
+
216
+ def switch_to_database(self, name):
217
+ if self.connection:
218
+ self.connection.close()
219
+ self.connection = None
220
+ self.engine.switch_to_database(name)
221
+ return self
@@ -3,6 +3,7 @@ import hashlib
3
3
  import decimal
4
4
  import datetime
5
5
  from velocity.db import exceptions
6
+ from .mysql_reserved import reserved_words
6
7
 
7
8
 
8
9
  def initialize(config):
@@ -634,240 +635,3 @@ class SQL:
634
635
  BOOLEAN = "BIT"
635
636
  BINARY = "BLOB"
636
637
  INTERVAL = "INTERVAL"
637
-
638
-
639
- reserved_words = [
640
- "ACCESSIBLE",
641
- "ADD",
642
- "ALL",
643
- "ALTER",
644
- "ANALYZE",
645
- "AND",
646
- "AS",
647
- "ASC",
648
- "ASENSITIVE",
649
- "BEFORE",
650
- "BETWEEN",
651
- "BIGINT",
652
- "BINARY",
653
- "BLOB",
654
- "BOTH",
655
- "BY",
656
- "CALL",
657
- "CASCADE",
658
- "CASE",
659
- "CHANGE",
660
- "CHAR",
661
- "CHARACTER",
662
- "CHECK",
663
- "COLLATE",
664
- "COLUMN",
665
- "CONDITION",
666
- "CONSTRAINT",
667
- "CONTINUE",
668
- "CONVERT",
669
- "CREATE",
670
- "CROSS",
671
- "CURRENT_DATE",
672
- "CURRENT_TIME",
673
- "CURRENT_TIMESTAMP",
674
- "CURRENT_USER",
675
- "CURSOR",
676
- "DATABASE",
677
- "DATABASES",
678
- "DAY_HOUR",
679
- "DAY_MICROSECOND",
680
- "DAY_MINUTE",
681
- "DAY_SECOND",
682
- "DEC",
683
- "DECIMAL",
684
- "DECLARE",
685
- "DEFAULT",
686
- "DELAYED",
687
- "DELETE",
688
- "DESC",
689
- "DESCRIBE",
690
- "DETERMINISTIC",
691
- "DISTINCT",
692
- "DISTINCTROW",
693
- "DIV",
694
- "DOUBLE",
695
- "DROP",
696
- "DUAL",
697
- "EACH",
698
- "ELSE",
699
- "ELSEIF",
700
- "ENCLOSED",
701
- "ESCAPED",
702
- "EXISTS",
703
- "EXIT",
704
- "EXPLAIN",
705
- "FALSE",
706
- "FETCH",
707
- "FLOAT",
708
- "FLOAT4",
709
- "FLOAT8",
710
- "FOR",
711
- "FORCE",
712
- "FOREIGN",
713
- "FROM",
714
- "FULLTEXT",
715
- "GENERAL",
716
- "GRANT",
717
- "GROUP",
718
- "HAVING",
719
- "HIGH_PRIORITY",
720
- "HOUR_MICROSECOND",
721
- "HOUR_MINUTE",
722
- "HOUR_SECOND",
723
- "IF",
724
- "IGNORE",
725
- "IGNORE_SERVER_IDS",
726
- "IN",
727
- "INDEX",
728
- "INFILE",
729
- "INNER",
730
- "INOUT",
731
- "INSENSITIVE",
732
- "INSERT",
733
- "INT",
734
- "INT1",
735
- "INT2",
736
- "INT3",
737
- "INT4",
738
- "INT8",
739
- "INTEGER",
740
- "INTERVAL",
741
- "INTO",
742
- "IS",
743
- "ITERATE",
744
- "JOIN",
745
- "KEY",
746
- "KEYS",
747
- "KILL",
748
- "LEADING",
749
- "LEAVE",
750
- "LEFT",
751
- "LIKE",
752
- "LIMIT",
753
- "LINEAR",
754
- "LINES",
755
- "LOAD",
756
- "LOCALTIME",
757
- "LOCALTIMESTAMP",
758
- "LOCK",
759
- "LONG",
760
- "LONGBLOB",
761
- "LONGTEXT",
762
- "LOOP",
763
- "LOW_PRIORITY",
764
- "MASTER_HEARTBEAT_PERIOD",
765
- "MASTER_SSL_VERIFY_SERVER_CERT",
766
- "MATCH",
767
- "MAXVALUE",
768
- "MEDIUMBLOB",
769
- "MEDIUMINT",
770
- "MEDIUMTEXT",
771
- "MIDDLEINT",
772
- "MINUTE_MICROSECOND",
773
- "MINUTE_SECOND",
774
- "MOD",
775
- "MODIFIES",
776
- "NATURAL",
777
- "NOT",
778
- "NO_WRITE_TO_BINLOG",
779
- "NULL",
780
- "NUMERIC",
781
- "ON",
782
- "OPTIMIZE",
783
- "OPTION",
784
- "OPTIONALLY",
785
- "OR",
786
- "ORDER",
787
- "OUT",
788
- "OUTER",
789
- "OUTFILE",
790
- "PRECISION",
791
- "PRIMARY",
792
- "PROCEDURE",
793
- "PROXY",
794
- "PURGE",
795
- "RANGE",
796
- "READ",
797
- "READS",
798
- "READ_WRITE",
799
- "REAL",
800
- "REFERENCES",
801
- "REGEXP",
802
- "RELAY",
803
- "RELEASE",
804
- "RENAME",
805
- "REPEAT",
806
- "REPLACE",
807
- "REQUIRE",
808
- "RESIGNAL",
809
- "RESTRICT",
810
- "RETURN",
811
- "REVOKE",
812
- "RIGHT",
813
- "RLIKE",
814
- "SCHEMA",
815
- "SCHEMAS",
816
- "SECOND_MICROSECOND",
817
- "SELECT",
818
- "SENSITIVE",
819
- "SEPARATOR",
820
- "SET",
821
- "SHOW",
822
- "SIGNAL",
823
- "SLOW",
824
- "SMALLINT",
825
- "SPATIAL",
826
- "SPECIFIC",
827
- "SQL",
828
- "SQLEXCEPTION",
829
- "SQLSTATE",
830
- "SQLWARNING",
831
- "SQL_BIG_RESULT",
832
- "SQL_CALC_FOUND_ROWS",
833
- "SQL_SMALL_RESULT",
834
- "SSL",
835
- "STARTING",
836
- "STRAIGHT_JOIN",
837
- "TABLE",
838
- "TERMINATED",
839
- "THEN",
840
- "TIMESTAMP",
841
- "TINYBLOB",
842
- "TINYINT",
843
- "TINYTEXT",
844
- "TO",
845
- "TRAILING",
846
- "TRIGGER",
847
- "TRUE",
848
- "UNDO",
849
- "UNION",
850
- "UNIQUE",
851
- "UNLOCK",
852
- "UNSIGNED",
853
- "UPDATE",
854
- "USAGE",
855
- "USE",
856
- "USING",
857
- "UTC_DATE",
858
- "UTC_TIME",
859
- "UTC_TIMESTAMP",
860
- "VALUES",
861
- "VARBINARY",
862
- "VARCHAR",
863
- "VARCHARACTER",
864
- "VARYING",
865
- "WHEN",
866
- "WHERE",
867
- "WHILE",
868
- "WITH",
869
- "WRITE",
870
- "XOR",
871
- "YEAR_MONTH",
872
- "ZEROFILL",
873
- ]
@@ -0,0 +1,237 @@
1
+ reserved_words = [
2
+ "ACCESSIBLE",
3
+ "ADD",
4
+ "ALL",
5
+ "ALTER",
6
+ "ANALYZE",
7
+ "AND",
8
+ "AS",
9
+ "ASC",
10
+ "ASENSITIVE",
11
+ "BEFORE",
12
+ "BETWEEN",
13
+ "BIGINT",
14
+ "BINARY",
15
+ "BLOB",
16
+ "BOTH",
17
+ "BY",
18
+ "CALL",
19
+ "CASCADE",
20
+ "CASE",
21
+ "CHANGE",
22
+ "CHAR",
23
+ "CHARACTER",
24
+ "CHECK",
25
+ "COLLATE",
26
+ "COLUMN",
27
+ "CONDITION",
28
+ "CONSTRAINT",
29
+ "CONTINUE",
30
+ "CONVERT",
31
+ "CREATE",
32
+ "CROSS",
33
+ "CURRENT_DATE",
34
+ "CURRENT_TIME",
35
+ "CURRENT_TIMESTAMP",
36
+ "CURRENT_USER",
37
+ "CURSOR",
38
+ "DATABASE",
39
+ "DATABASES",
40
+ "DAY_HOUR",
41
+ "DAY_MICROSECOND",
42
+ "DAY_MINUTE",
43
+ "DAY_SECOND",
44
+ "DEC",
45
+ "DECIMAL",
46
+ "DECLARE",
47
+ "DEFAULT",
48
+ "DELAYED",
49
+ "DELETE",
50
+ "DESC",
51
+ "DESCRIBE",
52
+ "DETERMINISTIC",
53
+ "DISTINCT",
54
+ "DISTINCTROW",
55
+ "DIV",
56
+ "DOUBLE",
57
+ "DROP",
58
+ "DUAL",
59
+ "EACH",
60
+ "ELSE",
61
+ "ELSEIF",
62
+ "ENCLOSED",
63
+ "ESCAPED",
64
+ "EXCEPT",
65
+ "EXISTS",
66
+ "EXIT",
67
+ "EXPLAIN",
68
+ "FALSE",
69
+ "FETCH",
70
+ "FLOAT",
71
+ "FLOAT4",
72
+ "FLOAT8",
73
+ "FOR",
74
+ "FORCE",
75
+ "FOREIGN",
76
+ "FROM",
77
+ "FULLTEXT",
78
+ "GENERATED",
79
+ "GET",
80
+ "GRANT",
81
+ "GROUP",
82
+ "HAVING",
83
+ "HIGH_PRIORITY",
84
+ "HOUR_MICROSECOND",
85
+ "HOUR_MINUTE",
86
+ "HOUR_SECOND",
87
+ "IF",
88
+ "IGNORE",
89
+ "IN",
90
+ "INDEX",
91
+ "INFILE",
92
+ "INNER",
93
+ "INOUT",
94
+ "INSENSITIVE",
95
+ "INSERT",
96
+ "INT",
97
+ "INT1",
98
+ "INT2",
99
+ "INT3",
100
+ "INT4",
101
+ "INT8",
102
+ "INTEGER",
103
+ "INTERVAL",
104
+ "INTO",
105
+ "IS",
106
+ "ITERATE",
107
+ "JOIN",
108
+ "JSON",
109
+ "KEY",
110
+ "KEYS",
111
+ "KILL",
112
+ "LEADING",
113
+ "LEAVE",
114
+ "LEFT",
115
+ "LIKE",
116
+ "LIMIT",
117
+ "LINEAR",
118
+ "LINES",
119
+ "LOAD",
120
+ "LOCALTIME",
121
+ "LOCALTIMESTAMP",
122
+ "LOCK",
123
+ "LONG",
124
+ "LONGBLOB",
125
+ "LONGTEXT",
126
+ "LOOP",
127
+ "LOW_PRIORITY",
128
+ "MASTER_SSL_VERIFY_SERVER_CERT",
129
+ "MATCH",
130
+ "MAXVALUE",
131
+ "MEDIUMBLOB",
132
+ "MEDIUMINT",
133
+ "MEDIUMTEXT",
134
+ "MIDDLEINT",
135
+ "MINUTE_MICROSECOND",
136
+ "MINUTE_SECOND",
137
+ "MOD",
138
+ "MODIFIES",
139
+ "NATURAL",
140
+ "NOT",
141
+ "NO_WRITE_TO_BINLOG",
142
+ "NULL",
143
+ "NUMERIC",
144
+ "ON",
145
+ "OPTIMIZE",
146
+ "OPTION",
147
+ "OPTIONALLY",
148
+ "OR",
149
+ "ORDER",
150
+ "OUT",
151
+ "OUTER",
152
+ "OUTFILE",
153
+ "PARTITION",
154
+ "PRECISION",
155
+ "PRIMARY",
156
+ "PROCEDURE",
157
+ "PURGE",
158
+ "RANGE",
159
+ "READ",
160
+ "READS",
161
+ "READ_WRITE",
162
+ "REAL",
163
+ "REFERENCES",
164
+ "REGEXP",
165
+ "RELEASE",
166
+ "RENAME",
167
+ "REPEAT",
168
+ "REPLACE",
169
+ "REQUIRE",
170
+ "RESIGNAL",
171
+ "RESTRICT",
172
+ "RETURN",
173
+ "REVOKE",
174
+ "RIGHT",
175
+ "RLIKE",
176
+ "ROW",
177
+ "ROWS",
178
+ "SCHEMA",
179
+ "SCHEMAS",
180
+ "SECOND_MICROSECOND",
181
+ "SELECT",
182
+ "SENSITIVE",
183
+ "SEPARATOR",
184
+ "SET",
185
+ "SHOW",
186
+ "SIGNAL",
187
+ "SMALLINT",
188
+ "SPATIAL",
189
+ "SPECIFIC",
190
+ "SQL",
191
+ "SQLEXCEPTION",
192
+ "SQLSTATE",
193
+ "SQLWARNING",
194
+ "SQL_BIG_RESULT",
195
+ "SQL_CALC_FOUND_ROWS",
196
+ "SQL_SMALL_RESULT",
197
+ "SSL",
198
+ "STARTING",
199
+ "STORED",
200
+ "STRAIGHT_JOIN",
201
+ "TABLE",
202
+ "TERMINATED",
203
+ "THEN",
204
+ "TINYBLOB",
205
+ "TINYINT",
206
+ "TINYTEXT",
207
+ "TO",
208
+ "TRAILING",
209
+ "TRIGGER",
210
+ "TRUE",
211
+ "UNDO",
212
+ "UNION",
213
+ "UNIQUE",
214
+ "UNLOCK",
215
+ "UNSIGNED",
216
+ "UPDATE",
217
+ "USAGE",
218
+ "USE",
219
+ "USING",
220
+ "UTC_DATE",
221
+ "UTC_TIME",
222
+ "UTC_TIMESTAMP",
223
+ "VALUES",
224
+ "VARBINARY",
225
+ "VARCHAR",
226
+ "VARCHARACTER",
227
+ "VARYING",
228
+ "VIRTUAL",
229
+ "WHEN",
230
+ "WHERE",
231
+ "WHILE",
232
+ "WITH",
233
+ "WRITE",
234
+ "XOR",
235
+ "YEAR_MONTH",
236
+ "ZEROFILL",
237
+ ]