Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!mtxinu!sybase!forrest@sybase.com From: forrest@sybase.com Newsgroups: comp.databases Subject: Parsing Query Languages in the Client or Server Message-ID: <6155@sybase.sybase.com> Date: 20 Sep 89 20:40:41 GMT Sender: news@sybase.sybase.com Reply-To: forrest@sybase.com Organization: Sybase, Inc. Lines: 33 I used to work at Britton Lee. Now I work at Sybase. At Britton Lee query languages were parsed in the clients and parse trees were sent to the server. Here at Sybase we send the query language to the server to be parsed. I'd like to hear peoples comments about the strengths and weaknesses of both approaches. I'll start. Assuming the client runs on a machine that supports sharable code, the parser can be shared among all the clients. If the client runs on a machine that doesn't support shareable code then this is a big disadvantage since each executable and executing image must contain the parser. Obviously, having a server do the parsing result in only one copy of the parser even if the platform it runs on doesn't support shareable code. It could be argued that parsing is not data serving. If you accept this opinion then you probably don't think that a server should do parsing. Parse trees might result in less network traffic than actual query text. Detecting syntax errors in the client can prevent sending a syntactically incorrect query over a potentially slow network. It would take fewer resources to find out that a query is syntactically incorrect. I'm sure there are many other concerns that I'm missing. Jon Forrest forrest@sybase.com {pacbell,sun,{uunet,ucbvax}!mtxinu}!sybase!forrest 415-596-3422