Cmdlets for GraphQL

Build 23.0.8839


General Changes

  • The ROUND function doesn't accept the negative precision values anymore.

  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
06/29/20238580PowerShell CmdletsRemoved
  • Removed support for .NET 2.0
  • Added the new sys_lastresultinfo system table.
  • Columns with a GraphQL type of "Float" - defined as a "signed double-precision finite value" - will be pushed having a data type of "double".
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
  • Added support for using PKCE with the authorization code OAuth grant type.
  • Added the Default column to the sys_procedureparameters table.
  • Added support for flatenning arguments of type "INPUT_OBJECT". The depth can be controlled by the ExpandArgumentsDepth connection property.

  • Optimized metadata discovery. If a specific argument is the plural form ("subregions") of a column ("subregion") it will not be pushed anymore as a separate column but it will be used as a serverside filter for the column ("subregion").
  • Added support for custom scalar types as pagination arguments.
  • Added "cursorType", "offsetArgumentType", and "pageSizeArgumentType" as extra customizable table info in generated schema files.
  • Added the IsPath column to the sys_procedureparameters table.
  • Added the ExposeDynamicProcedures connection property.
  • Added the ExpandTemporaryTablesDepth connection property.
  • Added support for the AwsCognitoBasic and AwsCognitoSrp authentication methods. They can be used when connecting to the AWS AppSync service.
  • Added support for executing the IN operation server side when the argument type is of type LIST. This will be detected automatically based on the introspection schema.To add support for the IN operator in previously generated scripts you must modify the "other:filter" extra info from "other:filter=id:=" to "other:filter=id:=,IN".
  • Added support for Offset pagination on GraphQL objects of type LIST.

  • Renamed the "other:pageInfoObjects" table extra info to "other:paginationObjects".

  • Removed the "other:paginationType" table extra info.
  • Added support for exposing tables and columns dynamically based on the INTROSPECTION mechanism of the GraphQL service. The metadata output can be controlled with the following properties:1) ExpandTablesDepth2) ExpandColumnsDepth3) IncludeDeprecatedMetadata
  • Added support for exposing GraphQL mutations as stored procedures. If a mutation has fields of type LIST, we will push a temporary table foreach of them. These tables will be of type "TEMPORARY TABLE" and are listed when selecting from "sys_tables". Example of a complex mutation:
    statement.execute("INSERT INTO productCreate_metafields#TEMP(namespace,key,value,type) VALUES('MRproductInfo','ALU','449788022','string')");
    statement.execute("INSERT INTO productCreate_variants#TEMP(RowId,price,sku,inventoryManagement,weightUnit,weight,options,metafields,inventoryQuantities) VALUES(1,'39.99','38536314-0acb-4d3f-b8ff-a0f2014d2c75','SHOPIFY','POUNDS',1,'L,XL,XXL','productCreate_variants_metafields#TEMP','productCreate_variants_inventoryQuantities#TEMP')");
    statement.execute("INSERT INTO productCreate_variants_metafields#TEMP(ParentId,namespace,key,value,type) VALUES('1','MRproductInfo','ALU','449788022-M-','string')");
    statement.execute("INSERT INTO productCreate_variants_metafields#TEMP(ParentId,namespace,key,value,type) VALUES('1','MRproductInfo','ItemNumber','400000881201','string')");
    statement.execute("INSERT INTO productCreate_variants_inventoryQuantities#TEMP(ParentId,locationId,availableQuantity) VALUES('1','gid://shopify/Location/1448223412312389678762340087',5)");
    statement.execute("INSERT INTO productCreate_media#TEMP(originalSource,alt,mediaContentType) VALUES('','Magic Shoes','IMAGE')");
    statement.execute("EXECUTE productCreate title='Shoes - 449788022', descriptionHtml=' - MEN\\'S SHOES 42-MENS L/S TEES'," +
    " productType='Staging', vendor='Shoes Company', published='false', options='size,width'," +
    " metafields='productCreate_metafields#TEMP', variants='productCreate_variants#TEMP', media='productCreate_media#TEMP'");
  • Added support for aggregate columns. The "other:fragment" extra info is required to specify the desired group of fields. Ex:
    attr name="ColumnValues" xs:type="string" other:relativePath="column_values" desc="Column values." other:fragment="fragment ItemColumnValues on ColumnValue { id \\r\\n value }" 
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
  • Added the KeySeq column to the sys_foreignkeys table.
  • Added the new sys_primarykeys system table.
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
  • Reduced the length to 255 for varchar primary key and foreign key columns.

  • Updated index naming convention to avoid duplicates.
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
04/16/20217776PowerShell CmdletsAdded
  • Added support for PowerShell 7.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839