Skip to content

Commit 95f3a67

Browse files
Merge pull request #2526 from taozhi8833998/refactor-column-accent
refactor: column name starts with an accent
2 parents 9233e6c + e86748c commit 95f3a67

File tree

11 files changed

+19
-12
lines changed

11 files changed

+19
-12
lines changed

pegjs/db2.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1967,7 +1967,7 @@ column_name
19671967
ident_name
19681968
= start:ident_start parts:ident_part* { return start + parts.join(''); }
19691969

1970-
ident_start = [A-Za-z_\u4e00-\u9fa5]
1970+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
19711971

19721972
ident_part = [A-Za-z0-9_$\u4e00-\u9fa5\u00C0-\u017F]
19731973

pegjs/flinksql.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1745,7 +1745,7 @@ expr_item
17451745
if (a) e.array_index = a
17461746
return e
17471747
}
1748-
1748+
17491749
column_list_item
17501750
= e:binary_column_expr s:KW_DOUBLE_COLON t:data_type {
17511751
// => { type: 'cast'; expr: expr; symbol: '::'; target: data_type; as?: null; }
@@ -2831,7 +2831,7 @@ ident_name
28312831
return start + parts.join('');
28322832
}
28332833

2834-
ident_start = [A-Za-z_\u4e00-\u9fa5]
2834+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
28352835

28362836
ident_part = [A-Za-z0-9_\-$\u4e00-\u9fa5\u00C0-\u017F]
28372837

pegjs/hive.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1924,7 +1924,7 @@ column_name
19241924
ident_name
19251925
= start:ident_start parts:ident_part* { return start + parts.join(''); }
19261926

1927-
ident_start = [A-Za-z_\u4e00-\u9fa5]
1927+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
19281928

19291929
ident_part = [A-Za-z0-9_$\u4e00-\u9fa5\u00C0-\u017F]
19301930

pegjs/mariadb.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3198,7 +3198,7 @@ column_name
31983198
ident_name
31993199
= start:ident_start parts:ident_part* { return start + parts.join(''); }
32003200

3201-
ident_start = [A-Za-z_\u4e00-\u9fa5]
3201+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
32023202

32033203
ident_part = [A-Za-z0-9_$$\u4e00-\u9fa5\u00C0-\u017F]
32043204

pegjs/mysql.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3478,7 +3478,7 @@ column_name
34783478
ident_name
34793479
= start:ident_start parts:ident_part* { return start + parts.join(''); }
34803480

3481-
ident_start = [A-Za-z_\u4e00-\u9fa5]
3481+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
34823482

34833483
ident_part = [A-Za-z0-9_$\u0080-\uffff]
34843484

pegjs/noql.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4097,7 +4097,7 @@ ident_name
40974097
return start + parts.join('');
40984098
}
40994099

4100-
ident_start = [A-Za-z_\u4e00-\u9fa5]
4100+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
41014101

41024102
ident_part = [A-Za-z0-9_\-$\u4e00-\u9fa5\u00C0-\u017F]
41034103

pegjs/postgresql.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4838,7 +4838,7 @@ ident_name
48384838
return start + parts.join('');
48394839
}
48404840

4841-
ident_start = [A-Za-z_\u4e00-\u9fa5]
4841+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
48424842

48434843
ident_part = [A-Za-z0-9_\-$\u4e00-\u9fa5\u00C0-\u017F]
48444844

pegjs/redshift.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4156,7 +4156,7 @@ ident_name
41564156
return start + parts.join('');
41574157
}
41584158

4159-
ident_start = [A-Za-z_\u4e00-\u9fa5]
4159+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
41604160

41614161
ident_part = [A-Za-z0-9_\-$\u4e00-\u9fa5\u00C0-\u017F]
41624162

@@ -4447,7 +4447,7 @@ position_func_clause
44474447
...getLocationObject(),
44484448
};
44494449
}
4450-
4450+
44514451
func_call
44524452
= trim_func_clause / tablefunc_clause / position_func_clause
44534453
/ name:'now'i __ LPAREN __ l:expr_list? __ RPAREN __ 'at'i __ KW_TIME __ 'zone'i __ z:literal_string {

pegjs/trino.pegjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3553,7 +3553,7 @@ ident_name
35533553
return start + parts.join('');
35543554
}
35553555

3556-
ident_start = [A-Za-z_\u4e00-\u9fa5]
3556+
ident_start = [A-Za-z_\u4e00-\u9fa5\u00C0-\u017F]
35573557

35583558
ident_part = [A-Za-z0-9_$\u0080-\uffff]
35593559

test/mysql-mariadb.spec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,6 +1319,13 @@ describe('mysql', () => {
13191319
"SELECT `crème` AS `brûlée` FROM `café` WHERE `théâtre` = 'Molière'"
13201320
]
13211321
},
1322+
{
1323+
title: 'support accentuated identifiers',
1324+
sql: [
1325+
"SELECT crème AS brûlée FROM café WHERE âtre = 'Molière'",
1326+
"SELECT `crème` AS `brûlée` FROM `café` WHERE `âtre` = 'Molière'"
1327+
]
1328+
},
13221329
]
13231330
SQL_LIST.forEach(sqlInfo => {
13241331
const { title, sql } = sqlInfo

0 commit comments

Comments
 (0)