[SPARK-31502][SQL][DOCS] Document identifier in SQL Reference
### What changes were proposed in this pull request? Document identifier in SQL Reference ### Why are the changes needed? make SQL Reference complete ### Does this PR introduce any user-facing change? Yes <img width="1049" alt="Screen Shot 2020-04-23 at 11 14 10 PM" src="https://user-images.githubusercontent.com/13592258/80180695-2f2a4f00-85b8-11ea-819b-f96872956d05.png"> <img width="1050" alt="Screen Shot 2020-04-23 at 11 32 32 PM" src="https://user-images.githubusercontent.com/13592258/80182062-e6c06080-85ba-11ea-9502-1c38358c97c9.png"> ### How was this patch tested? Manually build and check Closes #28277 from huaxingao/identifier. Authored-by: Huaxin Gao <huaxing@us.ibm.com> Signed-off-by: Wenchen Fan <wenchen@databricks.com>
This commit is contained in:
parent
263f04db86
commit
b14b980ab8
|
@ -78,6 +78,8 @@
|
|||
subitems:
|
||||
- text: Data Types
|
||||
url: sql-ref-datatypes.html
|
||||
- text: Identifiers
|
||||
url: sql-ref-identifier.html
|
||||
- text: Literals
|
||||
url: sql-ref-literals.html
|
||||
- text: Null Semantics
|
||||
|
|
80
docs/sql-ref-identifier.md
Normal file
80
docs/sql-ref-identifier.md
Normal file
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
layout: global
|
||||
title: Identifiers
|
||||
displayTitle: Identifiers
|
||||
license: |
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
---
|
||||
|
||||
### Description
|
||||
|
||||
An identifier is a string used to identify a database object such as a table, view, schema, column, etc. Spark SQL has regular identifiers and delimited identifiers, which are enclosed within backticks. Both regular identifiers and delimited identifiers are case-insensitive.
|
||||
|
||||
### Syntax
|
||||
|
||||
#### Regular Identifier
|
||||
|
||||
{% highlight sql %}
|
||||
{ letter | digit | '_' } [ , ... ]
|
||||
{% endhighlight %}
|
||||
Note: If `spark.sql.ansi.enabled` is set to true, ANSI SQL reserved keywords cannot be used as identifiers. For more details, please refer to [ANSI Compliance](sql-ref-ansi-compliance.html).
|
||||
|
||||
#### Delimited Identifier
|
||||
|
||||
{% highlight sql %}
|
||||
`c [ ... ]`
|
||||
{% endhighlight %}
|
||||
|
||||
### Parameters
|
||||
|
||||
<dl>
|
||||
<dt><code><em>letter</em></code></dt>
|
||||
<dd>
|
||||
Any letter from A-Z or a-z.
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><code><em>digit</em></code></dt>
|
||||
<dd>
|
||||
Any numeral from 0 to 9.
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><code><em>c</em></code></dt>
|
||||
<dd>
|
||||
Any character from the character set. Use <code>`</code> to escape special characters (e.g., <code>`</code>).
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
### Examples
|
||||
|
||||
{% highlight sql %}
|
||||
-- This CREATE TABLE fails with ParseException because of the illegal identifier name a.b
|
||||
CREATE TABLE test (a.b int);
|
||||
org.apache.spark.sql.catalyst.parser.ParseException:
|
||||
no viable alternative at input 'CREATE TABLE test (a.'(line 1, pos 20)
|
||||
|
||||
-- This CREATE TABLE works
|
||||
CREATE TABLE test (`a.b` int);
|
||||
|
||||
-- This CREATE TABLE fails with ParseException because special character ` is not escaped
|
||||
CREATE TABLE test1 (`a`b` int);
|
||||
org.apache.spark.sql.catalyst.parser.ParseException:
|
||||
no viable alternative at input 'CREATE TABLE test (`a`b`'(line 1, pos 23)
|
||||
|
||||
-- This CREATE TABLE works
|
||||
CREATE TABLE test (`a``b` int);
|
||||
{% endhighlight %}
|
Loading…
Reference in a new issue