The document introduces PLSQL Commons, an open source project that aims to create reusable PLSQL components. It provides an overview of the current status and components available, including those for parallel processing, exception management, testing, logging, performance measurement, and general utilities. Examples are given to illustrate how different components like plsql_async and plsql_test can be used. Developers are encouraged to try out PLSQL Commons and provide feedback to help enrich the toolkit.
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLReactive.IO
When you start tackling complex high-volume data problems, SQL might not be enough. When your logic needs to be close to your data, PostgreSQL has a secret weapon, PL/pgSQL. An imperative language that extends SQL, PL/pgSQL lets you execute complex read and write logic directly on the database. The benefits include increased speed and concurrency, code reuse among many applications, strong consistency guarantees, and greater query flexibility.
This presentation will show you how PL/pgSQL functions can speed up your indexes, accelerate complex queries, activate custom triggers on data changes, and handle complex write situations. Afterwards, you will be able to take control of your data directly at the source, within PostgreSQL itself.
Key points discussed:
* PL/pgSQL: what it is and why it matters
* Volatility: living in an uncertain data world
* Upserts: a little update with a little insert
* Triggers: keeping data consistent
* Code Blocks: control when you need it
SQL examples given during the presentation are available here: http://www.reactive.io/academy/presentations/postgresql/plpgsql/plpgsql-examples.zip
Java ain't scary - introducing Java to PL/SQL DevelopersLucas Jellema
Many PL/SQL developers are a little scared of Java. They may have tried a little, but were driven off by J(2)EE architects and Java purists with terms like polymorphism and object oriented application design. This presentations tries to lower the threshold by introducing Java to PL/SQL developers by looking at the similarities. Both PL/SQL and Java are 3GL programming languages that a lot in common. Both are platform independent an run on a Virtual Machine (the Oracle Database in the case of PL/SQL). And even the OO specific characteristics of Java can be introduced using many familiar concepts.
This presentation was held on 5th April 2012 at AMIS (Nieuwegein, The Netherlands) to a group of Java-fearing PL/SQL veterans. Most of them came out of the session feeling that they dared to take Java on now, having seen it demystified. Some even felt inspired to really start learning Java in anger.
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLReactive.IO
When you start tackling complex high-volume data problems, SQL might not be enough. When your logic needs to be close to your data, PostgreSQL has a secret weapon, PL/pgSQL. An imperative language that extends SQL, PL/pgSQL lets you execute complex read and write logic directly on the database. The benefits include increased speed and concurrency, code reuse among many applications, strong consistency guarantees, and greater query flexibility.
This presentation will show you how PL/pgSQL functions can speed up your indexes, accelerate complex queries, activate custom triggers on data changes, and handle complex write situations. Afterwards, you will be able to take control of your data directly at the source, within PostgreSQL itself.
Key points discussed:
* PL/pgSQL: what it is and why it matters
* Volatility: living in an uncertain data world
* Upserts: a little update with a little insert
* Triggers: keeping data consistent
* Code Blocks: control when you need it
SQL examples given during the presentation are available here: http://www.reactive.io/academy/presentations/postgresql/plpgsql/plpgsql-examples.zip
Java ain't scary - introducing Java to PL/SQL DevelopersLucas Jellema
Many PL/SQL developers are a little scared of Java. They may have tried a little, but were driven off by J(2)EE architects and Java purists with terms like polymorphism and object oriented application design. This presentations tries to lower the threshold by introducing Java to PL/SQL developers by looking at the similarities. Both PL/SQL and Java are 3GL programming languages that a lot in common. Both are platform independent an run on a Virtual Machine (the Oracle Database in the case of PL/SQL). And even the OO specific characteristics of Java can be introduced using many familiar concepts.
This presentation was held on 5th April 2012 at AMIS (Nieuwegein, The Netherlands) to a group of Java-fearing PL/SQL veterans. Most of them came out of the session feeling that they dared to take Java on now, having seen it demystified. Some even felt inspired to really start learning Java in anger.
Woo hoo!
18c Qualified expressions for collections and records
Whitelisting with the ACCESSIBLE_BY Clause
More PL/SQL-Only Data Types Cross PL/SQL-to-SQL Interface
Optimizing Function Execution in SQL
The UTL_CALL_STACK Package
Privileges/Access Management for Program Units
Static Expressions In Place of Literals
Marking elements for deprecation
PL/Scope now includes SQL statements in its analysis
Java 9 is just around the corner, and yet many of us developers have yet to use Java 8 features in an application. The goal of this presentation is to move beyond slide-sized examples of streams and lambdas, and to show how to build a fully working end-to-end application using just the core libraries available in the latest version of Java.
In this session, Trisha will build a Java 8 application live. This application will consume a real-time feed of high velocity data, contain services that make sense of the data, and present it in a JavaFX dashboard. Along the way, we’ll encounter Java 8 streams, lambdas, new ways of working with collections, and probably bump into the new date and time API.
This module has full support for server and client side HTTP backed by Akka actors and Akka Streams. Akka Http is very flexible toolkit generally used for building REST APIs using high-level APIs by defining routes by using inbuilt routing directives.
Antes de migrar de 10g a 11g o 12c, tome en cuenta las siguientes consideraciones. No es tan sencillo como simplemente cambiar de motor de base de datos, se necesita hacer consideraciones a nivel del aplicativo.
Woo hoo!
18c Qualified expressions for collections and records
Whitelisting with the ACCESSIBLE_BY Clause
More PL/SQL-Only Data Types Cross PL/SQL-to-SQL Interface
Optimizing Function Execution in SQL
The UTL_CALL_STACK Package
Privileges/Access Management for Program Units
Static Expressions In Place of Literals
Marking elements for deprecation
PL/Scope now includes SQL statements in its analysis
Java 9 is just around the corner, and yet many of us developers have yet to use Java 8 features in an application. The goal of this presentation is to move beyond slide-sized examples of streams and lambdas, and to show how to build a fully working end-to-end application using just the core libraries available in the latest version of Java.
In this session, Trisha will build a Java 8 application live. This application will consume a real-time feed of high velocity data, contain services that make sense of the data, and present it in a JavaFX dashboard. Along the way, we’ll encounter Java 8 streams, lambdas, new ways of working with collections, and probably bump into the new date and time API.
This module has full support for server and client side HTTP backed by Akka actors and Akka Streams. Akka Http is very flexible toolkit generally used for building REST APIs using high-level APIs by defining routes by using inbuilt routing directives.
Antes de migrar de 10g a 11g o 12c, tome en cuenta las siguientes consideraciones. No es tan sencillo como simplemente cambiar de motor de base de datos, se necesita hacer consideraciones a nivel del aplicativo.
Declarative benchmarking of cassandra and it's data modelsMonal Daxini
With the Netflix’s large cassandra footprint there are lots of interesting data models both new and evolving and we have different versions of cassandra.
Hence, developing or evolving scalable data models takes iterations in application code, schema and configurations to achieve desired functional and scalability requirements.
I will share use cases and details about how we make it easy for engineers to validate Cassandra data models across versions, and configuration tweaks to assure application scalability.
Apache Flink Overview at SF Spark and FriendsStephan Ewen
Introductory presentation for Apache Flink, with bias towards streaming data analysis features in Flink. Shown at the San Francisco Spark and Friends Meetup
Training Slides: 153 - Working with the CLIContinuent
Watch this 55min training session to learn about the main command line tools you’ll be using when working with Tungsten Replicator.
TOPICS COVERED
- Re-cap the previous Installation
- Explore the main Command Line Tools
- tpm
- trepctl
- thl
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?Markus Michalewicz
Oracle Real Application Clusters (Oracle RAC) is the preferred availability and scalability solution for Oracle Databases, as most applications can benefit from its capabilities without making any changes. This mini session explains the secrets behind Oracle RAC’s horizontal scaling algorithm, Cache Fusion, and how you can test and ensure that your application is “Oracle RAC ready.”
This deck was first presented in OOW19 as an AskTom theater / mini session and will be presented as a full version in other conferences going forward at which time I will provide an updated version of the deck.
20160609 nike techtalks reactive applications tools of the tradeshinolajla
An update to my talk about concurrency abstractions, including event loops (node.js and Vert.x), CSP (Go, Clojure), Futures, CPS/Dataflow (RxJava) and Actors (Erlang, Akka)
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015Till Rohrmann
How to scale recommendations to extremely large scale using Apache Flink. We use matrix factorization to calculate a latent factor model which can be used for collaborative filtering. The implemented alternating least squares algorithm is able to deal with data sizes on the scale of Netflix.
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3Elixir Club
Доповідь Максима Пугача, Team Lead/Software Engineer at LITSLINK, на Elixir Evening Club 3, Kyiv, 13.12.2018
Наступна конференція - http://www.elixirkyiv.club/
A boss of mine once told me "Just see, my poorly written Vert.x app outperforms my poorly written Elixir app". Now it is time to take up the gauntlet.
Cлідкуйте за нами у соцмережах @ElixirClubUA та #ElixirClubUA
Анонси та матеріали конференцій - https://www.fb.me/ElixirClubUA
Новини - https://twitter.com/ElixirClubUA
Фото та невимушена атмосфера - https://www.instagram.com/ElixirClubUA
*Канал організаторів мітапа - https://t.me/incredevly
Reactive Programming, Traits and Principles. What is Reactive, where does it come from, and what is it good for? How does it differ from event driven programming? It only functional?
Distributed Performance testing by funkloadAkhil Singh
Distributed Performance testing by funkload, sysbench.
These slides briefs the load and stress testing on apache, nginx, redis, mysql servers by using funkload and sysbench. Testing is done on a single master node setup on kubernetes cluster.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
2. Agenda
1 Serving a need
2 What PLSQL Commons can do for you
3 How you can make a difference
Page 2 PLSQL Commons v1.0
3. Serving a need
Reusable PLSQL Components
PLSQL Commons is a project focused on creating and maintaining
reusable PLSQL components.
Components that will enrich the PLSQL programmer's toolkit
Components that promote the programmers shift from solving purely
technical problems to actual business problems
Page 3 PLSQL Commons v1.0
4. Serving a need
Reusable PLSQL Components
PLSQL Commons is used by a CRM service provider of General Motors
to handle their specific needs
Used on their production Oracle database servers as the defacto standard
components for the past three years
Page 4 PLSQL Commons v1.0
5. What PLSQL Commons can do for you
Current status
Practical applications
Page 5 PLSQL Commons v1.0
6. Current Status
There are several upcoming sandbox components not mentioned.
This presentation will focus on just a few components.
Component Focus
plsql_async Parallel processing of tasks
plsql_cache General purpose memory based caching
plsql_error Exception management
plsql_file Reading and writing operating system text files
plsql_ftp Copy a file from one host to another based on the ftp protocol.
plsql_host Executing a command in the host environment
plsql_log Logging application behavior
plsql_match Text search engine
plsql_test Writing repeatable unit tests
plsql_timeit Measuring the execution time of a program unit
plsql_util General purpose utilities
plsql_soap Lightweight webservices based on the soap protocol
Page 6 PLSQL Commons v1.0
7. Practical Applications
Parallel processing of tasks
Imagine a potential pipeline of an ETL process to load CRM data.
The pipeline passes several processing elements.
Page 7 PLSQL Commons v1.0
8. Practical Applications
Parallel processing of tasks
If the elements Address and Communication are independent.
The pipeline could be organized to process these elements in parallel
Page 8 PLSQL Commons v1.0
9. Practical Applications
Parallel processing of tasks
Fundamental questions :
• How can you maintain the processing flow?
• What if Address and Communication would like to pass their identifiers?
Page 9 PLSQL Commons v1.0
10. Practical Applications
Parallel processing of tasks
The answers provided :
- plsql_async can be used to route and maintain the processing flow
- plsql_async can be used to pass information between sequential processes
- plsql_cache can be used to cache session and cross-session based information
Read the user guide for more details on this.
If your interest in building a processing flow. Read the book Enterprise Integration Patterns.
Page 10 PLSQL Commons v1.0
11. Practical Applications
Exception management
Assertion at any location you assume will not be reached.
gender char(1) := 'A';
plsql_test.assert(gender in ('M','F'),'Gender can be M or F; current value is {1}',varchars_t(gender));
Error to identify an exceptional condition that an application might want to catch
soapFaultReason varchar2(100) := ImportDataRecord has been invoked at an illegal or inappropriate time.';
err.raise(err.SOAPFaultException,'operation raised exception : {1}',varchars_t(soapFaultReason));
Page 11 PLSQL Commons v1.0
12. Practical Applications
Testing application behavior
plsql_test is a testing facility for the plsql programming
plsql_test will help you :
- measure your progress, spot unintended side effects, and focus your
development efforts
- without automated testing tools like this facility retesting can be a tedious and
inaccurate process.
- by allowing the testing process to occur frequently and automatically, you can
keep software coding errors at a minimum
Page 12 PLSQL Commons v1.0
13. Practical Applications
Testing application behavior
Developing a test suite
create package body test_plsql_util_pck
as
procedure t_varchars
is
vt1 varchars_t:= new varchars_t('A','B');
begin
plsql_test.assert(vt1.count = 2,'list contains only two elements');
end;
procedure t_isWhiteSpace
is
cause varchar2(2000) := 'incorrect implementation of contract';
begin
plsql_test.assert(putil.isWhiteSpace(' '),cause); -- a space is whitespace
plsql_test.assert(not putil.isWhiteSpace(null),cause); -- null is not whitespace
plsql_test.assert(not putil.isWhiteSpace(''),cause); -- empty string is not whitespace
end;
end;
Each and every package can become a test suite.
- Just add a few procedures with prefix t_ to turn it into a test suite.
- Once that's done. It can be run as a test suite.
Page 13 PLSQL Commons v1.0
14. Practical Applications
Testing application behavior
Running a test suite DBMS Output
===== Run Test Suite ====
plsql_test.runTestSuite unit TST_PLSQL_UTIL_PCK.T_ISWHITESPACE succeeded
( module => 'test_plsql_util_pck unit TST_PLSQL_UTIL_PCK.T_VARCHARS succeeded
, runAll => true ===== Test Report =====
); Run 2 tests of which 2 succeeded and 0 failed
Page 14 PLSQL Commons v1.0
15. Practical Applications
Logging application behavior
Sneak Preview DBMS Output
20110113-10:47:45.228 INFO gender is M
plog.turn_on;
gender char(1) := 'M';
plog.info('gender is {1}',varchars_t(gender));
Logging supports
- Different layout types : text, rich_text, custom
- Different output types : dbms_pipe, dbms_output, http, table
- Different levels of logging : trace, debug, info, info, warn, error, fatal
Read the userguide for more details on this.
Page 15 PLSQL Commons v1.0
16. Practical Applications
Measuring application behavior
Sneak Preview
number idx;
plsql_timeit.remove;
plsql_timeit.start_watch(pp_context => 'assignment');
idx := 1;
plsql_timeit.stop_watch(pp_context => 'assignment');
plog.info('took {1} millisec',varchars_t(mmit_plsql_timeit_pck.period(pp_context => 'assignment',pp_total => true));
plsql_timeit is a facility to measure the execution time of a program unit
- measure if the execution time of your code is fit for use
plsql_timeit and plsql_test could be combined to introduce
load, volume, overload and stress test functionality.
Page 16 PLSQL Commons v1.0
17. Practical Applications
General purpose utilities
Sneak Preview
var varchar2(200) := chr(10); -- new line
isWhiteSpace boolean := putil.isWhiteSpace(var);
plog.info(putil.toChar(isWhiteSpace));
The standard libraries fail to provide enough general purpose methods.
plsql_util provides these methods
Page 17 PLSQL Commons v1.0
18. Practical Applications
General purpose utilities
Sneak Preview
list StringList := new StringList('el2','el1');
list := putil.sort(list);
val varchar2(32767) := putil.join(list,'#');
list := putil.split(val,'#');
The standard libraries fail to provide enough general purpose methods.
plsql_util provides these methods
Page 18 PLSQL Commons v1.0
19. Practical Applications
General purpose utilities
Sneak Preview
list StringList := new StringList('el2','el1');
list := putil.sort(list);
val varchar2(32767) := putil.join(list,'#');
list := putil.split(val,'#');
The standard libraries fail to provide enough general purpose methods.
plsql_util provides these methods
Page 19 PLSQL Commons v1.0
20. How you can make a difference
Give it a try
Be a happy user
Tell us and the whole wide world about it!
If you would like to get in touch.
Drop me a mail at arnold@reuser.info
Page 20 PLSQL Commons v1.0
21. Do You Have
Any Questions?
We would be happy to help.
Page 21 PLSQL Commons v1.0