mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-16 12:51:13 +08:00
Escape column names if they are reserved keywords
This commit is contained in:
parent
fc1f6324f3
commit
dd5970a193
@ -48,6 +48,16 @@ def get_include_guard_name(namespace, inputfile):
|
|||||||
val = re.sub("[^A-Za-z]+", "_", namespace + '_' + os.path.basename(inputfile))
|
val = re.sub("[^A-Za-z]+", "_", namespace + '_' + os.path.basename(inputfile))
|
||||||
return val.upper()
|
return val.upper()
|
||||||
|
|
||||||
|
def escape_if_reserved(name):
|
||||||
|
reserved_names = [
|
||||||
|
'GROUP',
|
||||||
|
'ORDER'
|
||||||
|
]
|
||||||
|
|
||||||
|
if name.upper() in reserved_names:
|
||||||
|
return '\\"{}\\"'.format(name)
|
||||||
|
|
||||||
|
return name
|
||||||
|
|
||||||
def repl_func(m):
|
def repl_func(m):
|
||||||
if m.group(1) == '_':
|
if m.group(1) == '_':
|
||||||
@ -288,7 +298,7 @@ for create in tableCreations:
|
|||||||
print(' {', file=header)
|
print(' {', file=header)
|
||||||
print(' struct _alias_t', file=header)
|
print(' struct _alias_t', file=header)
|
||||||
print(' {', file=header)
|
print(' {', file=header)
|
||||||
print(' static constexpr const char _literal[] = "' + sqlColumnName + '";', file=header)
|
print(' static constexpr const char _literal[] = "' + escape_if_reserved(sqlColumnName) + '";', file=header)
|
||||||
print(' using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;', file=header)
|
print(' using _name_t = sqlpp::make_char_sequence<sizeof(_literal), _literal>;', file=header)
|
||||||
print(' template<typename T>', file=header)
|
print(' template<typename T>', file=header)
|
||||||
print(' struct _member_t', file=header)
|
print(' struct _member_t', file=header)
|
||||||
|
Loading…
Reference in New Issue
Block a user