[feat] P&W - Code highlighting voor SQL

Pagina: 1 2 Laatste
Acties:
  • 1.001 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 15:34

Tomatoman

Fulltime prutser

Topicstarter
Op het moment wordt voor heleboel programmeertalen al code highlighting geboden, maar niet voor SQL. Nu is SQL wel ongeveer de simpelste taal om te highlighten, want met ondersteuning van reserved words ben je klaar. ANSI SQL ondersteunt onderstaande operatoren en reserved words en dan heb je het wel gehad. Er zijn nog wel wat regels voor strings en getallen, maar dat is bij SQL niet zo interessant. Zou iemand een keer syntax highlighting willen inbouwen?

OPERATOREN
=
<>
<
>
<=
>=
*
/
+
-

RESERVED WORDS
ADD
ALL
ALTER
AND
ANY
AS
ASC
AUTOINCREMENT
AVA

BETWEEN
BINARY
BIT
BOOLEAN
BY CREATE
BYTE

CHAR
CHARACTER
COLUMN
CONSTRAINT
COUNT
COUNTER
CURRENCY

DATABASE
DATE
DATETIME
DELETE
DESC
DISALLOW
DISTINCT
DISTINCTROW
DOUBLE
DROP

EXISTS

FROM
FLOAT
FLOAT4
FLOAT8
FOREIGN

GENERAL
GROUP
GUID
HAVING

INNER
INSERT
IGNORE
IMP
IN
INDEX
INT
INTEGER
INTEGER1
INTEGER2
INTEGER4
INTO
IS

JOIN

KEY

LEFT
LEVEL
LIKE
LOGICAL
LONG
LONGBINARY
LONGTEXT

MAX
MEMO
MIN
MOD
MONEY

NOT
NULL
NUMBER
NUMERIC

OLEOBJECT
ON PIVOT
OPTION PRIMARY
ORDER
OUTER
OWNERACCESS
PARAMETERS
PERCENT

REAL
REFERENCES
RIGHT

SELECT
SET
SHORT
SINGLE
SMALLINT
SOME
STDEV
STDEVP
STRING
SUM

TABLE
TABLEID
TEXT
TIME
TIMESTAMP
TOP
TRANSFORM

UNION
UNIQUE
UPDATE

VALUE
VALUES
VAR
VARBINARY
VARCHAR
VARP

WHERE
WITH

YESNO

[ Voor 3% gewijzigd door Tomatoman op 18-06-2005 15:27 . Reden: de expressie-operatoren toegevoegd ]

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 15:58

The Eagle

I wear my sunglasses at night

Mja, om heel eerlijk te zijn denk ik dat er niet zoveel mensen zijn die echt specifiek met ANSI SQL aan de slag gaan. Oracle SQL is weer anders, en MS SQL heeft ook weer zo zijn eigen dialect.
Bovendien: waarom zou je het willen op GoT :? Er zijn tools genoeg (denk aan UltraEdit) die dit gewoon native ondersteunen :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 15:34

Tomatoman

Fulltime prutser

Topicstarter
De grap is dat code highlighting (volgens mij) heel simpel is in te bouwen voor SQL. [code=sql] toestaan, lijstje met operatoren en reserved words toepassen aan de reeds bestaande parser en GoT toont voortaan ook code highlighting voor SQL :).

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • Harm
  • Registratie: Mei 2002
  • Niet online
The_Eagle schreef op zaterdag 18 juni 2005 @ 15:25:
waarom zou je het willen op GoT :?
Om dezelfde reden als c, c++, css, perl, python, php, asp, vb, java, js, fortran, cobol, pascal, delphi en html herkend worden? :)

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

tomatoman schreef op zaterdag 18 juni 2005 @ 15:17:
ANSI SQL ondersteunt onderstaande operatoren en reserved words en dan heb je het wel gehad.
Hmm, desalniettemin mis ik er een aantal, welke SQL is dat? '92?
Volgens mij zijn 'bigint', 'character varying', 'timestamp with timezone', 'full outer join' in ieder geval al een paar term-groepen die jouw lijst niet goed zou highlighten.

'03 kent iig deze reserved words:
ABS | ALL | ALLOCATE | ALTER | AND | ANY | ARE | ARRAY | AS | ASENSITIVE
| ASYMMETRIC | AT | ATOMIC | AUTHORIZATION | AVG
| BEGIN | BETWEEN | BIGINT | BINARY | BLOB | BOOLEAN | BOTH | BY
| CALL | CALLED | CARDINALITY | CASCADED | CASE | CAST | CEIL | CEILING
| CHAR | CHAR_LENGTH | CHARACTER | CHARACTER_LENGTH | CHECK | CLOB | CLOSE
| COALESCE | COLLATE | COLLECT | COLUMN | COMMIT | CONDITION | CONNECT
| CONSTRAINT | CONVERT | CORR | CORRESPONDING | COUNT | COVAR_POP | COVAR_SAMP
| CREATE | CROSS | CUBE | CUME_DIST | CURRENT | CURRENT_DATE
| CURRENT_DEFAULT_TRANSFORM_GROUP | CURRENT_PATH | CURRENT_ROLE | CURRENT_TIME
| CURRENT_TIMESTAMP | CURRENT_TRANSFORM_GROUP_FOR_TYPE | CURRENT_USER
| CURSOR | CYCLE
| DATE | DAY | DEALLOCATE | DEC | DECIMAL | DECLARE | DEFAULT | DELETE
| DENSE_RANK | DEREF | DESCRIBE | DETERMINISTIC | DISCONNECT | DISTINCT
| DOUBLE | DROP | DYNAMIC
| EACH | ELEMENT | ELSE | END | END-EXEC | ESCAPE | EVERY | EXCEPT | EXEC
| EXECUTE | EXISTS | EXP | EXTERNAL | EXTRACT
| FALSE | FETCH | FILTER | FLOAT | FLOOR | FOR | FOREIGN | FREE | FROM
| FULL | FUNCTION | FUSION
| GET | GLOBAL | GRANT | GROUP | GROUPING
| HAVING | HOLD | HOUR
| IDENTITY | IN | INDICATOR | INNER | INOUT | INSENSITIVE | INSERT
| INT | INTEGER | INTERSECT | INTERSECTION | INTERVAL | INTO | IS
| JOIN
| LANGUAGE | LARGE | LATERAL | LEADING | LEFT | LIKE | LN | LOCAL
| LOCALTIME | LOCALTIMESTAMP | LOWER
| MATCH | MAX | MEMBER | MERGE | METHOD | MIN | MINUTE
| MOD | MODIFIES | MODULE | MONTH | MULTISET
| NATIONAL | NATURAL | NCHAR | NCLOB | NEW | NO | NONE | NORMALIZE | NOT
| NULL | NULLIF | NUMERIC
| OCTET_LENGTH | OF | OLD | ON | ONLY | OPEN | OR | ORDER | OUT | OUTER
| OVER | OVERLAPS | OVERLAY
| PARAMETER | PARTITION | PERCENT_RANK | PERCENTILE_CONT | PERCENTILE_DISC
| POSITION | POWER | PRECISION | PREPARE | PRIMARY | PROCEDURE
| RANGE | RANK | READS | REAL | RECURSIVE | REF | REFERENCES | REFERENCING
| REGR_AVGX | REGR_AVGY | REGR_COUNT | REGR_INTERCEPT | REGR_R2 | REGR_SLOPE
| REGR_SXX | REGR_SXY | REGR_SYY | RELEASE | RESULT | RETURN | RETURNS
| REVOKE | RIGHT | ROLLBACK | ROLLUP | ROW | ROW_NUMBER | ROWS
| SAVEPOINT | SCOPE | SCROLL | SEARCH | SECOND | SELECT | SENSITIVE
| SESSION_USER | SET | SIMILAR | SMALLINT | SOME | SPECIFIC | SPECIFICTYPE
| SQL | SQLEXCEPTION | SQLSTATE | SQLWARNING | SQRT | START | STATIC
| STDDEV_POP | STDDEV_SAMP | SUBMULTISET | SUBSTRING | SUM | SYMMETRIC
| SYSTEM | SYSTEM_USER
| TABLE | TABLESAMPLE | THEN | TIME | TIMESTAMP | TIMEZONE_HOUR | TIMEZONE_MINUTE
| TO | TRAILING | TRANSLATE | TRANSLATION | TREAT | TRIGGER | TRIM | TRUE
| UESCAPE | UNION | UNIQUE | UNKNOWN | UNNEST | UPDATE | UPPER | USER | USING
| VALUE | VALUES | VAR_POP | VAR_SAMP | VARCHAR | VARYING
| WHEN | WHENEVER | WHERE | WIDTH_BUCKET | WINDOW | WITH | WITHIN | WITHOUT
| YEAR

[ Voor 78% gewijzigd door ACM op 18-06-2005 16:05 ]


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Ik heb het ooit op de agenda gehad toen ik nog mod P&W was, maar de parsemap schrijven voor zo'n ding is nog best een klotewerk :P Wellicht dat een van de enthousiaste nieuwe mods er zin in heeft O-)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En ook nog wat un-reserved key words:

A | ABSOLUTE | ACTION | ADA | ADD | ADMIN | AFTER | ALWAYS | ASC
| ASSERTION | ASSIGNMENT | ATTRIBUTE | ATTRIBUTES
| BEFORE | BERNOULLI | BREADTH
| C | CASCADE | CATALOG | CATALOG_NAME | CHAIN | CHARACTER_SET_CATALOG
| CHARACTER_SET_NAME | CHARACTER_SET_SCHEMA | CHARACTERISTICS | CHARACTERS
| CLASS_ORIGIN | COBOL | COLLATION | COLLATION_CATALOG | COLLATION_NAME | COLLATION_SCHEMA
| COLUMN_NAME | COMMAND_FUNCTION | COMMAND_FUNCTION_CODE | COMMITTED
| CONDITION_NUMBER | CONNECTION | CONNECTION_NAME | CONSTRAINT_CATALOG | CONSTRAINT_NAME
| CONSTRAINT_SCHEMA | CONSTRAINTS | CONSTRUCTOR | CONTAINS | CONTINUE | CURSOR_NAME
| DATA | DATETIME_INTERVAL_CODE | DATETIME_INTERVAL_PRECISION | DEFAULTS | DEFERRABLE
| DEFERRED | DEFINED | DEFINER | DEGREE | DEPTH | DERIVED | DESC | DESCRIPTOR
| DIAGNOSTICS | DISPATCH | DOMAIN | DYNAMIC_FUNCTION | DYNAMIC_FUNCTION_CODE
| EQUALS | EXCEPTION | EXCLUDE | EXCLUDING
| FINAL | FIRST | FOLLOWING | FORTRAN | FOUND
| G | GENERAL | GENERATED | GO | GOTO | GRANTED
| HIERARCHY
| IMMEDIATE | IMPLEMENTATION | INCLUDING | INCREMENT | INITIALLY | INPUT | INSTANCE
| INSTANTIABLE | INVOKER | ISOLATION
| K | KEY | KEY_MEMBER | KEY_TYPE
| LAST | LENGTH | LEVEL | LOCATOR
| M | MAP | MATCHED | MAXVALUE | MESSAGE_LENGTH | MESSAGE_OCTET_LENGTH
| MESSAGE_TEXT | MINVALUE | MORE | MUMPS
| NAME | NAMES | NESTING | NEXT | NORMALIZED | NULLABLE | NULLS | NUMBER
| OBJECT | OCTETS | OPTION | OPTIONS | ORDERING | ORDINALITY | OTHERS
| OUTPUT | OVERRIDING
| PAD | PARAMETER_MODE | PARAMETER_NAME | PARAMETER_ORDINAL_POSITION
| PARAMETER_SPECIFIC_CATALOG | PARAMETER_SPECIFIC_NAME | PARAMETER_SPECIFIC_SCHEMA
| PARTIAL | PASCAL | PATH | PLACING | PLI | PRECEDING | PRESERVE | PRIOR
| PRIVILEGES | PUBLIC
| READ | RELATIVE | REPEATABLE | RESTART | RESTRICT | RETURNED_CARDINALITY
| RETURNED_LENGTH | RETURNED_OCTET_LENGTH | RETURNED_SQLSTATE | ROLE
| ROUTINE | ROUTINE_CATALOG | ROUTINE_NAME | ROUTINE_SCHEMA | ROW_COUNT
| SCALE | SCHEMA | SCHEMA_NAME | SCOPE_CATALOG | SCOPE_NAME | SCOPE_SCHEMA
| SECTION | SECURITY | SELF | SEQUENCE | SERIALIZABLE | SERVER_NAME | SESSION
| SETS | SIMPLE | SIZE | SOURCE | SPACE | SPECIFIC_NAME | STATE | STATEMENT
| STRUCTURE | STYLE | SUBCLASS_ORIGIN
| TABLE_NAME | TEMPORARY | TIES | TOP_LEVEL_COUNT | TRANSACTION
| TRANSACTION_ACTIVE | TRANSACTIONS_COMMITTED | TRANSACTIONS_ROLLED_BACK
| TRANSFORM | TRANSFORMS | TRIGGER_CATALOG | TRIGGER_NAME | TRIGGER_SCHEMA | TYPE
| UNBOUNDED | UNCOMMITTED | UNDER | UNNAMED | USAGE | USER_DEFINED_TYPE_CATALOG
| USER_DEFINED_TYPE_CODE | USER_DEFINED_TYPE_NAME | USER_DEFINED_TYPE_SCHEMA
| VIEW
| WORK | WRITE
| ZONE


En zo te zien is TIMEZONE helemaal geen los keyword? :X (of dat komt omdat ik een "beta" '03 spec heb)

Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

Is best een goed idee eigenlijk :)
Ik zou echter wel een officiele, al uitgegeven versie ervan pakken ACM :P

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


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 15:34

Tomatoman

Fulltime prutser

Topicstarter
ACM schreef op zaterdag 18 juni 2005 @ 15:55:
[...]

Hmm, desalniettemin mis ik er een aantal, welke SQL is dat? '92?
Ik had mijn lijstje hier vandaan gehaald. Maakt niet uit, SQL:2003 is natuurlijk beter. De officiële SQL:2003 standaard kost een paar honderd euro, een draftversie valt hier te halen. Ik zou zeggen: pak ACM's lijstjes met reserved words en keywords. Mocht er een woord niet helemaal kloppen, dan is dat ongetwijfeld een dermate obscuur woord dat niemand het ooit zal merken >:).

Als iemand deze highlighter zou willen toevoegen, dan _/-\o_ @ iemand

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

curry684 schreef op zaterdag 18 juni 2005 @ 16:08:
Ik heb het ooit op de agenda gehad toen ik nog mod P&W was, maar de parsemap schrijven voor zo'n ding is nog best een klotewerk :P Wellicht dat een van de enthousiaste nieuwe mods er zin in heeft O-)
Subtiel hoor. :P

Ik wil best een poging wagen, heb deze week toch niet geweldig veel te doen. :P

'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.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Die was nog best subtiel, de alias in Devschuur Crew was volgens mij grover O-)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

curry684 schreef op dinsdag 21 juni 2005 @ 13:36:
Die was nog best subtiel, de alias in Devschuur Crew was volgens mij grover O-)
Hoe denk je dat ik hier terecht kwam? :P

Anyway, als ik er even naar moet kijken, dan zie ik wel wat info of iets dergelijks verschijnen in mijn inbox lijkt me? :)

'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.


Acties:
  • 0 Henk 'm!

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:53

Pelle

🚴‍♂️

JS syntax highlighting werkt nog niet ;(

Volgens mij moet voor JS een vrijwel 1:1 kopie van de java highlighter te pakken zijn?

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

-NMe- schreef op dinsdag 21 juni 2005 @ 13:45:
[...]

Hoe denk je dat ik hier terecht kwam? :P

Anyway, als ik er even naar moet kijken, dan zie ik wel wat info of iets dergelijks verschijnen in mijn inbox lijkt me? :)
.oisyn heeft het ding geschreven, dus tis niet echt handig dat hij nu in Barcelona zit :X

Ik kan echter wel eens kijken of ik het zelf nog ergens heb slingeren :)

edit:
niet te vinden in m'n mailbox helaasch :/

[ Voor 6% gewijzigd door curry684 op 21-06-2005 14:42 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 14:29

dusty

Celebrate Life!

Mag ik vragen WELKE ansi-SQL wordt verlangd? immers zelfs voor ANSI sql heb je verschillende 'soorten' ( voornamelijk dank aan Microsoft voor deze optie! ), je zou bijna moeten verschillende highlighters moeten gaan bouwen voor MSSQL, Oracle, MySQL en Access.

Dit omdat je als je bijvoorbeeld alleen SQL:2003 pakt, men komt met een access query en dan opeens een niet complete highlight krijgt, en met sommige noobs hier, die gaan zeggen ' Dat zie je toch, die functie bestaat niet, dus je hele query klopt niet. '

Netzoals de afschuwelijke tijdverschil tussen normale sql en access, welke idioot besloot dat datums en tijden voor access tussen #'s moest staan en niet netjes tussen quotes... argl!

[ Voor 47% gewijzigd door dusty op 21-06-2005 15:04 ]

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als iemand toch aan de gang gaat, dan is XSLT ook wel een optie imho ;) Ik weet eigenlijk niet of we XML highlighting hebben, maar die zou er gewoon voor gebruikt kunnen worden.

XML:
1
<root xmlns:xyz="http://www.testnamespace.com/xyz" />

[ Voor 17% gewijzigd door Glimi op 21-06-2005 19:02 . Reden: Geen highlighting dus :( ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

curry684 schreef op dinsdag 21 juni 2005 @ 14:36:
edit:
niet te vinden in m'n mailbox helaasch :/
Is het niet gewoon deze? :)
dusty schreef op dinsdag 21 juni 2005 @ 14:57:
Mag ik vragen WELKE ansi-SQL wordt verlangd? immers zelfs voor ANSI sql heb je verschillende 'soorten' ( voornamelijk dank aan Microsoft voor deze optie! ), je zou bijna moeten verschillende highlighters moeten gaan bouwen voor MSSQL, Oracle, MySQL en Access.

Dit omdat je als je bijvoorbeeld alleen SQL:2003 pakt, men komt met een access query en dan opeens een niet complete highlight krijgt, en met sommige noobs hier, die gaan zeggen ' Dat zie je toch, die functie bestaat niet, dus je hele query klopt niet. '

Netzoals de afschuwelijke tijdverschil tussen normale sql en access, welke idioot besloot dat datums en tijden voor access tussen #'s moest staan en niet netjes tussen quotes... argl!
Misschien is het een idee om maar gewoon de meest gebruikte SQL-varianten bij elkaar te pakken in één highlighter? Zodat je met [code=sql] dus bijvoorbeeld zowel LIMIT als TOP highlight. Dat lijkt me een stuk handiger dan allerlei nieuwe tags te gaan maken, en zeker handiger dan bepaalde (veelgebruikte) dialecten gewoon niet te ondersteunen.

offtopic:
En dat verschil in tijdsnotaties is inderdaad behoorlijk vervelend. :/

'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.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Uh ja :P
Misschien is het een idee om maar gewoon de meest gebruikte SQL-varianten bij elkaar te pakken in één highlighter? Zodat je met [code=sql] dus bijvoorbeeld zowel LIMIT als TOP highlight. Dat lijkt me een stuk handiger dan allerlei nieuwe tags te gaan maken, en zeker handiger dan bepaalde (veelgebruikte) dialecten gewoon niet te ondersteunen.
Absoluut. Kans op fout highlighten door teveel keywords te ondersteunen is nihil, en dan nog liever 'meestal goed' dan 'meestal fout' zoals je wel hebt als je LIMIT of TOP niet ondersteunt.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dan ga ik daar morgen maar eens mee spelen. :P

Ik wil ook wel naar de highlighting van XML files kijken, maar als iemand anders me voor is, dan is dat natuurlijk ook prima. :P

'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.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:08

crisp

Devver

Pixelated

Pelle schreef op dinsdag 21 juni 2005 @ 13:57:
[...]


JS syntax highlighting werkt nog niet ;(
HTML highlighting hebben we ook niet ;(
Volgens mij moet voor JS een vrijwel 1:1 kopie van de java highlighter te pakken zijn?
Niet helemaal; denk maar eens aan de verschillende shorthand constructors in JS...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

crisp schreef op woensdag 22 juni 2005 @ 01:40:
[...]

HTML highlighting hebben we ook niet ;(
Ik heb ooit geprobeert om zo'n highlighter te schrijven, maar uiteindelijk was het resultaat dermate traag dat ik maar niet ging checken of alles wel goed word afgesloten en of bijvoorbeeld de tags wel bestonden :+

[ Voor 3% gewijzigd door RSpliet op 22-06-2005 09:40 ]

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

Seven of Nine schreef op woensdag 22 juni 2005 @ 09:40:
Ik heb ooit geprobeert om zo'n highlighter te schrijven, maar uiteindelijk was het resultaat dermate traag dat ik maar niet ging checken of alles wel goed word afgesloten en of bijvoorbeeld de tags wel bestonden :+
Daarom gebruikt onze parser ook c++ in combinatie met bison ;)

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


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

moto-moi schreef op woensdag 22 juni 2005 @ 09:42:
[...]

Daarom gebruikt onze parser ook c++ in combinatie met bison ;)
Cheaters! :Y) Is er trouwens wel al een CSS parser? Volgens mij ook nog niet nl.

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 30-09 09:41
Als jullie toch met highlighting bezig gaan; kunnen jullie javascript highlighting toepassen op actionscript? Lijkt me aardig overeen te komen en is beter dan geen highlighting zoals nu.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:08

crisp

Devver

Pixelated

Seven of Nine schreef op woensdag 22 juni 2005 @ 09:47:
[...]


Cheaters! :Y) Is er trouwens wel al een CSS parser? Volgens mij ook nog niet nl.
jawel hoor:
Cascading Stylesheet:
1
2
3
4
body {
  margin: 0;
  padding: 0;
}

:)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

McVirusS schreef op woensdag 22 juni 2005 @ 09:51:
Als jullie toch met highlighting bezig gaan; kunnen jullie javascript highlighting toepassen op actionscript? Lijkt me aardig overeen te komen en is beter dan geen highlighting zoals nu.
Oh, en als we dan toch bezig zijn, kan er dan ook meteen een highlighter komen voor Brainfuck? :+
Doet die (straks) ook Inline CSS?

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

dusty schreef op dinsdag 21 juni 2005 @ 14:57:
en met sommige noobs hier, die gaan zeggen ' Dat zie je toch, die functie bestaat niet, dus je hele query klopt niet. '
Dan roep in een modbreak heel hard n00b!!!111!!!!11!! naar ze. Zo houden ze er vanzelf mee op.

Wie trösten wir uns, die Mörder aller Mörder?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Confusion schreef op woensdag 22 juni 2005 @ 23:27:
Dan roep in een modbreak heel hard n00b!!!111!!!!11!! naar ze. Zo houden ze er vanzelf mee op.
Oew! Mag ik? Mag ik? :P

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
De SQL highlighter lijkt me idd niet zo'n probleem en dat kan ik dan ook best even doen als -NMe- er niet aan toekomt. Dan moet ik alleen even het volgende weten voor de gewenste standaar ( 03? ):

• Welke constraints hebben identifiers voor tables en collumn's? Gewoon [a-zA-Z0-9]+ ?
• Welke keywords / operators zijn er
• Is het standaard dat keywords binnen backticks table en collumn identifiers zijn?

[ Voor 4% gewijzigd door Glimi op 25-06-2005 11:47 ]


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

Glimi schreef op zaterdag 25 juni 2005 @ 11:46:
De SQL highlighter lijkt me idd niet zo'n probleem en dat kan ik dan ook best even doen als -NMe- er niet aan toekomt. Dan moet ik alleen even het volgende weten voor de gewenste standaar ( 03? ):

• Welke constraints hebben identifiers voor tables en collumn's? Gewoon [a-zA-Z0-9]+ ?
• Welke keywords / operators zijn er
• Is het standaard dat keywords binnen backticks table en collumn identifiers zijn?
Het lijkt me het verstandigste om -NMe-'s idee te volgen, dus de grootste gemene deler te pakken van de grote pakketten (mysql, mssql, postgresql & access. Dat dit als resultaat zal hebben dat je een obscure tag uit sql.03 niet meeneemt zal mij niet zoveel boeien eigenlijk :)

Ik weet niet in hoeverre -NMe- al bezig was, dus neem daar even contact mee op voordat je begint ;)

[ Voor 6% gewijzigd door moto-moi op 25-06-2005 11:57 ]

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


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Glimi schreef op zaterdag 25 juni 2005 @ 11:46:
De SQL highlighter lijkt me idd niet zo'n probleem en dat kan ik dan ook best even doen als -NMe- er niet aan toekomt.
Ik ben er tot nu toe niet aan toegekomen, afgezien van wat oriënterend werk om te kijken hoe die highlighter werkt, voornamelijk door de hitte. Ik was van plan om er vanavond en/of morgen aan te beginnen. Mocht je het graag willen doen dan hou ik je niet tegen, maar als je vanavond voor een uur of 9 niet eraan begonnen bent, dan begin ik er zelf aan. :P
Dan moet ik alleen even het volgende weten voor de gewenste standaar ( 03? ):
Zie moto-moi. :P
• Welke constraints hebben identifiers voor tables en collumn's? Gewoon [a-zA-Z0-9]+ ?
Voor zover ik weet wel, maar wanneer ze tussen backticks staan of tussen brackets ( [] deze dus), dan mogen er ook spaties in zitten.
• Welke keywords / operators zijn er
De meesten hebben tomatoman en ACM hierboven al gepost, maar er zijn er ook een paar die dialect-specifiek zijn. Ik heb die nog niet opgezocht.
• Is het standaard dat keywords binnen backticks table en collumn identifiers zijn?
Ja, maar niet in elk dialect. :P

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op zaterdag 25 juni 2005 @ 13:38:
[...]
Ik ben er tot nu toe niet aan toegekomen, afgezien van wat oriënterend werk om te kijken hoe die highlighter werkt, voornamelijk door de hitte. Ik was van plan om er vanavond en/of morgen aan te beginnen. Mocht je het graag willen doen dan hou ik je niet tegen, maar als je vanavond voor een uur of 9 niet eraan begonnen bent, dan begin ik er zelf aan. :P
Nou de lexfile is in een uurtje te bouwen, maar zolang niet duidelijk is welke 'standaard' of mix aangehouden wordt en welk effect dit heeft op escaping en identifiers, dan heeft het geen zin om er aan te beginnen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Het lijkt mij het beste om in elk geval de standaard geheel te implementeren, en verder van de meestgebruikte dialecten (MySQL, MS SQL, Access, PostgreSQL en Oracle SQL?) die dingen overnemen die niet met elkaar conflicteren? :)

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op zaterdag 25 juni 2005 @ 14:05:
Het lijkt mij het beste om in elk geval de standaard geheel te implementeren, en verder van de meestgebruikte dialecten (MySQL, MS SQL, Access, PostgreSQL en Oracle SQL?) die dingen overnemen die niet met elkaar conflicteren? :)
Dan hoop ik voor je dat jij ze uit je hoofd kent of dat je zin hebt om het op te zoeken :P :+

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

:+

Komt wel goed. De standaard erin verwerken is dankzij ACM niet echt een probleem, en die andere dialecten zal ik zo goed mogelijk erin proberen te verwerken. Wat er niet in zit, zit er niet in. Pech gehad. :+ En het kan altijd nog aangepast worden wanneer er gebreken aan het licht zouden komen. :P

'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.


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

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


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 15:34

Tomatoman

Fulltime prutser

Topicstarter
-NMe- schreef op zaterdag 25 juni 2005 @ 15:10:
:+

Komt wel goed. De standaard erin verwerken is dankzij ACM niet echt een probleem, en die andere dialecten zal ik zo goed mogelijk erin proberen te verwerken. Wat er niet in zit, zit er niet in. Pech gehad. :+ En het kan altijd nog aangepast worden wanneer er gebreken aan het licht zouden komen. :P
Lijkt me een prima opzet. Ik denk dat als je alleen SELECT, FROM, WHERE, =, ORDER, BY, LEFT, RIGHT, JOIN en ON zou gebruiken, minstens 85% van alle query's hier op GoT al goed zou worden gehighlight. De kans dat je bijvoorbeeld MULTISET of STDDEV_POP tegenkomt is nagenoeg nul.

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Ik mis overigens nu al de keywords PRIMARY KEY, CLUSTERED en NONCLUSTERED al die MS SQL specific zijn ;)
SQL:
1
2
3
CREATE TABLE #pietje (
  PietjeId int PRIMARY KEY NONCLUSTERED IDENTITY(1, 1)
  );

:)

[ Voor 7% gewijzigd door curry684 op 25-06-2005 17:45 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik neem aan dat ik met deze lijst de nieuwste versie van de MSSQL-keywords heb? Gaan die keywords ook voor Access op? Ik vind namelijk geen gelijksoortige lijst voor Access. Wel vind ik deze pagina, die alleen nog maar via Google cache op te vragen is, en die claimt zowel de keywords voor Access en SQL Server te hebben, maar op het eerste gezicht lijken de beide lijsten gelijk.

Voor Oracle SQL is deze lijst de meest recente die ik kan vinden, als iemand voor versie 10 van de server een lijst heeft, dan hoor ik het graag. :)

Moet ik ook PL/SQL gaan ondersteunen trouwens? Daar heb ik in elk geval deze lijst voor gevonden.

'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.


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

http://www.postgresql.org...ql-keywords-appendix.html
7.3 is deprecated door 7.4 en die door 8.0...

Voor Oracle zal je naar otn.oracle.com moeten gok ik, gratis accounts, maar wel moeite doen ;) Maar ik heb je het lijstje toegemailed.

Als je dan toch heel compleet wilt zijn moet je natuurlijk ook nog DB2, Firebird en Sybase ondersteunen :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dank voor je mailtje. :)

Die lijst die je me mailde lijkt trouwens verdacht veel op die lijst die ik net zelf postte, volgens mij is het dezelfde. Ik ga denk ik maar uit van de lijst die je me mailde, of ik merge beide lijsten even. Ik zal ook even een accountje maken bij oracle.com. :)

edit:
Ook bedankt voor je mailtje over DB2. Wat een reserved words. :X Dit wordt de grootste lex-file ooit (hier op GoT dan). :+

[ Voor 21% gewijzigd door NMe op 25-06-2005 23:28 ]

'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.


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

Ik vraag me af in hoeverre de verschillende varianten van elkaar afwijken.

Als je op zoek gaat naar een gemeenschappelijk sql-taal die voor 90% geimplementeerd is in de verschillende sql's, ben je al een heel eind volgens mij :) Plus dat anders zowat elk keyword wel wordt herkent omdat het in een obscure (oracle) sql variant wordt ondersteund.

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


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

-NMe- schreef op zaterdag 25 juni 2005 @ 21:28:
Ik neem aan dat ik met deze lijst de nieuwste versie van de MSSQL-keywords heb?
Paar obscure gecheckt en die zitten er wel in, had van MSDN ook niet anders verwacht :)
Gaan die keywords ook voor Access op? Ik vind namelijk geen gelijksoortige lijst voor Access.
Access heeft afaik een subset van Transact-SQL aan boord en kent alleen typische dingen als die clustered indexes niet.
Wel vind ik deze pagina, die alleen nog maar via Google cache op te vragen is, en die claimt zowel de keywords voor Access en SQL Server te hebben, maar op het eerste gezicht lijken de beide lijsten gelijk.
Zoek de CLUSTERED ;)

Overigens kun je zoals gezegd beter teveel keywords ondersteunen dan te weinig, dus in principe zou ik gewoon de grootste gemene deler pakken van alle dialecten. Taaltechnisch moet je de highlighter ook niet zien als een syntax checker maar als een middel dat in ieder dialect iedere geldige query correct highlight. En vziw zijn er geen conflicten tussen varianten die dat onmogelijk zouden maken ;)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Wellicht ten overvloede, maar hier staat nog complete lijst voor Access en SQL Server (en OLAP, maar of dat nu nodig is)

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik geloof dat ik het zo wel heb, maar ik kan niet testen hier. :X

Als er iemand rondloopt die dat testen wel voor elkaar krijgt: *klik*

851 keywords. :X

'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.


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

ik zal hem vanavond, als het mooie weer weg is :P wel eens testen voor je :)
Heb je er ook nog een mooi testbestandje bij voor me, of mag ik zelf leipe queries gaan verzinnen ? :P

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


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik zal zometeen even een paar queries bedenken waarvan ik de mogelijkheid op fouten wat hoger inschat. :P

'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.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Asjeblieft. :P

Ik verwacht vooral problemen met END-EXEC en het gebruik van keywords tussen backticks, maar dat zien we dan wel weer. :P

'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.


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 09-10 22:57

ripexx

bibs

Wellicht is het handig dat je ook zaken als INSERT INTO .. SELECT en de Oracle join test, want een outer left join in Oracle kan je ook zo schrijven.
[sql]
SELECT a.*, b*
FROM tabela a, tabel b
WHERE a.id =(+) b.id

Zit er trouwens ook ondersteuning in voor create view|table|procedure|function|trigger

* ripexx wil best wel ff wat rare dingen gaan testen als iemand een paginatj oid beschikbaar wil stellen.

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

ripexx schreef op zondag 26 juni 2005 @ 17:53:
Wellicht is het handig dat je ook zaken als INSERT INTO .. SELECT en de Oracle join test, want een outer left join in Oracle kan je ook zo schrijven.
Dat zijn gewoon keywords, als het ene keyword werkt, dan werkt het andere als het goed is ook wel. :)
SQL:
1
2
3
SELECT a.*, b*
FROM tabela a, tabel b
WHERE a.id =(+) b.id
Die notatie kende ik niet, maar dat moet niet echt een probleem zijn. Hij herkent als het goed is =(+) gewoon als "iets anders" dan een keyword/string/comment/etc. Moet dus geen probleem opleveren. :)
Zit er trouwens ook ondersteuning in voor create view|table|procedure|function|trigger
Jup, alle keywords die je noemt zitten in mijn lex-file. Kun je zelf ook nakijken trouwens, zie twee posts boven je. ;)

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op zondag 26 juni 2005 @ 17:00:
Asjeblieft. :P

Ik verwacht vooral problemen met END-EXEC en het gebruik van keywords tussen backticks, maar dat zien we dan wel weer. :P
Ik zie eigenlijk niet waarom als ik de lex bekijk. Trouwens, is een keyword( ) geen TOKEN_FUNCTION? Oja, ik mis ook nog de option case_insensitive (zie lexer_css.l)

[ Voor 8% gewijzigd door Glimi op 26-06-2005 18:16 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Glimi schreef op zondag 26 juni 2005 @ 18:15:
Ik zie eigenlijk niet waarom als ik de lex bekijk.
Mwah, met END-EXEC schat ik de mogelijkheid op een foutje wat groter in vanwege die -. :) Keywords tussen backticks zouden een probleem kunnen zijn omdat ik die verder niet "opeet" als string ofzo, maar ik wilde die dan ook niet dezelfde kleur als een string geven. :P
Trouwens, is een keyword( ) geen TOKEN_FUNCTION?
Hoe bedoel je?
Oja, ik mis ook nog de option case_insensitive (zie lexer_css.l)
Owja, inderdaad, die had ik gemist. Ik heb het even aangepast en de file opnieuw geupload, over de oude heen. :)

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op zondag 26 juni 2005 @ 18:36:
Mwah, met END-EXEC schat ik de mogelijkheid op een foutje wat groter in vanwege die -. :) Keywords tussen backticks zouden een probleem kunnen zijn omdat ik die verder niet "opeet" als string ofzo, maar ik wilde die dan ook niet dezelfde kleur als een string geven. :P
Het probleem van de - zie ik niet zo, het staat zo namelijk gewoon in je regex voor de keywords. Ook de backticks zijn niet echt een probleem, omdat zodra de lexer een backtick tegen komt, maar twee regexen kan matchen nl. de identifier matches. Hij zal dus niet gaan matchen op keywordals er een keyword in de backticks staat.
Dat 'opeten' is hier ook niet zo spannend, omdat je met de regex al de hele expressie matched.
Hoe bedoel je?
Je matched nu bijv EXTRACT( col ) als keyword ( identifier ), terwijl het eigenlijk een functiecall is. Je zou dus "{keyword}{ws}(" ook kunnen als TOKEN_FUNCTION kunnen laten tokenizen (ipv TOKEN_KEYWORD). Echter je krijgt dan wel weer een ander kleurtje voor dit ding.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ah, dat bedoel je. :) Ik heb het bewust zo laten staan omdat ik standaardfuncties wilde laten weergeven net zoals andere keywords. Misschien had ik die regel zelfs weg kunnen laten, maar ik heb hem zo laten staan als ie in mijn template lex-file stond. :)

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op zondag 26 juni 2005 @ 22:05:
Ah, dat bedoel je. :) Ik heb het bewust zo laten staan omdat ik standaardfuncties wilde laten weergeven net zoals andere keywords. Misschien had ik die regel zelfs weg kunnen laten, maar ik heb hem zo laten staan als ie in mijn template lex-file stond. :)
Nou als je hem weghaalt, dan werkt EXTRACT( ) niet meer, aangezien ( niet in de regex staat. Err, volgens mij kan ie gewoon weg ja. Ik dacht dat ie alleen in de java lexer stond om er voor te zorgen dat functies ook een keyword als naam kunnen hebben.

[ Voor 16% gewijzigd door Glimi op 26-06-2005 22:20 ]


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Speciaal voor moto's testwerk het lompste stuk SQL wat ik zo snel uit m'n default databases gegenereerd kreeg:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
/****** Object:  Database msdb    Script Date: 27-6-2005 0:56:32 ******/
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'msdb')
    DROP DATABASE [msdb]
GO

CREATE DATABASE [msdb]  ON (NAME = N'MSDBData', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\msdbdata.mdf' , SIZE = 16, FILEGROWTH = 0) LOG ON (NAME = N'MSDBLog', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\msdblog.ldf' , FILEGROWTH = 0)
 COLLATE SQL_Latin1_General_CP1_CI_AS
GO

exec sp_dboption N'msdb', N'autoclose', N'false'
GO

if( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) )
    exec sp_dboption N'msdb', N'db chaining', N'true'
GO

use [msdb]
GO

/****** Object:  Stored Procedure dbo.r_iRTblClassDefs    Script Date: 27-6-2005 0:56:33 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[r_iRTblClassDefs]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[r_iRTblClassDefs]
GO

/****** Object:  Table [dbo].[RTblClassDefs]    Script Date: 27-6-2005 0:56:33 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RTblClassDefs]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RTblClassDefs]
GO

/****** Object:  User dbo    Script Date: 27-6-2005 0:56:32 ******/
/****** Object:  User guest    Script Date: 27-6-2005 0:56:32 ******/
if not exists (select * from dbo.sysusers where name = N'guest' and uid < 16382 and hasdbaccess = 1)
    EXEC sp_grantdbaccess N'guest'
GO

/****** Object:  DatabaseRole TargetServersRole    Script Date: 27-6-2005 0:56:32 ******/
if not exists (select * from dbo.sysusers where name = N'TargetServersRole' and uid > 16399)
    EXEC sp_addrole N'TargetServersRole'
GO

/****** Object:  Table [dbo].[RTblClassDefs]    Script Date: 27-6-2005 0:56:33 ******/
CREATE TABLE [dbo].[RTblClassDefs] (
    [IntID] [binary] (8) NOT NULL ,
    [Z_BranchID_Z] [int] NOT NULL ,
    [Z_VS_Z] [int] NOT NULL ,
    [Z_VE_Z] [int] NOT NULL ,
    [ClassID] [binary] (16) NOT NULL ,
    [VerPropDescs] [image] NULL ,
    [PropDescs] [image] NULL ,
    [ViewName] [varchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [ViewFlags] [int] NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

/****** Object:  Table [dbo].[log_shipping_databases]    Script Date: 27-6-2005 0:56:33 ******/
CREATE TABLE [dbo].[log_shipping_databases] (
    [database_name] [sysname] NOT NULL ,
    [maintenance_plan_id] [uniqueidentifier] NULL 
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[RTblClassDefs] WITH NOCHECK ADD 
    CONSTRAINT [RDexClassDefs] PRIMARY KEY  CLUSTERED 
    (
        [IntID],
        [Z_BranchID_Z],
        [Z_VS_Z]
    ) WITH  FILLFACTOR = 90  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[RTblClassDefs] ADD 
    CONSTRAINT [DF__RTblClass__PropD__7C1A6C5A] DEFAULT (null) FOR [PropDescs]
GO

 CREATE  UNIQUE  INDEX [RDexClassDefsClass] ON [dbo].[RTblClassDefs]([ClassID], [Z_BranchID_Z], [Z_VS_Z]) WITH  FILLFACTOR = 90 ON [PRIMARY]
GO

GRANT  REFERENCES ,  SELECT ,  UPDATE ,  INSERT ,  DELETE  ON [dbo].[RTblClassDefs]  TO [RepositoryUser]
GO

/****** Object:  Stored Procedure dbo.sp_set_sqlagent_properties    Script Date: 27-6-2005 0:56:34 ******/

/**************************************************************/
/* SP_SET_SQLAGENT_PROPERTIES                                 */
/**************************************************************/

CREATE PROCEDURE dbo.sp_set_sqlagent_properties
  @auto_start                  INT           = NULL, -- 1 or 0
  -- Non-SQLDMO exposed properties
  @sqlserver_restart           INT           = NULL, -- 1 or 0
  @jobhistory_max_rows         INT           = NULL, -- No maximum = -1, otherwise must be > 1
  @jobhistory_max_rows_per_job INT           = NULL, -- 1 to @jobhistory_max_rows
  @errorlog_file               NVARCHAR(255) = NULL, -- Full drive\path\name of errorlog file
  @errorlogging_level          INT           = NULL, -- 1 = error, 2 = warning, 4 = information
  @error_recipient             NVARCHAR(30)  = NULL, -- Network address of error popup recipient
  @monitor_autostart           INT           = NULL, -- 1 or 0
  @local_host_server           NVARCHAR(30)  = NULL, -- Alias of local host server
  @job_shutdown_timeout        INT           = NULL, -- 5 to 600 seconds
  @cmdexec_account             VARBINARY(64) = NULL, -- CmdExec account information
  @regular_connections         INT           = NULL, -- 1 or 0
  @host_login_name             sysname       = NULL, -- Login name (if regular_connections = 1)
  @host_login_password         VARBINARY(512) = NULL, -- Login password (if regular_connections = 1)
  @login_timeout               INT           = NULL, -- 5 to 45 (seconds)
  @idle_cpu_percent            INT           = NULL, -- 1 to 100
  @idle_cpu_duration           INT           = NULL, -- 20 to 86400 seconds
  @oem_errorlog                INT           = NULL, -- 1 or 0
  @sysadmin_only               INT           = NULL, -- 1 or 0
  @email_profile               NVARCHAR(64)  = NULL, -- Email profile name
  @email_save_in_sent_folder   INT           = NULL, -- 1 or 0
  @cpu_poller_enabled          INT           = NULL  -- 1 or 0
AS
BEGIN
  -- NOTE: We set all SQLServerAgent properties at one go for performance reasons.
  -- NOTE: You cannot set the value of the properties msx_server_name, is_msx or
  --       startup_account - they are all read only.

  DECLARE @res_valid_range           NVARCHAR(100)
  DECLARE @existing_core_engine_mask INT

  SET NOCOUNT ON

  -- Remove any leading/trailing spaces from parameters
  SELECT @errorlog_file     = LTRIM(RTRIM(@errorlog_file))

  -- Make sure values (if supplied) are good
  IF (@auto_start IS NOT NULL)
  BEGIN
    -- NOTE: When setting the the services start value, 2 == auto-start, 3 == Don't auto-start
    SELECT @auto_start = CASE @auto_start
                           WHEN 0 THEN 3
                           WHEN 1 THEN 2
                           ELSE 3 -- Assume non auto-start if passed a junk value
                          END
  END

  -- Non-SQLDMO exposed properties
  IF (@monitor_autostart IS NOT NULL) AND ((@monitor_autostart < 0) OR (@monitor_autostart > 1))
  BEGIN
    RAISERROR(14266, -1, -1, '@monitor_autostart', '0, 1')
    RETURN(1) -- Failure
  END

  IF (@job_shutdown_timeout IS NOT NULL) AND ((@job_shutdown_timeout < 5) OR (@job_shutdown_timeout > 600))
  BEGIN
    RAISERROR(14266, -1, -1, '@job_shutdown_timeout', '5..600')
    RETURN(1) -- Failure
  END

  IF (@cpu_poller_enabled IS NOT NULL) AND ((@cpu_poller_enabled < 0) OR (@cpu_poller_enabled > 1))
  BEGIN
    RAISERROR(14266, -1, -1, 'cpu_poller_enabled', '0, 1')
    RETURN(1) -- Failure
  END

  -- Write out the values
  IF (@auto_start IS NOT NULL)
  BEGIN
    IF ((PLATFORM() & 0x1) = 0x1) -- NT
    BEGIN
      DECLARE @key NVARCHAR(200)

      SELECT @key = N'SYSTEM\CurrentControlSet\Services\'
      IF (SERVERPROPERTY('INSTANCENAME') IS NOT NULL)
        SELECT @key = @key + N'SQLAgent$' + CONVERT (sysname, SERVERPROPERTY('INSTANCENAME'))
      ELSE
        SELECT @key = @key + N'SQLServerAgent'

      EXECUTE master.dbo.xp_regwrite N'HKEY_LOCAL_MACHINE',
                                     @key,
                                     N'Start',
                                     N'REG_DWORD',
                                     @auto_start
    END
    ELSE
      RAISERROR(14546, 16, 1, '@auto_start')
  END

  -- Non-SQLDMO exposed properties
  IF (@jobhistory_max_rows IS NOT NULL)
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'JobHistoryMaxRows',
                                            N'REG_DWORD',
                                            @jobhistory_max_rows

  DECLARE @OS int
  EXECUTE master.dbo.xp_MSplatform @OS OUTPUT

  IF (@regular_connections = 0)
  BEGIN
    IF (@OS = 2)
    BEGIN
      EXECUTE master.dbo.xp_instance_regdeletevalue N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent', N'HostLoginID'
      EXECUTE master.dbo.xp_instance_regdeletevalue N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent', N'HostPassword'
    END
    ELSE
    BEGIN
      EXECUTE master.dbo.xp_sqlagent_param    2, N'HostLoginID'
      EXECUTE master.dbo.xp_sqlagent_param    2, N'HostPassword'
    END
  END

  IF (@host_login_password IS NOT NULL)
  BEGIN
    IF (@OS = 2)
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'HostPassword',
                                            N'REG_BINARY',
                                            @host_login_password
    ELSE
  END

  IF (@login_timeout IS NOT NULL)
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'LoginTimeout',
                                            N'REG_DWORD',
                                            @login_timeout
  IF (@sysadmin_only IS NOT NULL)
    BEGIN
    IF (@sysadmin_only = 1)
      BEGIN
    EXECUTE master.dbo.xp_sqlagent_proxy_account N'DEL'
      END
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'SysAdminOnly',
                                            N'REG_DWORD',
                                            @sysadmin_only
    END

  IF (@email_profile IS NOT NULL)
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'EmailProfile',
                                            N'REG_SZ',
                                            @email_profile
  IF (@email_save_in_sent_folder IS NOT NULL)
    EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                            N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                            N'EmailSaveSent',
                                            N'REG_DWORD',
                                            @email_save_in_sent_folder
    IF ((@existing_core_engine_mask IS NOT NULL) OR (@cpu_poller_enabled = 1))
    BEGIN
      IF (@cpu_poller_enabled = 1)
        SELECT @cpu_poller_enabled = (ISNULL(@existing_core_engine_mask, 0) & ~32)
      ELSE
        SELECT @cpu_poller_enabled = (ISNULL(@existing_core_engine_mask, 0) | 32)

      IF ((@existing_core_engine_mask IS NOT NULL) AND (@cpu_poller_enabled = 32))
        EXECUTE master.dbo.xp_instance_regdeletevalue N'HKEY_LOCAL_MACHINE',
                                                      N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                                      N'CoreEngineMask'
      ELSE
        EXECUTE master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
                                                N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
                                                N'CoreEngineMask',
                                                N'REG_DWORD',
                                                @cpu_poller_enabled
    END
  END

  RETURN(0) -- Success
END

GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

/****** Object:  Stored Procedure dbo.r_iRTblClassDefs    Script Date: 27-6-2005 0:56:34 ******/
create procedure r_iRTblClassDefs @IntID   binary(8),    @Z_BranchID_Z int,     @Z_VS_Z   int,    @ClassID  binary(16),     @VerPropDescs image,   @PropDescs  image=NULL,  @Z_VE_Z   int = 2147483647,  @ViewName  varchar(128)=NULL, @ViewFlags  int = 0  as insert RTblClassDefs values (@IntID, @Z_BranchID_Z, @Z_VS_Z, @Z_VE_Z, @ClassID, @VerPropDescs,  @PropDescs, @ViewName, @ViewFlags)
GO

SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

GRANT  EXECUTE  ON [dbo].[r_iRTblClassDefs]  TO [RepositoryUser]
GO

Die wil ik wel eens zien highlighten :P

[ Voor 48% gewijzigd door curry684 op 30-06-2005 11:23 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wat heeft die lap code met SQL te maken, behalve dat het in TSQL geschreven registry-edit-code is? :X

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

ACM schreef op maandag 27 juni 2005 @ 07:52:
Wat heeft die lap code met SQL te maken, behalve dat het in TSQL geschreven registry-edit-code is? :X
:D

De overeenkomst met SQL lijkt me dat deze lap code net zo goed gehighlight moet worden. :+

'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.


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

-NMe- schreef op maandag 27 juni 2005 @ 09:10:
:D

De overeenkomst met SQL lijkt me dat deze lap code net zo goed gehighlight moet worden. :+
Which reminds me, -- (ansi) en // en /* */ worden voor comments in SQL gebruikt he?

Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Voor MS SQL Server mis ik nog alle system zaken (tabellen, stored proc), set options, (SET CONCAT_NULL_YIELDS_NULL) verschillende functies etc. Ik weet niet hoever je het door wilt voeren hoor, maar ik heb je een xml file gemailed met volgens mij _alle_ keyword voor SQL Server. Deze wordt gebruikt in een andere hightlighter die ik wel eens heb gebruikt.

Overigens kan ik er best vrede mee hebben dat @@ROWCOUNT niet meengenomen wordt om maar eens wat te noemen. Met de meeste 'standaard' keywords pak je zoals gezegd toch 95% van de posts.

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Testoutput
Curry's zut
NMe's zut

Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Kloppen de kleuren wel? In mijn ogen is commentaar juist groen, en keywords als SELECT blauw

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

P_de_B schreef op maandag 27 juni 2005 @ 10:57:
Kloppen de kleuren wel? In mijn ogen is commentaar juist groen, en keywords als SELECT blauw
Dat kun je instellen, en blijkbaar heeft Glimi dat gedaan ;)

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


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

ACM schreef op maandag 27 juni 2005 @ 07:52:
Wat heeft die lap code met SQL te maken, behalve dat het in TSQL geschreven registry-edit-code is? :X
Tis het creation script van msdb, gestript op enkele punten, maar nog steeds voorzien van table creations, security settings, procedure creations, conditional code en eigenlijk alles wat correct moet highlighten ;) De standaard SELECT geloof ik wel, de vraag was om het ding te testen :P

Ziet er overigens goed uit alhoewel ik de kleurtjes zelf ook wat ongelukkig vind :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

ACM schreef op maandag 27 juni 2005 @ 09:58:
[...]

Which reminds me, -- (ansi) en // en /* */ worden voor comments in SQL gebruikt he?
T-SQL slikt // trouwens niet, andere 2 wel.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
P_de_B schreef op maandag 27 juni 2005 @ 10:57:
Kloppen de kleuren wel? In mijn ogen is commentaar juist groen, en keywords als SELECT blauw
Ik heb gewoon de bijgeleverde .css geupload, wat dit oplevert. Volgens mij is dit gelijk aan got zie hier
Misschien trouwens NAME als keyword weghalen. Ik geloof dat dit alleen DB2 en SQL03 (unreserved) is.

[ Voor 12% gewijzigd door Glimi op 27-06-2005 12:26 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

ACM schreef op maandag 27 juni 2005 @ 09:58:
Which reminds me, -- (ansi) en // en /* */ worden voor comments in SQL gebruikt he?
// ook? Wist ik niet. Voeg ik straks wel weer even toe. :)
Dat begint er al aardig op te lijken. Zo te zien moet ik wel weer support voor hex-getallen erin zetten.
Ik zie overigens in curry's code een keer iets als N'string' terugkomen. Wat betekent dat? Moet dat nog anders gehighlight, of is dat zo goed?
Glimi schreef op maandag 27 juni 2005 @ 12:23:
Ik heb gewoon de bijgeleverde .css geupload, wat dit oplevert. Volgens mij is dit gelijk aan got zie hier
Misschien trouwens NAME als keyword weghalen. Ik geloof dat dit alleen DB2 en SQL03 (unreserved) is.
Mjah, het ziet inderdaad wel stom uit. Aan de andere kant is het blijkbaar wel een keyword in een bepaald dialect. Ik wil NAME best eruit halen als dat beter uitkomt. :P

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op maandag 27 juni 2005 @ 13:47:
Dat begint er al aardig op te lijken. Zo te zien moet ik wel weer support voor hex-getallen erin zetten.
Ik zie overigens in curry's code een keer iets als N'string' terugkomen. Wat betekent dat? Moet dat nog anders gehighlight, of is dat zo goed?
The "N" prefix stands for National Language in the SQL-92 standard, and must be uppercase.
Verder zou ik nog er voor zorgen dat {idents}{ws}( geen TOKEN_FUNCTION oplevert, maar gewoon een TOKEN_IDENT

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ah, die N kan zo dus wel blijven staan lijkt me? :)
Verder zou ik nog er voor zorgen dat {idents}{ws}( geen TOKEN_FUNCTION oplevert, maar gewoon een TOKEN_IDENT
Waarom? In elke andere highlighter worden functies gemarkeerd door ze donkerblauw en bold te maken. Waarom in de SQL highlighter niet?

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
omdat een ident( ) geen functie is. Zie CREATE TABLE spef( .... )

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Iets als RTRIM is ook een identifier (aangezien identifiers niet per se backticks of blokhaken nodig hebben), en RTRIM is weer wel een functie. Ik kan wel kijken dat ik het zo maak dat `table` en [table] niet matchen met een functie, maar table zonder backticks/blokhaken wel. Is dat misschien een idee?

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op maandag 27 juni 2005 @ 14:18:
Iets als RTRIM is ook een identifier (aangezien identifiers niet per se backticks of blokhaken nodig hebben), en RTRIM is weer wel een functie. Ik kan wel kijken dat ik het zo maak dat `table` en [table] niet matchen met een functie, maar table zonder backticks/blokhaken wel. Is dat misschien een idee?
Als RTRIM een standaard functie is, dan zou hij best opgenomen kunnen worden in een lijst (pfff, nog meer werk.... ;) ). Echter je krijgt dan wel problemen met user-defined functions. Leuk, maar als iemand die gebruikt, dan raakt ie vast niet in de war van een ietwat aparte highlighting.
Affijn, ik dacht dat je met een identifier gewoon een table_identifier bedoelde, vandaar ook mijn reactie.

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

-NMe- schreef op maandag 27 juni 2005 @ 13:47:
// ook? Wist ik niet. Voeg ik straks wel weer even toe. :)
Hmm, ik dacht dat MySQL ook // had, maar zo te zien niet.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

ACM schreef op maandag 27 juni 2005 @ 15:20:
Hmm, ik dacht dat MySQL ook // had, maar zo te zien niet.
Okeej, dan zet ik dat er dus niet in. :+ Ik heb de verbeterde file weer over de oude heen gezet, voor zover ik zie is hij nu helemaal in orde. Er zit slechts één foutje in, en die heeft met escape characters te maken. In MySQL escape je AFAIK met een \ voor het te escapen teken, en aan Curry's lap code te zien is dat in T-SQL niet het geval. Daar zie je dus één regel rood onderlijnd, waarvan ik niet echt een idee heb hoe het op te lossen. :)

'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.


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

ANSI escaped in principe alleen de ' met een extra ': '', de rest hoeft niet escaped.
MySQL escaped de ' met \', maar ik meen dat er meer karakters geescaped moeten/mogen worden bij MySQL, sowieso de \ met een \\ natuurlijk.

In MySQL mag je echter ook '' gebruiken, maar wat je dan met de \' moet doen is tamelijk tricky idd.

Bij LIKE kan je trouwens opgeven wat je ESCAPE-character is, zodat je de _ en % kan escapen, maar ik denk dat je dat maar beter kan negeren, ipv te parsen, daar zou je teveel intelligentie voor toe moeten passen en degene die die ESCAPE-constructie toepast weet heus wel hoe ie dat moet gebruiken ;)

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op dinsdag 28 juni 2005 @ 02:48:
Er zit slechts één foutje in, en die heeft met escape characters te maken. In MySQL escape je AFAIK met een \ voor het te escapen teken, en aan Curry's lap code te zien is dat in T-SQL niet het geval. Daar zie je dus één regel rood onderlijnd, waarvan ik niet echt een idee heb hoe het op te lossen. :)
Tja, laten we eerlijk zijn: MySQL is nu eenmaal het meest gebruikte SQL formaat hier @ GoT en het opgeven van WindowsDirectories in een string komen toch bitter weinig voor.
Trouwens je escape sequence is verder correct (behalve custom escapes), immers
C++:
1
"blablalba "" blalbalbalba";
een dubbele escape wordt gewoon normaal gehighlight, ook al geef je niet de FLAG_ESCAPE_DOUBLE mee.

[ Voor 7% gewijzigd door Glimi op 28-06-2005 08:42 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ok, dan lijkt die file me nu verder "as good as it gets". :) Wat mij betreft is ie klaar, al heb ik natuurlijk de laatste aanpassing nog niet live gezien. :P

'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.


Acties:
  • 0 Henk 'm!

  • Kayshin
  • Registratie: Juni 2004
  • Laatst online: 09-03-2018

Kayshin

Bl@@T @@P!!!

1 woord: _/-\o_

My personal videoteek: -Clique-; -NMe- is een snol!


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op dinsdag 28 juni 2005 @ 14:39:
Ok, dan lijkt die file me nu verder "as good as it gets". :) Wat mij betreft is ie klaar, al heb ik natuurlijk de laatste aanpassing nog niet live gezien. :P
Oeeeeh subtiel: uw zut en curry's zut

[ Voor 13% gewijzigd door Glimi op 28-06-2005 22:45 ]


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 15:34

Tomatoman

Fulltime prutser

Topicstarter
SQL:
1
2
3
SELECT Wanneer, Komt, Hij, Online
FROM Featurerequests
WHERE Highlighting = "SQL"

:P

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat mij betreft nu. Maar je moet moto-moi of een andere groene lief aankijken, niet ons. :+

'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.


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

-NMe- schreef op dinsdag 28 juni 2005 @ 23:25:
Wat mij betreft nu. Maar je moet moto-moi of een andere groene lief aankijken, niet ons. :+
Nieuwsgierig: En wat gaat die moto-moi dan doeoeoeoeoen ???!!11

Nah, ik ga morgen deze code toevoegen aan de parsercode, en als het allemaal werkt op het testforum, komt het vlak daarna ook hier online.

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


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

moto-moi schreef op dinsdag 28 juni 2005 @ 23:43:
Nieuwsgierig: En wat gaat die moto-moi dan doeoeoeoeoen ???!!11
Maakt mij niet uit, als het maar niks met mijn postcount te maken heeft. :Y)
Nah, ik ga morgen deze code toevoegen aan de parsercode, en als het allemaal werkt op het testforum, komt het vlak daarna ook hier online.
:*

Vertrouw je Glimi en mij niet? Tsk. :/ :+

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
moto-moi schreef op dinsdag 28 juni 2005 @ 23:43:
Nieuwsgierig: En wat gaat die moto-moi dan doeoeoeoeoen ???!!11

Nah, ik ga morgen deze code toevoegen aan de parsercode, en als het allemaal werkt op het testforum, komt het vlak daarna ook hier online.
Ok, succes :) Als er problemen zijn met de XML file (ik moest een aanpassing doen om geen ]] in een string te hebben staan anders pakte m'n nieuwe flex hem niet) en de XPath file, dan hoor ik het graag :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

moto-moi schreef op woensdag 22 juni 2005 @ 09:42:
[...]

Daarom gebruikt onze parser ook c++ in combinatie met bison ;)
flex, bison is een parser generator en voor een highlighter is geen parser nodig maar een lexical analyser ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

SQL:
1
insert into workdone values ('sqlparser');

Staat nu dus online :)

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


Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Die kleurtjes zijn definitief?

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Die kleurtjes stel je in in je profiel.

Edit: Hmm, oude posts waarin [code=sql] staat worden niet gekleurd, wel jammer. Zal de interne cache van React wel zijn, toch?

[ Voor 63% gewijzigd door NMe op 29-06-2005 14:26 ]

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
-NMe- schreef op woensdag 29 juni 2005 @ 14:25:
Die kleurtjes stel je in in je profiel.

Edit: Hmm, oude posts waarin [code=sql] staat worden niet gekleurd, wel jammer. Zal de interne cache van React wel zijn, toch?
Berichten worden geparsed in de db opgeslagen afaik. Echter als jij het bericht edit, dan moet ie als het goed is wel werken.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:08

crisp

Devver

Pixelated

-NMe- schreef op woensdag 29 juni 2005 @ 14:25:
Die kleurtjes stel je in in je profiel.

Edit: Hmm, oude posts waarin [code=sql] staat worden niet gekleurd, wel jammer. Zal de interne cache van React wel zijn, toch?
idd. We kunnen een reparse van alle berichten forceren door de RML parser een hoger versienummer te geven, maar voor een paar kleurtjes vind ik dat een beetje loos...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

crisp schreef op woensdag 29 juni 2005 @ 14:36:
idd. We kunnen een reparse van alle berichten forceren door de RML parser een hoger versienummer te geven, maar voor een paar kleurtjes vind ik dat een beetje loos...
Mjah, idd. Uiteraard heb ik wel even snel de P&W FAQ "ge-edit", en daarmee hebben we alle topics waarin dat belangrijk is wel gehad lijkt me. :+

'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.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

WTF, als ik [rml]curry684 in "[ feat] P&W - Code highlighting voor SQL"[/rml] edit zodat ik de kleurtjes goed kon zien, kreeg ik de foutmelding:
De inhoud is te lang na conversie: 127,343 bytes na conversie, 61,808 bytes meer dan mogelijk.
(interne identificatie: message::update::maxcolumnsize_exceeded)
Waarom heeft het postveld in hemelsnaam een limiet van 64k?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Glimi schreef op dinsdag 28 juni 2005 @ 08:42:
immers
C++:
1
"blablalba "" blalbalbalba";
een dubbele escape wordt gewoon normaal gehighlight, ook al geef je niet de FLAG_ESCAPE_DOUBLE mee.
Let wel dat de highlighter dat ziet als 2 afzonderlijke strings, en dat het daarom gewoon met een stringkleurtje doorgaat. Deze code in C/C++ invoeren is perfect legaal, maar je zult geen quote ergens midden in het resultaat krijgen (omdat de 2 strings geconcatenate worden)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Heb ik al vaker mee gekloot ja (zie rechtensticky in 2 delen in CA :X ). Heb iig de post even dermate ingekort dat ie wel past en nog steeds alle highlighting demonstreert :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

.oisyn schreef op donderdag 30 juni 2005 @ 11:16:
WTF, als ik [rml]curry684 in "[ feat] P&W - Code highlighting voor SQL"[/rml] edit zodat ik de kleurtjes goed kon zien, kreeg ik de foutmelding:
Waarom heeft het postveld in hemelsnaam een limiet van 64k?
Omdat.. dat al jaren zo is ? :)
http://dev.mysql.com/doc/mysql/en/storage-requirements.html

En sowieso is dat bijna altijd genoeg, alleen voor de faq's soms niet, maar als je dat weet, kun je er prima omheen werken ;)

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


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 09-10 22:57

ripexx

bibs

SQL:
1
2
3
SELECT a.*, b.*
FROM tabel_a a, tabel_b b
WHERE a.id =(+) b.id
^^ Waarom wordt a nu anders verwerkt dan b?

De Oracle join lijkt goed verwerkt te worden.
SQL:
1
2
3
SELECT ISNULL(1+1);
SELECT ISNULL(1/0);
SELECT DATE_FORMAT('%d', NOW())
Hoe zou ISNULL nu verwerkt moeten worden?
SQL:
1
2
3
4
5
6
7
8
9
10
-- SQL Server 
    execute find_text @primary_field = 6005, @PDEFAULT = '01011997', @Ret = @cTemp OUTPUT
    set @cTemp = subString(@cTemp,1,2) + '/' + subString(@cTemp,3,2) + '/' + subString(@cTemp,5,4)
    set @SYSP_EISSTARTYEAR = CONVERT(datetime, @cTemp, 103)

    execute find_text @primary_field = 6006, @PDEFAULT = '31121997', @Ret = @cTemp OUTPUT
    set @cTemp = subString(@cTemp,1,2) + '/' + subString(@cTemp,3,2) + '/' + subString(@cTemp,5,4)
    set @SYSP_EISENDYEAR = CONVERT(datetime, @cTemp,103)

    set @dStart = getdate()
Hierboven ook, dit is een onderdeel van een procedure. In de Query Analyser van SQL server wordt convert(), en substring() net als getdate() gezien als een functie/expressie.

Als je dan kijkt naar de MySQL variant dan zie je dat DATE_FORMAT wel als functie wordt gezien.

Verder zie ik wel wat vreemdere constructies bij Oracle procedures maar dat zal wellicht liggen aan de PL/SQL. Ik zal morgen op mijn werk een met Oracle gaan stoeien en kijken of ik daar nog wat screens van kan maken. Verder niet echt bijzondere zaken ondekt, zo te zien wordt 95%++ van alle queries/sql goed verwerkt. Wat op GoT betekend dat je al snel 99,9% van alles te pakken hebt.

-NMe- een job well done :) _/-\o_

[ Voor 8% gewijzigd door ripexx op 30-06-2005 22:56 . Reden: typo's ]

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

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

moto-moi

Ja, ik haat jou ook :w

ripexx schreef op donderdag 30 juni 2005 @ 22:49:
SQL:
1
2
3
SELECT a.*, b.*
FROM tabel_a a, tabel_b b
WHERE a.id =(+) b.id
^^ Waarom wordt a nu anders verwerkt dan b?
Goeie vraag, da's wel wat we een bugje noemen denk ik :P
Mag -NMe- nog even naar kijken dus :P

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


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Die A is een unreserved keyword van SQL:2003. moto en ik hebben even overlegd en besloten dat die er inderdaad beter uitgesloopt kan worden. :)

Dat DATE_FORMAT trouwens gezien wordt als een function en CONVERT als keyword heeft een simpele reden: DATE_FORMAT is geen reserved word van MySQL, CONVERT is wel reserved. :)

'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.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
ripexx schreef op donderdag 30 juni 2005 @ 22:49:
SQL:
1
2
3
SELECT a.*, b.*
FROM tabel_a a, tabel_b b
WHERE a.id =(+) b.id
^^ Waarom wordt a nu anders verwerkt dan b?
LexerFile
A is een keyword in een taal, dus wordt hier gehighlight als keyword. Onthoudt het is een lexer die het werk doet.
De Oracle join lijkt goed verwerkt te worden.
SQL:
1
2
3
SELECT ISNULL(1+1);
SELECT ISNULL(1/0);
SELECT DATE_FORMAT('%d', NOW())
Hoe zou ISNULL nu verwerkt moeten worden?
ISNULL is een keyword en DATE_FORMAT niet. In de lexfile wordt ISNULL( ) als keyword gezien en [identifier]( ) als function. Vandaar het verschil. WMB zou [keyword]( ) ook als function gehighlight moeten worden.
SQL:
1
2
3
4
5
6
7
8
9
10
-- SQL Server 
    execute find_text @primary_field = 6005, @PDEFAULT = '01011997', @Ret = @cTemp OUTPUT
    set @cTemp = subString(@cTemp,1,2) + '/' + subString(@cTemp,3,2) + '/' + subString(@cTemp,5,4)
    set @SYSP_EISSTARTYEAR = CONVERT(datetime, @cTemp, 103)

    execute find_text @primary_field = 6006, @PDEFAULT = '31121997', @Ret = @cTemp OUTPUT
    set @cTemp = subString(@cTemp,1,2) + '/' + subString(@cTemp,3,2) + '/' + subString(@cTemp,5,4)
    set @SYSP_EISENDYEAR = CONVERT(datetime, @cTemp,103)

    set @dStart = getdate()
Hierboven ook, dit is een onderdeel van een procedure. In de Query Analyser van SQL server wordt convert(), en substring() net als getdate() gezien als een functie/expressie.
CONVERT, SUBSTRING zijn keywords, vandaar het verschil :)

[ Voor 4% gewijzigd door Glimi op 30-06-2005 23:10 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Glimi schreef op donderdag 30 juni 2005 @ 23:10:
LexerFile
A is een keyword in een taal, dus wordt hier gehighlight als keyword. Onthoudt het is een lexer die het werk doet.
Klopt ja, maar dat is nu niet meer in die Lexer file te zien. :+ Ik heb de unreserved keywords A, C, G, K en M verwijderd, scheelt in de toekomst weer wat verwarring. :)
ISNULL is een keyword en DATE_FORMAT niet. In de lexfile wordt ISNULL( ) als keyword gezien en [identifier]( ) als function. Vandaar het verschil. WMB zou [keyword]( ) ook als function gehighlight moeten worden.
Ook dit heb ik maar even aangepast, staat inderdaad misschien mooier. :)

'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.

Pagina: 1 2 Laatste

Dit topic is gesloten.