Skip to Main Content

SQL Developer

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Where can I get the md5 values for the SQL Developer downloads?

lcollazoMar 20 2015 — edited Mar 24 2015

Before I can install SQL Developer, I need to compare MD5's from my copy of the file and the source.  Where can I find the MD5 values for the downloads?

Comments

Olafur T

Hi,

Nothing there about reserved words in optional parameters. I'll explain the problem better (I probably should raise an SR)

Define a very simple GET service:

begin

  ORDS.DEFINE_MODULE(p_module_name    => 'Testing Optional Parameters',

                     p_base_path      => '/testing/',

                     p_items_per_page => 25,

                     p_status         => 'PUBLISHED',

                     p_comments       => null);

  ORDS.DEFINE_TEMPLATE(p_module_name => 'Testing Optional Parameters',

                       p_pattern     => 'simple',

                       p_priority    => 0,

                       p_etag_type   => 'HASH',

                       p_etag_query  => null,

                       p_comments    => null);

  ORDS.DEFINE_HANDLER(p_module_name    => 'Testing Optional Parameters',

                      p_pattern        => 'simple',

                      p_method         => 'GET',

                      p_source_type    => 'json/item',

                      p_items_per_page => 25,

                      p_mimes_allowed  => '',

                      p_comments       => null,

                      p_source         => 'select sysdate from dual');

  commit;

end;

Testing with no parameters:

curl http://localhost:8080/ords/ordstest/testing/simple

{"sysdate":"2018-10-25T15:48:46Z","links":[{"rel":"collection","href":"http://localhost:8080/ords/ordstest/testing/"}]}

Testing with some optional parameter:

curl http://localhost:8080/ords/ordstest/testing/simple?p=123

{"sysdate":"2018-10-25T15:48:46Z","links":[{"rel":"collection","href":"http://localhost:8080/ords/ordstest/testing/"}]}

Testing with "q" as a parameter, no change to the service:

curl http://localhost:8080/ords/ordstest/testing/simple?q=123

results in 400 error

BadRequestException [statusCode=400, reasons=[]]

at oracle.dbtools.rest.resource.jdbc.JDBCResourcesProvider.queryStatement(JDBCResourcesProvider.java:316)

at oracle.dbtools.rest.resource.jdbc.JDBCResourcesProvider.query(JDBCResourcesProvider.java:266)

at oracle.dbtools.rest.resource.generator.json.JSONResourceGeneratorBase.service(JSONResourceGeneratorBase.java:66)

at oracle.dbtools.rest.resource.generator.ResourceGeneratorsProvider.generate(ResourceGeneratorsProvider.java:99)

at oracle.dbtools.rest.resource.modules.ModulesDispatcherDelegate.service(ModulesDispatcherDelegate.java:132)

at oracle.dbtools.rest.resource.modules.ModulesDispatcherDelegate.access$100(ModulesDispatcherDelegate.java:26)

at oracle.dbtools.rest.resource.modules.ModulesDispatcherDelegate$GetDispatcher.doGet(ModulesDispatcherDelegate.java:174)

at oracle.dbtools.http.etags.EntityTagsProvider.etag(EntityTagsProvider.java:114)

at oracle.dbtools.rest.resource.modules.ModulesDispatcherDelegate.service(ModulesDispatcherDelegate.java:58)

at oracle.dbtools.rest.resource.jdbc.JDBCResourceDispatcher.service(JDBCResourceDispatcher.java:82)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

at oracle.dbtools.http.servlet.DispatchableServletBase.service(DispatchableServletBase.java:58)

at oracle.dbtools.rest.resource.cache.CachedResourceDispatcher.service(CachedResourceDispatcher.java:59)

at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:143)

at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:243)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73)

at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:90)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.forwarding.ForwardingFilter.doFilter(ForwardingFilter.java:68)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.cors.CORSPreflightFilter.doFilter(CORSPreflightFilter.java:66)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.cookies.auth.CookieSessionCSRFFilter.doFilter(CookieSessionCSRFFilter.java:71)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:101)

at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:64)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.url.mapping.RequestMapperImpl.doFilter(RequestMapperImpl.java:161)

at oracle.dbtools.url.mapping.URLMappingBase.doFilter(URLMappingBase.java:96)

at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:127)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.auth.external.ExternalSessionFilter.doFilter(ExternalSessionFilter.java:59)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.rt.authentication.apex.ApexSessionQueryRewriteFilter.doFilter(ApexSessionQueryRewriteFilter.java:58)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:83)

at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.filters.AbsoluteLocationFilter.doFilter(AbsoluteLocationFilter.java:65)

at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:85)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.secure.ForceHttpsFilter.doFilter(ForceHttpsFilter.java:74)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)

at oracle.dbtools.http.filters.Filters.filter(Filters.java:67)

at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:82)

at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:102)

at oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint.service(WebApplicationRequestEntryPoint.java:50)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: oracle.dbtools.query.filtering.impl.FilterSyntaxException: oracle.dbtools.json.JSONParserException: Expected one of: <<{,[>> but got: <<1>>

at oracle.dbtools.query.filtering.impl.ClauseBuilderProvider.filterQuery(ClauseBuilderProvider.java:77)

at oracle.dbtools.rest.resource.jdbc.JDBCResourcesProvider.queryStatement(JDBCResourcesProvider.java:290)

... 84 more

Caused by: oracle.dbtools.json.JSONParserException: Expected one of: <<{,[>> but got: <<1>>

at oracle.dbtools.json.JSONParser.error(JSONParser.java:38)

at oracle.dbtools.json.JSONParserImpl.objectOrArray(JSONParserImpl.java:204)

at oracle.dbtools.json.JSONParserImpl.next(JSONParserImpl.java:54)

at oracle.dbtools.json.JSONReaderImpl.advance(JSONReaderImpl.java:41)

at oracle.dbtools.json.JSONReaderImpl.advance(JSONReaderImpl.java:12)

at oracle.dbtools.common.util.AbstractIterator._advance(AbstractIterator.java:140)

at oracle.dbtools.common.util.AbstractIterator.start(AbstractIterator.java:153)

at oracle.dbtools.common.util.AbstractIterator.hasNext(AbstractIterator.java:79)

at oracle.dbtools.json.objects.JSONObjectsProvider.read(JSONObjectsProvider.java:111)

at oracle.dbtools.json.objects.JSONObjectsProvider.read(JSONObjectsProvider.java:86)

at oracle.dbtools.query.filtering.impl.ClauseBuilderProvider.filterQuery(ClauseBuilderProvider.java:63)

... 85 more

Pierre Yotti

That is what you need here

https://docs.oracle.com/cd/E56351_01/doc.30/e87809/developing-REST-applications.htm#GUID-091748F8-3D14-402B-9310-25E6A9116B47

That is why you had that error "Caused by: oracle.dbtools.query.filtering.impl.FilterSyntaxException: oracle.dbtools.json.JSONParserException: Expected one of: <<{,[>> but got: <<1>>"

- {,[ : expected a json object but get a value

Pierre Yotti
Answer

3.2.5.2 Filtering in Queries

This section describes and provides examples of filtering in queries against REST-enabled tables and views.

Filtering is the process of limiting a collection resource by using a per-request dynamic filter definition across multiple page resources, where each page contains a subset of items found in the complete collection. Filtering enables efficient traversal of large collections.

To filter in a query, include the parameter q=FilterObject, where FilterObject is a JSON object that represents the custom selection and sorting to be applied to the resource. For example, assume the following resource:

https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.3/aelig/developing-REST-applications.html#GUID-0…

https://docs.oracle.com/cd/E56351_01/doc.30/e87809/developing-REST-applications.htm#GUID-091748F8-3D14-402B-9310-25E6A91…

https://stackoverflow.com/questions/50408450/how-to-use-clause-where-in-in-apex-ords-rest-api/50453786#50453786

Marked as Answer by Olafur T · Sep 27 2020
Olafur T

ah, thanks.

That explains it. So "q" is really a reserved parameter even though it has no purpose in a defined service only for rest enabled objects like tables or views. (only using ORDS for user defined rest services not rest enabled objects)

Ok, so there is no way for me to simply switch my old services with ORDS using the parameter "q", unless I do some fiddling with nginx rewrite rules.

Best regards

Olafur

1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 21 2015
Added on Mar 20 2015
3 comments
770 views