Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[BUG] SQL-highlighter en spaties in identifiers

Pagina: 1
Acties:

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
Zie de volgende testcase:
-NMe- schreef op donderdag 30 november 2006 @ 14:11:
Dat is geen volledige query en als het er precies zo staat sowieso verkeerd. Als dit er staat moet het gewoon werken:
SQL:
1
SELECT [actief (1)] FROM [tabel]

Als die / slaat op een deling dan gaat het natuurlijk fout op wat anders, overigens.
SQL:
1
SELECT [actief (1)] / [nietactief (0)] FROM [tabel]
[actief (1)] zou in zijn geheel op dezelfde manier gekleurd moeten worden als [tabel], maar doet dat niet omdat ik in mijn regexp waarschijnlijk geen rekening gehouden heb met speciale tekens, of mogelijk omdat hij in de eerste plaats als functie herkend wordt. Misschien wel beiden. :P
SQL:
1
2
SELECT [actief veldje] FROM [tabel]
SELECT [blaat ) veld] FROM [tabel]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

[] is helemaal niet sql-spec ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
De backtick ook niet en toch zit het erin om respectievelijk T-SQL en MySQL netjes te ondersteunen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

SQL:
1
2
3
SELECT `bla (1)`
SELECT [bla (1)]
SELECT 'bla' as "bla (1)" 


Ik zie geen verschil tussen de ` en [ aanpak? Terwijl " eigenlijk niet als ' behandeld mag worden...

[ Voor 46% gewijzigd door ACM op 30-11-2006 15:45 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
Het verschil is waarschijnlijk de volgorde in de Lexer-file. Ik gok zo uit het hoofd dat strings boven functies gedefiniëerd staan, en identifiers eronder.

Verder mogen (mochten) single en double quotes in MySQL toch beiden gebruikt worden? :)

[ Voor 3% gewijzigd door NMe op 30-11-2006 15:50 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

-NMe- schreef op donderdag 30 november 2006 @ 15:49:
Verder mogen (mochten) single en double quotes in MySQL toch beiden gebruikt worden? :)
't Heeft mijn voorkeur om een "sql highlighter" dan ook daadwerkelijk sql te laten highlighten, ipv de aanpassing van iedere losse implementatie. Bovendien kan je vziw maar beter geen " gebruiken bij strings in mysql, de kans is groot dat als ze dat al niet met 5.0 gedropped hebben dat dat nog wel komt. Althans, als ze echt moeite willen doen om de sql-specificatie te gaan volgen.

Maak dan een aparte SQL, MySQL, PostgreSQL, Oracle SQL, etc.... :P

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

We kunnen ze als deprecated renderen, net zoals in de html-highlighter? :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

moto-moi schreef op vrijdag 01 december 2006 @ 23:22:
We kunnen ze als deprecated renderen, net zoals in de html-highlighter? :)
Dan wordt het al meer een validator dan een highlighter en dat is in de eerste plaats niet echt de bedoeling (de HTML-highlighter is wat dat betreft echt een uitzondering).

Intentionally left blank


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Zolang er geen yacc/bison aan te pas komt vind ik het nog niet echt een validator hoor.

Verder zie ik niet waarom de html highlighter dat wel 'mag' doen en de sql highlighter niet? :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
ACM schreef op vrijdag 01 december 2006 @ 23:19:
[...]

't Heeft mijn voorkeur om een "sql highlighter" dan ook daadwerkelijk sql te laten highlighten, ipv de aanpassing van iedere losse implementatie. Bovendien kan je vziw maar beter geen " gebruiken bij strings in mysql, de kans is groot dat als ze dat al niet met 5.0 gedropped hebben dat dat nog wel komt. Althans, als ze echt moeite willen doen om de sql-specificatie te gaan volgen.

Maak dan een aparte SQL, MySQL, PostgreSQL, Oracle SQL, etc.... :P
Als ik het me goed herinner was jij juist degene die voorstelde om de grote gemene deler van alle veelgebruikte SQL-smaken in één file te duwen? :P Sowieso is het allemaal niet zo belangrijk IMO, het gaat er alleen maar om dat het zaakje syntactisch goed gehighlight wordt in de meeste gevallen. Dat MySQL backticks gebruikt en T-SQL blokhaken is een vervelende inconsistentie, maar het kan prima in één lexer-file. :)

edit:
Hmm, jij was het toch niet. :P

[ Voor 5% gewijzigd door NMe op 02-12-2006 18:24 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

moto-moi schreef op zaterdag 02 december 2006 @ 00:48:
Zolang er geen yacc/bison aan te pas komt vind ik het nog niet echt een validator hoor.

Verder zie ik niet waarom de html highlighter dat wel 'mag' doen en de sql highlighter niet? :)
omdat het een takkewerk is om een validator te bouwen itt een highlighter :P

Intentionally left blank

Pagina: 1