Hi,

> this is why the Noel's PARSE sql request seems to be a better solution.

I'm not yet convinced this is the best solution.

Do you really need the method "getExpectedTokens"? If yes, then
> JdbcSQLException could parse the error message and search for "expected:".
>

> I can't as this message can be translated or changed later.

My question was: do you need it?

You don't need to implement it yourself. This can be implemented in H2
itself (I can implement it). Translation is not a problem.

Regards,
Thomas




On Thu, Aug 29, 2013 at 4:01 PM, Nicolas Fortin (OrbisGIS) <
[email protected]> wrote:

> Hi,
>
> The current solution doesn't work for the client/server case.
>>
>
> It's true, this is why the Noel's PARSE sql request seems to be a better
> solution.
>
>
> Do you really need the method "getExpectedTokens"? If yes, then
>> JdbcSQLException could parse the error message and search for "expected:".
>>
>
> I can't as this message can be translated or changed later.
>
>
> -Nicolas Fortin
> Atelier SIG
> IRSTV FR CNRS 2488
>
> Le jeudi 29 août 2013 14:34:02 UTC+2, Thomas Mueller a écrit :
>>
>> Hi,
>>
>> The current solution doesn't work for the client/server case.
>>
>> What about removing the JdbcParseSQLException interface, and extending
>> JdbcSQLException with getSyntaxErrorPosition? It would return -1 if it's
>> not a syntax exception, and would return the position if it is.
>>
>> Internally, JdbcSQLException could detect the position by searching for
>> the first "[*]" in the "sql" field. I know this wouldn't be a 100% correct
>> solution, because somebody might type "[*]" in the query for some reason.
>> But it might be good enough for now. The position could be stored as a
>> separate field as well, but then the client/server protocol would need to
>> be changed (which would be slightly more work).
>>
>> Do you really need the method "getExpectedTokens"? If yes, then
>> JdbcSQLException could parse the error message and search for "expected:".
>>
>> Regards,
>> Thomas
>>
>>
>> On Wed, Aug 28, 2013 at 8:39 AM, Nicolas Fortin (OrbisGIS) <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> Yes it seems that it is a better solution, it will work on server mode
>>> also.
>>>
>>> Regards,
>>>
>>>
>>> -Nicolas Fortin
>>> Atelier SIG
>>> IRSTV FR CNRS 2488
>>>
>>> Le samedi 24 août 2013 21:49:01 UTC+2, Noel Grandin a écrit :
>>>
>>>> Maybe we're thinking about this the wrong way. The way the JDBC API
>>>> and SQL works is not to try and pass around and catch specialised
>>>> exceptions.
>>>>
>>>> Maybe we should be exposing a new SQL command.
>>>>
>>>> So the client can do
>>>>    PARSE <command>
>>>> and we return either an empty result set in the case of a successful
>>>> parse, or a result set containing
>>>>   PARSE_INDEX, EXPECTED_TOKENS, MESSAGE
>>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "H2 Database" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to h2-database...@**googlegroups.com.
>>> To post to this group, send email to [email protected].
>>>
>>> Visit this group at 
>>> http://groups.google.com/**group/h2-database<http://groups.google.com/group/h2-database>
>>> .
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to