Learn why, and check out my new PL/SQL Unwrapper for VS Code.
www.salvis.com/blog/2025/03...
Learn why, and check out my new PL/SQL Unwrapper for VS Code.
www.salvis.com/blog/2025/03...
Ask what can go wrong, instead, before it's too late!
Play OWASP Cornucopia!
The waiting time is over. OWASP® Cornucopia Website App 2.1 & Mobile App 1.1 have been released! see: dev.to/owasp/owaspr...
#appsec #cybersec #threatmodeling #owasp
Ask what can go wrong, instead, before it's too late!
Play OWASP Cornucopia!
The waiting time is over. OWASP® Cornucopia Website App 2.1 & Mobile App 1.1 have been released! see: dev.to/owasp/owaspr...
#appsec #cybersec #threatmodeling #owasp
ALTER SESSION DISABLE COMMIT IN PROCEDURE
=> if a PL/SQL procedure has a commit it raises an ORA-00034 instead!
=> you can rollback across PL/SQL calls with commits
Note: DML in the proc is rolled back unless you catch the ORA-34
This "new" feature is at least 20 years old!
ALTER SESSION DISABLE COMMIT IN PROCEDURE
=> if a PL/SQL procedure has a commit it raises an ORA-00034 instead!
=> you can rollback across PL/SQL calls with commits
Note: DML in the proc is rolled back unless you catch the ORA-34
This "new" feature is at least 20 years old!
Want developers to do threat modeling?
Don't do all the heavy lifting!
Play OWASP Cornucopia!
The 2.1 release is here!
#appsec #threatmodeling #cybersec #owasp
Want developers to do threat modeling?
Don't do all the heavy lifting!
Play OWASP Cornucopia!
The 2.1 release is here!
#appsec #threatmodeling #cybersec #owasp
SELECT tab.jcol.attr
This returns a JSON data type => implicit conversions & poor plans
Use type methods to cast the value and avoid these problems
SELECT tab.jcol.attr.number()
@salvis.com demos
SELECT tab.jcol.attr
This returns a JSON data type => implicit conversions & poor plans
Use type methods to cast the value and avoid these problems
SELECT tab.jcol.attr.number()
@salvis.com demos
Deep dive on Binary JSON formats (the first in a series) from @loiclefevre.bsky.social
medium.com/db-one/jsonb...
Deep dive on Binary JSON formats (the first in a series) from @loiclefevre.bsky.social
medium.com/db-one/jsonb...
owasp.org/www-project-...
owasp.org/www-project-...
Instead of
SELECT COUNT(*) FROM ...
Use
EXISTS ( SELECT * FROM ...
COUNT gets all the rows; EXISTS can stop when it finds a match
As @lukaseder.bsky.social says
Thou shalt not use COUNT(*) when EXISTS sufficeth thy need
Instead of
SELECT COUNT(*) FROM ...
Use
EXISTS ( SELECT * FROM ...
COUNT gets all the rows; EXISTS can stop when it finds a match
As @lukaseder.bsky.social says
Thou shalt not use COUNT(*) when EXISTS sufficeth thy need
#cybersec #appsec #infosec
#cybersec #appsec #infosec
There are some quirky ways of going past the limit of 1000 elements in a SQL IN-LIST. But that doesn't mean you should be doing it.
youtu.be/UuZGDb_9r0I
There are some quirky ways of going past the limit of 1000 elements in a SQL IN-LIST. But that doesn't mean you should be doing it.
youtu.be/UuZGDb_9r0I
Through devolution, important progressive steps continue to be made.
Through devolution, important progressive steps continue to be made.
SQLite vector search w/ metadata filters 👀
- Perform extra filtering w/ WHERE clause in KNN queries
- Internally shard vector indexes with partition keys
- Aux columns for easy lookups
read more: alexgarcia.xyz/blog/2024/sq...
SQLite vector search w/ metadata filters 👀
- Perform extra filtering w/ WHERE clause in KNN queries
- Internally shard vector indexes with partition keys
- Aux columns for easy lookups
read more: alexgarcia.xyz/blog/2024/sq...
Join the #OWASP community today & start building secure software! #securecodingtraining #threatmodeling
Join the #OWASP community today & start building secure software! #securecodingtraining #threatmodeling