WaveMaker Docs

WaveMaker Docs

  • Get started
  • Widgets
  • How-to
  • Releases
  • Login
  • Start free trial

›Queries and Procedures

Getting started

  • Introduction
  • Walkthrough

App design

  • UI Overview
  • Create Pages
  • Designing Pages
  • Widgets Composition
  • Page Configure

    • Page Layout
    • Page Artefacts
    • Partial Page
    • Page Parameters
    • Navigation
    • Events
    • Examples

    Apply Styles

    • Themes
    • Templates

Backend

  • Backend Services
  • Introduction to API Designer

- Data services

  • Database Services Overview
  • Database Tools
  • Database Designing

    • Working with Databases
    • Data Modelling
    • DataBase Schema Modes
    • Working with DB Schema
    • Database Views
    • Temporal Support

    Accessing Database

    • Accessing Database
    • ORM Artifacts

    Queries and Procedures

    • Working with Queries
    • Working with Stored Procedures
    • Version Queries & Procedures
    • Blob Queries and Procedures
    • Queries & Procedures - Java Services

    Database Variables & API

    • Database CRUD
    • Database APIs
    • Database Service APIs

- Web services

  • Web Services Overview
  • Services

    • REST Services
    • Secure Server-side Properties
    • REST Services using OAuth 2.0
    • Working with SOAP Services
    • Working with WebSockets

    Web Service Variables & API

    • Web Services Variable
    • Web Service APIs

- Java services

  • Java Service
  • Java Services

    • Java Integration Services
    • Variables for Invocation
    • Generated REST APIs (API Designer)

    Java Services Variables & API

    • Variable for Java Service
    • Java Service APIs

    Manifest files

    • 3rd Party Libraries
    • Using 3rd party JavaScript files
    • Using 3rd party jar files

- Security services

    App Security

    • Overview
    • Authentication
    • Authorization
    • Access Levels & Permissions
    • Login Configuration
    • SSL Encryption
    • XSS antisamy policy configuration
    • OWASP
    • Central Authentication System
    • Token Based Authentication
    • SAML Integration

    Security Variable and API

    • Security Variables
    • Remember Me
    • Variable for Security Service
    • Security Service APIs

Integration

  • Service Integration
  • Variables

    • Variables Overview
    • Model Variable
    • Device Variables
    • Variable Binding

    Actions

    • Actions
    • Navigation Action
    • Login Action
    • Logout Action
    • Timer Action
    • Notification Action

    Events

    • Events
    • JavaScript Access

Developer options

  • Test and Run (Preview) Apps
  • Import, Export & Update Apps
  • Project Shells
  • Localization
  • Developer Integration

    • Project User Management
    • Developer Collaboration
    • Debugging
    • Extending the Application using IDEs

    Deployment

    • Release Management
    • Configuration Profiles
    • Build Options for App Deployment
    • One-Click Deployment
    • Manage Deployed Apps

    Configuring Web Server

    • Deploy to Web Server Overview
    • Building a War from a WaveMaker Project
    • AWS
    • Azure
    • Google Cloud
    • Deploy to Tomcat
    • WebSphere
    • JBoss - WildFly
    • WebLogic Server

Develop extensions

  • Create Prefab
  • Use Cases - Prefabs
  • Create Themes
  • Create Template
  • Artifacts Repository

Mobile app

  • Building Hybrid Mobile Apps
  • Native Device Support
  • First Mobile App
  • Mobile Design

    • Mobile Page Design
    • Gesture Support
    • Mobile Tabbar
    • Mobile Navbar

    Mobile Installer

    • Test Run (Preview)
    • Debugging Mobile Apps
    • Testing Hybrid Mobile Apps using WaveLens
    • Mobile Build - Android
    • Mobile Build - Phonegap
    • Mobile Build - Manual

    Mobile Integrations

    • Mobile Integrations - Amazon Mobile Analytics
    • Mobile Integrations - Amazon SNS
    • Using Push Notifications in Mobile Device
    • Invoking Web App APIs in Mobile Apps

    Offline Features

    • Offline Data Support
    • Implementation
    • Switching between Offline and Online Mode

Enterprise

  • Setup Guide
  • Launching Instances
  • DEB Installer - Private AMI
  • Add external VCS Configuration
  • Custom Apps Capacity
  • Setting up WME
  • Configuration
  • Adding Capacity
  • Maintenance
  • Upgrading
Edit

Blob Support for Queries and Procedures


BLOB datatype being large in size and amorphous in nature need to be handled separately.

In WaveMaker, the Database services generated for each table provides an additional API for downloading the content for each BLOB column in the table and this support has been extended to Queries and Procedures post 8.5 release.

Use Cases for BLOB

The following use cases are discussed in this section:

  • Uploading BLOB data as a query parameter
  • Handling BLOB content in query results
  • Uploading the BLOB data as procedure parameter
  • Handling BLOB content as output parameter of a procedure

Limitations

  • Procedures returning more than one response field and simultaneously containing BLOB field are not supported. In other words, if Blob exists in response, then no other fields should be returned.
  • HQL queries with the response containing Blob columns are not supported.
  • Blob response in CURSOR fields is ignored for procedures.

Uploading the BLOB data as a query parameter

  • A new param type "Blob" can be found in the Parameter section of the Query Editor.
note

This Blob type is enabled only for Insert and Update queries.

  • Each Blob type column supports single file upload, i.e. not as a list. However, there can be multiple Blob params for a single query.

  • When a Blob parameter exists in a query, then the generated API for such query will accept Multipart data and POST method is used irrespective of query type.

Handling Blob content in query results (single or paginated results)

  • When query tested in design mode has resultant data with Blob content it is depicted as a file icon and the content is not visible or available for download.
  • Queries returning a PAGINATED response containing Blob field should provide Identifier while saving the query
    • An identifier is required to uniquely identify the column in the query result.
    • You can select multiple columns as Identifier.
note

You cannot save the query without Identifier.

  • Separate API will be generated for each Blob field with a Downloadable return type in addition to the executeQueryAPI. The response of the execute query's Blob field's value will contain the absolute URL to the Blob content. It will be null for the rows which do not have a value for that field.

note
  • Identifier is not required for Queries returning SINGLE response.
  • HQL queries are not supported if they contain Blob fields in response.

Support for uploading the blob data as Procedure Param

  • A typical procedure with Blob input is as shown below:

  • When param type of Blob is IN in a procedure, then the generated API for such procedure will be accepted as multipart data and the remaining fields are expected as one part with the content type application/json. There can be multiple Blob inputs parameters.

Handling Blob content as output param of a procedure

  • Procedures returning more than one response field and simultaneously containing BLOB field are not supported. In other words, if Blob exists in response, then no other fields should be returned.
  • Blob response is supported only for OUT parameters. If Blob field exists in Cursor data, then it is ignored.
  • If procedure consists of BLOB field in OUT param, then the generated API will return Downloadable response otherwise Response object.
Last updated on 11/12/2019 by Swetha Kundaram
← Version Queries & ProceduresQueries & Procedures - Java Services →
  • Use Cases for BLOB
  • Limitations
  • Uploading the BLOB data as a query parameter
  • Handling Blob content in query results (single or paginated results)
  • Support for uploading the blob data as Procedure Param
  • Handling Blob content as output param of a procedure
WaveMaker
  • PRICING
  • PARTNERS
  • CUSTOMERS
  • ABOUT US
  • CONTACT US
Terms of Use | Copyright © 2013-2019 WaveMaker, Inc. All rights reserved.