Example_reservedVsNonReserved demonstrates distinction between reserved and non-reserved keywords.
()
| 131 | |
| 132 | // Example_reservedVsNonReserved demonstrates distinction between reserved and non-reserved keywords. |
| 133 | func Example_reservedVsNonReserved() { |
| 134 | kw := keywords.New(keywords.DialectGeneric, true) |
| 135 | |
| 136 | // Reserved keywords (cannot be used as identifiers) |
| 137 | reserved := []string{"SELECT", "FROM", "WHERE", "JOIN"} |
| 138 | fmt.Println("Reserved keywords:") |
| 139 | for _, word := range reserved { |
| 140 | if kw.IsReserved(word) { |
| 141 | fmt.Printf(" - %s\n", word) |
| 142 | } |
| 143 | } |
| 144 | |
| 145 | // Non-reserved keywords (window functions - can be used as identifiers in some contexts) |
| 146 | nonReserved := []string{"ROW_NUMBER", "RANK", "DENSE_RANK"} |
| 147 | fmt.Println("Non-reserved keywords:") |
| 148 | for _, word := range nonReserved { |
| 149 | if kw.IsKeyword(word) && !kw.IsReserved(word) { |
| 150 | fmt.Printf(" - %s\n", word) |
| 151 | } |
| 152 | } |
| 153 | |
| 154 | // Output: |
| 155 | // Reserved keywords: |
| 156 | // - SELECT |
| 157 | // - FROM |
| 158 | // - WHERE |
| 159 | // - JOIN |
| 160 | // Non-reserved keywords: |
| 161 | // - ROW_NUMBER |
| 162 | // - RANK |
| 163 | // - DENSE_RANK |
| 164 | } |
| 165 | |
| 166 | // Example_dialectComparison demonstrates differences between SQL dialects. |
| 167 | func Example_dialectComparison() { |
nothing calls this directly
no test coverage detected