SlideShare a Scribd company logo
OPENNTF WEBINARS
September Webinar - What's New with Domino Query
Language with John Curtis from HCL
AGENDA
• Welcome – Howard Greenberg
• John Curtis
• Questions – Graham Acres
ASKING QUESTIONS
• First Question – Will this be recorded?
• Yes, view on YouTube!!!
• https://www.youtube.com/user/OpenNTF
• Use the Questions Pane in GoToWebinar
• We will get to your questions at the end of
the webinar
• The speakers will respond to your questions
verbally
• (not in the Questions pane)
• Please keep all questions related to the
topics that our speakers are discussing!!!
• Unrelated Question => post at:
• http://openntf.slack.com/
THANKS TO THE OPENNTF SPONSORS
• HCL made a significant contribution to help our
organization
• Funds these webinars!
• Contests like Hackathons
• Running the organization
• Prominic donates all IT related services
• Cloud Hosting for OpenNTF
• Infrastructure management for HCL Domino and Atlassian
Servers
• System Administration for day-to-day operation
THIS IS OUR COMMUNITY
• Join us and get involved!
• We are all volunteers
• No effort is too small
• If your idea is bigger than you can do on your own, we
can connect you to a team to work on it
• Test or help or modify an existing project
• Write guides or documentation
• Add reviews on projects / stars on Snippets
NEXT WEBINAR
• October 22, 2020
• Michael Smith – A Flexible View Control for XPages
• Signup at https://openntf.org/webinars
UPCOMING EVENTS
• Let’s Connect Virtual Event – September 29-30
• https://letsconnect.world/agenda/
• Collabsphere – October 27-29
• https://collabsphere.org/ug/cs2020.nsf/index.html
• DNUG – monthly online events
• https://dnug.de/en/dnug47online-2/
8 | Copyright © 2019 HCL Technologies Limited | www.hcltech.com8 | Technology for the Next Decade, Today Copyright © 2019 HCL Technologies Limited | www.hcltechsw.com
What's New with Domino Query
Language (and Domino Appdev)
John Curtis
Software Architect, Project Lead, Domino Development
HCL Digital Solutions
@john_d_curtis_
http://www.jdcurtis.blog
john_curtis@pnp-hcl.com
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com
DQL Evolution
October 2018
December 2018
1H-2021
March 2020
• Consolidation of Domino search and
results processing
• Constant improvement in
• Performance
• Capability
• Multiple venues and
programming models
December 2019
DQL V1
FT Support
Inboard catalog
FT Support completed
Statistics
Performance
Results processing (sort, federation, joins)
Formula Language inclusion
v11.0.1 DQL Features
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Complete full text index utilization – enable numeric
and date terms to take advantage of FT indexes
▪ 5-200X improvement in speed
▪ DQL plan and costing executes FT terms first, then views,
then NSF scans
▪ Seamless – existing DQL syntax will work automatically on
terms and across Boolean operators
▪ Caveats/limitations:
➢ Single-occurrence fields only (Domino does NOT FT index multiple
field values of numbers and dates)
➢ No TIMEs in the datetime values, only dates
v11.0.1 DQL Features
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• DQL search strategy by term type
Term type Full Text Search View Search NSF Scan
field = ‘text’? No Yes Yes
field contains (‘Text’) Yes No No
field = 123122 Yes * Yes Yes
field > ‘text’ No Yes Yes
field < 123122 Yes * Yes Yes
field = @dt(‘2020-09-17’) Yes * Yes Yes
field > @dt(‘2020-09-17’) Yes * Yes Yes
field = @dt(‘2020-09-17T11:00:00.00’) No Yes Yes
* = single occurrence only (FT search does NOT handle ranges or lists)
v11.0.1 DQL Features (continued)
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• DQL statistics
▪ Avg, max, min by term type
and overall
▪ “show stat query*”
• Enhanced Boolean
optimization
▪ Deeper results injection
▪ Reduces view and especially
NSF scan processing for
much faster query times
v12 Early Access September 2020 drop DQL Features
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• DQL client/server
▪ DominoQuery working against remote databases (not
supported till now)
▪ Transaction appears in the “show trans” list from the
Domino console
▪ Full support for substitution variables, entire DQL syntax
v12 Early Access September 2020 drop DQL Features (continued)
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Embedded Formula Language
▪ Syntax
▪ @FL or @formula (case insensitive)
▪ Embedded syntax enclosed in single quotes
@fl(‘@length > 2320)
@FORMULA(‘@left(fld1;3) = "abl" or @left(fld2;2) = "ab“’)
▪ Provides
▪ Intra-document terms (between different fields)
▪ Full expression support
▪ HUGE library of existing functionality
v12 Early Access September 2020 drop DQL Features (continued)
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Embedded Formula Language (continued)
▪ Support for substitution variables
@fl(‘@length’) > ?lengthvar
@formula(‘@left(fld1;3)’) = ?fld1var or @FL(‘@left(fld2;2)’) = ?fld2var
▪ Complete compatibility with the rest of DQL
▪ All formula language terms satisfied via NSF scanning
▪ All ANDed/ORed terms satisfied with a single pass
▪ Current implementation
▪ 256-byte maximum Formula Language syntax allowed
▪ No substitution variable support for an entire FL string
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
DEMO
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Results processing
▪ Extensive handling of document collections
➢ NOT just DQL – ALL document collections
▪ Across multiple databases and database schemas
▪ Flexible computed values everywhere
▪ Sorting (including categorization)
▪ Combine rules (joins, lookups, etc.)
▪ Aggregate function support
▪ Impossible to avoid complexity
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Results processing (continued) – the details
▪ (Notes)QueryResultProcessor
➢ New backend (Java/Lotusscript) class
➢ Supplied lists of data and other classes working together
➢ Builds on known classes never combined or used this way before
➢ Extensive capabilities, multiple output formats and objects
➢ Low code? Not so much, but let’s build one to see
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor (continued) – methods
▪ AddSortColumn(programmatic name, column title, sort order,
hidden, categorized)
▪ Akin to creating a view column on the fly
▪ In fact, one of the output types IS a view
▪ May add additional attributes but those shown should be
familiar from use in Designer
▪ REMEMBER the programmatic name – it will appear again in
other calls
▪ If NOT overridden, will be used as a field name to fetch
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor (continued) – methods
▪ AddDocumentCollection((Notes)DocumentCollection doccol,
collection name)
… or …
▪ AddDominoQuery ((Notes)DominoQuery, collection name)
▪ (Notes)DocumentCollection can be created against any
database using any means (db.search, ftsearch,
getalldocumentsbykey or DQL)
▪ DominoQuery option will also execute DQL for you
▪ Remember collection name – will appear later
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor (continued) – methods
▪ AddFormula(document collection name, programmatic column
name, formula)
➢ Used to override the programmatic name with a formula to
compute and fetch values for processing by the results engine
➢ Can use one call to override the formula for multiple document
collections using wildcards
Addsortcolumn (“name”, “Name Column Title”, “ascending” … ) …
AddDocumentCollection(doccol, “doccol1”) .. e.g. from db.search - database 1
AddDocumentCollection(doccol2, “doccol2) .. e.g. from ftsearch - database 2
AddFormula(“doccol*”, “name”, “@Propercase(NameField)”)
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor (continued) – methods
▪ AddCombineRule (left programmatic name, rule, right
programmatic name)
➢ Prior to sort or view create, combine data using the sort columns
(with applied formulas) using the specified rule (or method)
➢ “Join” is the most familiar rule type, also keyword lookup ++
▪ SetOutputType (type, viewname, streamtype)
➢ View (with name) or stream (with streamtype)
▪ Execute (run the result processor)
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor how it works
Sort
doccol1
DQL1
ftdoccol
Dbsearch
doccol
DQL2
Combine Fetch
View
Specified
output
Input
(Notes)DocumentCollections
Optional join/lookup
Quick fetch
including DQL executes
(uses formula overrides
Domino sort service
(with streaming optimization)
or
v12 Work in progress
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• (Notes)QueryResultProcessor additional information
▪ NEW - Sort package is decoupled from view building
➢ In stream mode, we don’t need to wait for a completed view
build
▪ Separate column formulas for each DocumentCollection
▪ Views created can be used and discarded or retained
➢ Given input DocumentCollections, views cannot be refreshed
➢ Document security problem (multi-db documents have multiple
readers and authors lists)
▪ Join strategies – sort/merge and nested loop using views or
FT indexes
Early Access September 2020 drop non-DQL Feature
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Domino Transaction Support in Lotusscript/Java
▪ (Notes)Database object has 3 new methods
➢ TransactionBegin – starts a unit of work
➢ TransactionCommit – completes a unit of work
➢ TransactionRollback – aborts everything since TransactionBegin
▪ Automatic rollback happens when
➢ Database object is closed or goes out of scope
➢ Agent is terminated
▪ Large, uncommitted transactions can cause log file full (crash)
▪ Transactions cannot nest (one db, one level, one at a time)
v12 Work in progress – non-DQL
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Field length limit relief
▪ Aha idea - https://domino-ideas.hcltechsw.com/ideas/DDXP-I-5
▪ Traditional limits:
➢ 32k limitation on field size
➢ 62k limitation on document summaries
• Other problems:
➢ Better error messages when limits are hit
➢ Support in views and folders for larger fields
➢ Designer support (code size)
➢ Other Domino limitations – like 32k Lotusscript arrays
v12 Work in progress – non-DQL
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Field length limit relief (continued)
• (load) compact <db> -ls (or -largesummary) on
➢ First delivered ~ 9.01FP8
➢ New max sizes:
✓ All fields (text lists or number or time ranges) – 64K
✓ Document summary size - 16MB (had been 62k)
➢ Requires compact to ODS 52
• Have you tried this?
v12 Work in progress – non-DQL
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Field length limit relief (continued)
▪ Multiple core API and persistent data structure changes
▪ Will require a new ODS and large summaries enabled
▪ Only the max summary size (16MB) will remain –
➢ That is, the SUM of the lengths of all summary fields
➢ No size limit within the 16MB for individual summary fields
▪ Nonsummary fields can be up to 4GB (not a typo)
▪ Retain a hard limit on view-indexable fields (64K)
v12 Work in progress – non-DQL
Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com
• Field length limit relief (continued)
• “Field is too large (32K) or View's column & selection formulas
are too large”
➢ Catch-all, multiple venues and error states throw the error
➢ Often is the SUM of field lengths generating the error – no one
field is responsible
• Effort for v12 – separate the states into 2 types and improve –
➢ Overall summary size – provide a document summary “map” to
show sizes only
➢ Individual fields – include field name in the message
30
Q&A

More Related Content

What's hot

5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
ESUG
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
Pantheon
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
Suzanne Dergacheva
 
A Personal Journey
A Personal JourneyA Personal Journey
A Personal Journey
Michael Lihs
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
Kim Frehe
 
Engage 2018 adm04 - The lazy admin wins
Engage 2018   adm04 - The lazy admin winsEngage 2018   adm04 - The lazy admin wins
Engage 2018 adm04 - The lazy admin wins
Matteo Bisi
 
Behavioral driven development with Behat
Behavioral driven development with BehatBehavioral driven development with Behat
Behavioral driven development with Behat
Promet Source
 
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 MigrationDrupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Cyber-Duck
 
Composer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.pptComposer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.ppt
Promet Source
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Milan Matejic
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019
Mike Douglas
 
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
Matteo Bisi
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Brian Culver
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2
Derek Jacoby
 
Untangling spring week6
Untangling spring week6Untangling spring week6
Untangling spring week6
Derek Jacoby
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
Thomas Daly
 
[20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team][20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team]
Wong Hoi Sing Edison
 
Using Features
Using FeaturesUsing Features
Using Features
Alexandru Badiu
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
Wong Hoi Sing Edison
 

What's hot (20)

5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
A Personal Journey
A Personal JourneyA Personal Journey
A Personal Journey
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
 
Engage 2018 adm04 - The lazy admin wins
Engage 2018   adm04 - The lazy admin winsEngage 2018   adm04 - The lazy admin wins
Engage 2018 adm04 - The lazy admin wins
 
Behavioral driven development with Behat
Behavioral driven development with BehatBehavioral driven development with Behat
Behavioral driven development with Behat
 
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 MigrationDrupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
 
Composer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.pptComposer tools and frameworks for drupal.ppt
Composer tools and frameworks for drupal.ppt
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019
 
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
Engage 2020 - Ad19. Engaging users with HCL Connections Touchpoint and User I...
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Untangling spring week2
Untangling spring week2Untangling spring week2
Untangling spring week2
 
Untangling spring week6
Untangling spring week6Untangling spring week6
Untangling spring week6
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
[20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team][20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team]
 
Using Features
Using FeaturesUsing Features
Using Features
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 

Similar to OpenNTF Webinar Series: DQL with John Curtis September 2020

DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
Stan Doherty
 
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
InfluxData
 
Nu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.comNu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.com
Day Software
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
Frank van der Linden
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
Serdar Basegmez
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
 
Html5
Html5Html5
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid World
Tanel Poder
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
500Tech
 
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Serdar Basegmez
 
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Rainer Stropek
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on Hadoop
Senturus
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
Kevin A Williams
Kevin A WilliamsKevin A Williams
Kevin A Williams
Kevin Williams
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
NETFest
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
Juraj Hantak
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
Lalit Sharma
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAP
Youssef Bennani
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
Howard Greenberg
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
markgrover
 

Similar to OpenNTF Webinar Series: DQL with John Curtis September 2020 (20)

DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
 
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
 
Nu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.comNu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.com
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
 
Html5
Html5Html5
Html5
 
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid World
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
 
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
 
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on Hadoop
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
Kevin A Williams
Kevin A WilliamsKevin A Williams
Kevin A Williams
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAP
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 

Recently uploaded

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

OpenNTF Webinar Series: DQL with John Curtis September 2020

  • 1. OPENNTF WEBINARS September Webinar - What's New with Domino Query Language with John Curtis from HCL
  • 2. AGENDA • Welcome – Howard Greenberg • John Curtis • Questions – Graham Acres
  • 3. ASKING QUESTIONS • First Question – Will this be recorded? • Yes, view on YouTube!!! • https://www.youtube.com/user/OpenNTF • Use the Questions Pane in GoToWebinar • We will get to your questions at the end of the webinar • The speakers will respond to your questions verbally • (not in the Questions pane) • Please keep all questions related to the topics that our speakers are discussing!!! • Unrelated Question => post at: • http://openntf.slack.com/
  • 4. THANKS TO THE OPENNTF SPONSORS • HCL made a significant contribution to help our organization • Funds these webinars! • Contests like Hackathons • Running the organization • Prominic donates all IT related services • Cloud Hosting for OpenNTF • Infrastructure management for HCL Domino and Atlassian Servers • System Administration for day-to-day operation
  • 5. THIS IS OUR COMMUNITY • Join us and get involved! • We are all volunteers • No effort is too small • If your idea is bigger than you can do on your own, we can connect you to a team to work on it • Test or help or modify an existing project • Write guides or documentation • Add reviews on projects / stars on Snippets
  • 6. NEXT WEBINAR • October 22, 2020 • Michael Smith – A Flexible View Control for XPages • Signup at https://openntf.org/webinars
  • 7. UPCOMING EVENTS • Let’s Connect Virtual Event – September 29-30 • https://letsconnect.world/agenda/ • Collabsphere – October 27-29 • https://collabsphere.org/ug/cs2020.nsf/index.html • DNUG – monthly online events • https://dnug.de/en/dnug47online-2/
  • 8. 8 | Copyright © 2019 HCL Technologies Limited | www.hcltech.com8 | Technology for the Next Decade, Today Copyright © 2019 HCL Technologies Limited | www.hcltechsw.com What's New with Domino Query Language (and Domino Appdev) John Curtis Software Architect, Project Lead, Domino Development HCL Digital Solutions @john_d_curtis_ http://www.jdcurtis.blog john_curtis@pnp-hcl.com
  • 9. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com DQL Evolution October 2018 December 2018 1H-2021 March 2020 • Consolidation of Domino search and results processing • Constant improvement in • Performance • Capability • Multiple venues and programming models December 2019 DQL V1 FT Support Inboard catalog FT Support completed Statistics Performance Results processing (sort, federation, joins) Formula Language inclusion
  • 10. v11.0.1 DQL Features Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Complete full text index utilization – enable numeric and date terms to take advantage of FT indexes ▪ 5-200X improvement in speed ▪ DQL plan and costing executes FT terms first, then views, then NSF scans ▪ Seamless – existing DQL syntax will work automatically on terms and across Boolean operators ▪ Caveats/limitations: ➢ Single-occurrence fields only (Domino does NOT FT index multiple field values of numbers and dates) ➢ No TIMEs in the datetime values, only dates
  • 11. v11.0.1 DQL Features Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • DQL search strategy by term type Term type Full Text Search View Search NSF Scan field = ‘text’? No Yes Yes field contains (‘Text’) Yes No No field = 123122 Yes * Yes Yes field > ‘text’ No Yes Yes field < 123122 Yes * Yes Yes field = @dt(‘2020-09-17’) Yes * Yes Yes field > @dt(‘2020-09-17’) Yes * Yes Yes field = @dt(‘2020-09-17T11:00:00.00’) No Yes Yes * = single occurrence only (FT search does NOT handle ranges or lists)
  • 12. v11.0.1 DQL Features (continued) Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • DQL statistics ▪ Avg, max, min by term type and overall ▪ “show stat query*” • Enhanced Boolean optimization ▪ Deeper results injection ▪ Reduces view and especially NSF scan processing for much faster query times
  • 13. v12 Early Access September 2020 drop DQL Features Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • DQL client/server ▪ DominoQuery working against remote databases (not supported till now) ▪ Transaction appears in the “show trans” list from the Domino console ▪ Full support for substitution variables, entire DQL syntax
  • 14. v12 Early Access September 2020 drop DQL Features (continued) Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Embedded Formula Language ▪ Syntax ▪ @FL or @formula (case insensitive) ▪ Embedded syntax enclosed in single quotes @fl(‘@length > 2320) @FORMULA(‘@left(fld1;3) = "abl" or @left(fld2;2) = "ab“’) ▪ Provides ▪ Intra-document terms (between different fields) ▪ Full expression support ▪ HUGE library of existing functionality
  • 15. v12 Early Access September 2020 drop DQL Features (continued) Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Embedded Formula Language (continued) ▪ Support for substitution variables @fl(‘@length’) > ?lengthvar @formula(‘@left(fld1;3)’) = ?fld1var or @FL(‘@left(fld2;2)’) = ?fld2var ▪ Complete compatibility with the rest of DQL ▪ All formula language terms satisfied via NSF scanning ▪ All ANDed/ORed terms satisfied with a single pass ▪ Current implementation ▪ 256-byte maximum Formula Language syntax allowed ▪ No substitution variable support for an entire FL string
  • 16. Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com DEMO
  • 17. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Results processing ▪ Extensive handling of document collections ➢ NOT just DQL – ALL document collections ▪ Across multiple databases and database schemas ▪ Flexible computed values everywhere ▪ Sorting (including categorization) ▪ Combine rules (joins, lookups, etc.) ▪ Aggregate function support ▪ Impossible to avoid complexity
  • 18. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Results processing (continued) – the details ▪ (Notes)QueryResultProcessor ➢ New backend (Java/Lotusscript) class ➢ Supplied lists of data and other classes working together ➢ Builds on known classes never combined or used this way before ➢ Extensive capabilities, multiple output formats and objects ➢ Low code? Not so much, but let’s build one to see
  • 19. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor (continued) – methods ▪ AddSortColumn(programmatic name, column title, sort order, hidden, categorized) ▪ Akin to creating a view column on the fly ▪ In fact, one of the output types IS a view ▪ May add additional attributes but those shown should be familiar from use in Designer ▪ REMEMBER the programmatic name – it will appear again in other calls ▪ If NOT overridden, will be used as a field name to fetch
  • 20. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor (continued) – methods ▪ AddDocumentCollection((Notes)DocumentCollection doccol, collection name) … or … ▪ AddDominoQuery ((Notes)DominoQuery, collection name) ▪ (Notes)DocumentCollection can be created against any database using any means (db.search, ftsearch, getalldocumentsbykey or DQL) ▪ DominoQuery option will also execute DQL for you ▪ Remember collection name – will appear later
  • 21. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor (continued) – methods ▪ AddFormula(document collection name, programmatic column name, formula) ➢ Used to override the programmatic name with a formula to compute and fetch values for processing by the results engine ➢ Can use one call to override the formula for multiple document collections using wildcards Addsortcolumn (“name”, “Name Column Title”, “ascending” … ) … AddDocumentCollection(doccol, “doccol1”) .. e.g. from db.search - database 1 AddDocumentCollection(doccol2, “doccol2) .. e.g. from ftsearch - database 2 AddFormula(“doccol*”, “name”, “@Propercase(NameField)”)
  • 22. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor (continued) – methods ▪ AddCombineRule (left programmatic name, rule, right programmatic name) ➢ Prior to sort or view create, combine data using the sort columns (with applied formulas) using the specified rule (or method) ➢ “Join” is the most familiar rule type, also keyword lookup ++ ▪ SetOutputType (type, viewname, streamtype) ➢ View (with name) or stream (with streamtype) ▪ Execute (run the result processor)
  • 23. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor how it works Sort doccol1 DQL1 ftdoccol Dbsearch doccol DQL2 Combine Fetch View Specified output Input (Notes)DocumentCollections Optional join/lookup Quick fetch including DQL executes (uses formula overrides Domino sort service (with streaming optimization) or
  • 24. v12 Work in progress Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • (Notes)QueryResultProcessor additional information ▪ NEW - Sort package is decoupled from view building ➢ In stream mode, we don’t need to wait for a completed view build ▪ Separate column formulas for each DocumentCollection ▪ Views created can be used and discarded or retained ➢ Given input DocumentCollections, views cannot be refreshed ➢ Document security problem (multi-db documents have multiple readers and authors lists) ▪ Join strategies – sort/merge and nested loop using views or FT indexes
  • 25. Early Access September 2020 drop non-DQL Feature Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Domino Transaction Support in Lotusscript/Java ▪ (Notes)Database object has 3 new methods ➢ TransactionBegin – starts a unit of work ➢ TransactionCommit – completes a unit of work ➢ TransactionRollback – aborts everything since TransactionBegin ▪ Automatic rollback happens when ➢ Database object is closed or goes out of scope ➢ Agent is terminated ▪ Large, uncommitted transactions can cause log file full (crash) ▪ Transactions cannot nest (one db, one level, one at a time)
  • 26. v12 Work in progress – non-DQL Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Field length limit relief ▪ Aha idea - https://domino-ideas.hcltechsw.com/ideas/DDXP-I-5 ▪ Traditional limits: ➢ 32k limitation on field size ➢ 62k limitation on document summaries • Other problems: ➢ Better error messages when limits are hit ➢ Support in views and folders for larger fields ➢ Designer support (code size) ➢ Other Domino limitations – like 32k Lotusscript arrays
  • 27. v12 Work in progress – non-DQL Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Field length limit relief (continued) • (load) compact <db> -ls (or -largesummary) on ➢ First delivered ~ 9.01FP8 ➢ New max sizes: ✓ All fields (text lists or number or time ranges) – 64K ✓ Document summary size - 16MB (had been 62k) ➢ Requires compact to ODS 52 • Have you tried this?
  • 28. v12 Work in progress – non-DQL Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Field length limit relief (continued) ▪ Multiple core API and persistent data structure changes ▪ Will require a new ODS and large summaries enabled ▪ Only the max summary size (16MB) will remain – ➢ That is, the SUM of the lengths of all summary fields ➢ No size limit within the 16MB for individual summary fields ▪ Nonsummary fields can be up to 4GB (not a typo) ▪ Retain a hard limit on view-indexable fields (64K)
  • 29. v12 Work in progress – non-DQL Copyright © 2020 HC L Technologies Limited | www.hcltechsw.com • Field length limit relief (continued) • “Field is too large (32K) or View's column & selection formulas are too large” ➢ Catch-all, multiple venues and error states throw the error ➢ Often is the SUM of field lengths generating the error – no one field is responsible • Effort for v12 – separate the states into 2 types and improve – ➢ Overall summary size – provide a document summary “map” to show sizes only ➢ Individual fields – include field name in the message