Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
580b25a
Easy warmup: less JNI in Invocation
jcflack Jan 23, 2022
17a3a26
These two lines considered redundant
jcflack Jan 23, 2022
9342f68
Tests for use of upper memory context
jcflack Jan 23, 2022
b2094ba
Add switchToUpperContext for non-composite SRFs
jcflack Jan 23, 2022
e441724
Use SPI in the purely nested fashion it expects
jcflack Jan 23, 2022
e380e6b
Add a nested/SPI test to SetOfRecordTest
jcflack Jan 23, 2022
2d54359
Also eliminate special SRF Invocation treatment
jcflack Jan 23, 2022
d2b920b
Merge Invocation/set-returning-function rework
jcflack Jan 23, 2022
41eb615
Two caching tools: CacheMap and SwitchPointCache
jcflack Jan 23, 2022
7655fde
Adapter and org.postgresql.pljava.adt.spi package
jcflack Jan 23, 2022
b35c65a
Package org.postgresql.pljava.adt: contracts
jcflack Jan 23, 2022
7786fbf
CharsetEncoding, CatalogObject, and a few more
jcflack Jan 23, 2022
42805b1
Add enough implementation for CharsetEncoding use
jcflack Jan 23, 2022
712f5d2
Expose MemoryContext and ResourceOwner in Java
jcflack Jan 23, 2022
5a9cdf9
Begin MemoryContext/ResourceOwner implementation
jcflack Jan 23, 2022
f387648
Fix an old PgSavepoint bug
jcflack Jan 23, 2022
169b5dc
Now an Invocation is also a Lifespan
jcflack Jan 23, 2022
f7561df
DualState clients that pass no Lifespan
jcflack Jan 23, 2022
6ba4e66
Clients using Invocation.current as Lifespan
jcflack Jan 23, 2022
901712a
Client using its own ResourceOwner as Lifespan
jcflack Jan 23, 2022
827f2d6
Client with both ResourceOwner and MemoryContext
jcflack Jan 23, 2022
349c3e8
Eliminate last use of DualState.Key
jcflack Jan 23, 2022
ea86c77
Merge MemoryContext/ResourceOwner API and uses
jcflack Jan 23, 2022
fc9bd9c
Adapt SQLXMLImpl to be creatable from Java
jcflack Jan 23, 2022
a0269b8
Build out the TupleDescriptor implementation
jcflack Jan 23, 2022
1f17675
Build out TupleTableSlot implementation
jcflack Jan 23, 2022
2e74a6b
Build out the CatalogObject implementation
jcflack Jan 23, 2022
a4656f5
RegClass and RegType have a special relationship
jcflack Jan 23, 2022
e742fae
Attribute, naturally, has complications
jcflack Jan 23, 2022
5adf2c8
Selectively invalidate RegClass and RegType
jcflack Jan 23, 2022
33530b5
Here's a simple complete one, a Database object
jcflack Jan 23, 2022
7ffea74
The rest is straight implementation
jcflack Jan 23, 2022
8ce2c87
A test jig that's been used during development
jcflack Jan 23, 2022
4a773cd
A couple straggling RegType methods
jcflack Jan 23, 2022
9a833d2
Spotted a copy-pasto in an assertion message
jcflack Jan 23, 2022
62d3694
Fix copyright years that were wrong as committed
jcflack Jan 31, 2022
4fa6a19
Pacify AppVeyor
jcflack Jan 31, 2022
f135135
Update straggling currentInvocation checks
jcflack Jan 31, 2022
0b0e4de
Missing initializer caught by MacOS clang
jcflack Jan 31, 2022
04431c4
Look for a way to confirm ARR_DIMS under clang
jcflack Jan 31, 2022
a9f24a9
Give up static check of OFFSET_ArrayType_DIMS
jcflack Jan 31, 2022
cf2f8c5
See if clang permits sizeof *ARR_DIMS(0)
jcflack Jan 31, 2022
13547a9
More work on array adapters
jcflack Feb 1, 2022
4bf4a8d
Some polishing of javadocs and code
jcflack Feb 1, 2022
8140b01
Merge REL1_7_STABLE into feature/REL1_7_STABLE/model
jcflack Jun 14, 2023
e55625e
New ACL rights appear in PG 15 and in 16
jcflack Jun 14, 2023
b0b198d
Whitespace only
jcflack Jun 14, 2023
52acfdf
Numeric typmods change in PG 15
jcflack Jun 14, 2023
acdbb2b
Fix example in AbstractType javadoc
jcflack Jul 31, 2023
101ae01
Additions to AbstractType
jcflack Jul 31, 2023
c7e9ae1
Add methods to Adapter to derive multiarrays
jcflack Jul 31, 2023
45830da
Add ArrayBuilder.build() and a suitable service
jcflack Jul 31, 2023
ff9768b
Implement the multi-array building
jcflack Jul 31, 2023
ecccd54
Consolidate the temporary test jig methods
jcflack Jul 31, 2023
1423366
Add an example for multi-array retrieval
jcflack Jul 31, 2023
87d9389
Add example of a composing Adapter
jcflack Jul 31, 2023
b1b7d13
Another composing adapter, of reference type
jcflack Jul 31, 2023
4147308
A subtlety with canFetchNull is worth mentioning
jcflack Jul 31, 2023
536e87f
Show autoboxing in Adapter composition
jcflack Aug 1, 2023
3db8e54
Tidy up that example SQL query
jcflack Aug 1, 2023
299b69f
No, canFetchNull is not that subtle after all
jcflack Aug 1, 2023
8cbc383
Example didn't demonstrate null long case
jcflack Aug 2, 2023
79a8569
Add PG_VERSION_NUM to ModelConstants
jcflack Aug 3, 2023
716eac5
Let formObjectId accept a version predicate
jcflack Aug 3, 2023
3887c05
Fix an unchecked warning in array service
jcflack Aug 12, 2023
786d546
Javadoc: typos in MultiArray, tweaks in Adapter
jcflack Aug 12, 2023
566edcb
Get rid of "throws SQLException" on tts.get
jcflack Aug 15, 2023
091d8bc
Enter TargetList and its subinterface, Projection
jcflack Aug 15, 2023
1c96e3a
Start on unwrapping ResultSet as Portal
jcflack Aug 15, 2023
4398724
Muck about with SPI class
jcflack Aug 15, 2023
6ec5627
Add more methods to Portal
jcflack Aug 15, 2023
d8bbd60
Lose temporary testmeSPI stuff
jcflack Aug 15, 2023
9d8e6b7
More notational convenience in DualState
jcflack Aug 15, 2023
d966f7b
Add TupleList to present different kinds of such
jcflack Aug 15, 2023
e299b4c
Update example
jcflack Aug 15, 2023
8a0d912
Decree: applyOver methods can throw SQLException
jcflack Aug 15, 2023
ef1f192
Deprecate old hasty TupleDescriptor methods
jcflack Aug 15, 2023
cb98c80
Add test for CatalogObject class initializations
jcflack Aug 15, 2023
10a18f8
Merge targetlist into feature/REL1_7_STABLE/model
jcflack Aug 15, 2023
630717d
Narrow visibility of CatalogObjectImpl additions
jcflack Aug 15, 2023
a0ce0ea
javadoc: a sterner note about the frankenstream
jcflack Aug 15, 2023
5cfdad8
Javadoc: clarify TupleDescriptor.rowType, intern
jcflack Aug 16, 2023
29bafab
Further tame the frankenstream
jcflack Aug 18, 2023
1fc0be2
Migrate SQLXMLImpl.Readable, VarlenaWrapper->Datum
jcflack Aug 20, 2023
c107f9a
Add a set-returning function example
jcflack Aug 24, 2023
59c0ba9
Upstream has reverted MAINTAIN privilege
jcflack Aug 24, 2023
8a88cbf
Beat down unchecked warnings from Datum migration
jcflack Aug 25, 2023
0391e18
Some more missing Adapters
jcflack Aug 26, 2023
45f965c
A reference NUMERIC -> BigDecimal implementation
jcflack Aug 26, 2023
c4b123f
Comment typos caught after pushing upstream
jcflack Aug 27, 2023
606caf0
Don't mistake SQL for Java
jcflack Aug 29, 2023
5e8fa13
Banish recent unchecked warning
jcflack Sep 8, 2023
e511a12
Allow IDX_... gaps in ModelConstants
jcflack Sep 8, 2023
dc62b4e
Regroup and renumber ModelConstants
jcflack Sep 8, 2023
d1e1db3
Pick up SIZEOF_INT via ModelConstants
jcflack Sep 8, 2023
cb71f38
Rename AttNames.andIf to alsoIf
jcflack Sep 9, 2023
3131af9
Merge branch 'REL1_7_STABLE' into feature/REL1_7_STABLE/model
jcflack Sep 19, 2023
f9acf5e
Quit using paired entry points to pass 'trusted'
jcflack Oct 9, 2023
e5dd9f8
Tidy some uses of currentInvocation->function
jcflack Oct 9, 2023
15997b5
check_function_bodies readable from Java
jcflack Oct 9, 2023
19b3c1a
Sundry fixes to CatalogObject implmementations
jcflack Oct 9, 2023
afec77d
Introduce AbstractNoSplitList
jcflack Oct 9, 2023
7faf6c9
Add Identifier.Simple.None
jcflack Oct 9, 2023
57ed135
Distinguish the polymorphic pseudotypes
jcflack Oct 9, 2023
0d65d2b
Add TupleDescImpl.synthesizeDescriptor
jcflack Oct 9, 2023
a061b4e
Interlude: BitSet <-> PostgreSQL bitmapset
jcflack Oct 9, 2023
95fcf8f
TupleTableSlotImpl.NullableDatum
jcflack Oct 9, 2023
08e2079
More invalidation: two more classes, and TupleDesc
jcflack Oct 9, 2023
1ea5bfa
Flesh out the RegProcedure.Memo idea
jcflack Oct 9, 2023
4567117
Give RegType a 'notional' TupleDescriptor
jcflack Oct 9, 2023
93b250c
Add API methods on RegProcedure and memo
jcflack Oct 9, 2023
7af5e94
Interfaces a PL/Java-based language implements
jcflack Oct 9, 2023
95d4133
Add DualState.SingleDeleteGlobalRefP
jcflack Oct 9, 2023
bcd6185
Now put the implementation under it
jcflack Oct 9, 2023
afaeb88
Add example
jcflack Oct 9, 2023
f6f9c61
Merge polyglot into feature/REL1_7_STABLE/model
jcflack Oct 9, 2023
cbfcd09
Restore pre-PG16 buildability (back to PG 13)
jcflack Oct 9, 2023
c327868
Fix added example for library-name diversity
jcflack Oct 9, 2023
75d93b2
Correct spelling of glot64
jcflack Apr 4, 2024
f072a64
Merge REL1_7_STABLE into feature/REL1_7_STABLE/model
jcflack Apr 4, 2024
c19d049
Merge REL1_7_STABLE into feature/REL1_7_STABLE/model
jcflack Mar 24, 2025
5b4fdf9
Abstract permission checking from Java API
jcflack Mar 24, 2025
18eb26c
PG17: infinitely negative or positive INTERVALs
jcflack Mar 24, 2025
5d2de68
PG17: a new MAINTAIN privilege has been added
jcflack Mar 24, 2025
37fa4e7
JDK23: JDK-8318966: use more direct ByteBuffers
jcflack Mar 26, 2025
bf585ed
Slight polishing of dispatcher
jcflack Mar 26, 2025
5338683
Make better use of memo created during validation
jcflack Mar 26, 2025
0f2d815
Handle atomic / nonatomic indications
jcflack Mar 27, 2025
5e5d532
Windows build issues found in CI
jcflack Mar 27, 2025
473d473
That explains what Windows MSVC complained about
jcflack Mar 27, 2025
56b125a
Update javadoc on essentialChecks and checkBody
jcflack Mar 27, 2025
2cba755
Use Identifier.None and TupleDescImpl.OfType more
jcflack Apr 1, 2025
2539298
Big ol' rework of TargetList / Projection
jcflack Apr 5, 2025
f2899be
Expose CatalogObject to legacy PL/Java type system
jcflack Apr 5, 2025
e1a827b
API for a CatalogObject model of pg_constraint
jcflack Apr 5, 2025
1b733bb
Implementation of Constraint model
jcflack Apr 5, 2025
74f0b51
API for a CatalogObject model of pg_trigger
jcflack Apr 5, 2025
41a7983
Implementation of Trigger model
jcflack Apr 5, 2025
d7d8fdd
API for model of TriggerData call context
jcflack Apr 5, 2025
f03c568
Implementation of TriggerData model
jcflack Apr 5, 2025
cb19333
API for PLJavaBasedLanguage supporting triggers
jcflack Apr 5, 2025
f61d02b
Implementation of dispatching for triggers
jcflack Apr 6, 2025
51f4592
Make Glot64 language example implement triggers
jcflack Apr 5, 2025
62c5132
PG >= 15 works anyway but < 15 needs rel.h
jcflack Apr 6, 2025
d7b1ac6
Builds back through PG13 making this conditional
jcflack Apr 6, 2025
855fe29
Add to Glot64 example to show specialization
jcflack Apr 6, 2025
00aa09c
Remove a straggling import from ConstraintImpl
jcflack Apr 6, 2025
7d74296
Refine javadoc of PLJavaBasedLanguage.Routines
jcflack Apr 6, 2025
17fab97
Better LookupImpl error recovery; some tidying
jcflack Apr 15, 2025
f7d24eb
Let arrays of anyarray type be manipulated
jcflack Apr 25, 2025
c13448d
Use a smarter SwitchPoint in SwitchPointCache
jcflack Apr 25, 2025
927a3b3
API for a CatalogObject model of pg_transform
jcflack Apr 25, 2025
fb77dbd
Implementation of Transform model
jcflack Apr 25, 2025
1a4e9ba
API for handler to learn what transforms needed
jcflack Apr 25, 2025
174dda7
Implement PLJavaBased.transforms() API
jcflack Apr 25, 2025
1d4fce7
Check for UsingTransforms in dispatcher
jcflack Apr 25, 2025
bc6c8ca
Glot64 sample language implements UsingTransforms
jcflack Apr 25, 2025
dbbf1f0
API: separate Memo into Why and How memos
jcflack Apr 25, 2025
93b4cf0
Implement separation of Why and How memos
jcflack Apr 25, 2025
7d58eb7
Better Validator memos, and Handler/InlineHandler
jcflack Apr 25, 2025
5f61ba0
Generalize SupportMemo, start on Transform inval
jcflack Apr 25, 2025
16d6fae
Handle syscache invalidation for Transform
jcflack Apr 25, 2025
b20e97c
Prefer Function for SwitchPointCache initializer
jcflack Apr 25, 2025
6bc6656
Quick return in C syscache callbacks if no work
jcflack Apr 25, 2025
d52775c
Account for untested-because-unNamed catclasses
jcflack Apr 25, 2025
a158542
Move DualState.SingleSPIfreetuptable free action
jcflack Apr 26, 2025
5d9836c
API for PL/Java-based set-returning functions
jcflack May 9, 2025
ef2d1e0
Make DualState.CleanupTracker less restrictive
jcflack May 9, 2025
5a14083
Model PostgreSQL's ExprContext (internal only)
jcflack May 9, 2025
4c7e5d5
Implement set-returning function dispatching (VPC)
jcflack May 9, 2025
ef9ccd7
Add set-returning functions to Glot64 toy language
jcflack May 9, 2025
b8a4e9d
Add package-info.java for polyglot examples
jcflack May 23, 2025
cf4db3c
Handle dims=0 arrays gracefully
jcflack May 24, 2025
6090fa6
Pick a return type for RegClass.options()
jcflack May 24, 2025
7205289
Add some neglected RegClass accessors
jcflack May 25, 2025
99d46b2
Use relcache for tuple descriptor in more cases
jcflack May 25, 2025
9ff0e47
API for four new models reachable from RegClass
jcflack May 25, 2025
cf8aa4c
Implement four models API'd in previous commit
jcflack May 25, 2025
8aaeb04
Accessors in Database and RegClass for new models
jcflack May 25, 2025
fb0791f
Merge REL1_7_STABLE into feature/REL1_7_STABLE/model
jcflack May 30, 2025
8e62acc
Fix new o.p.p.internal module javadoc errors
jcflack May 30, 2025
17a62ab
For PG 18, no more RegCollation.POSIX
jcflack May 30, 2025
a9047d0
attcacheoff is no longer a pg_attribute member
jcflack May 30, 2025
9f9bd20
Expand internals javadoc to package types/members
jcflack May 30, 2025
fe6e7da
Squash one could-be-used-uninitialized warning
jcflack May 30, 2025
cece982
Update PLJavaBasedLanguage interface javadoc
jcflack Jun 6, 2025
dd644aa
Merge REL1_7_STABLE into feature/REL1_7_STABLE/model
jcflack Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ environment:
- SYS: MSVC
JDK: 21
PG: 13
- SYS: MSVC
JDK: 21
PG: 12
- SYS: MSVC
JDK: 11
PG: 9.6
# - SYS: MSVC
# JDK: 21
# PG: 12
# - SYS: MSVC
# JDK: 11
# PG: 9.6
before_build:
- ps: .appveyor/appveyor_download_java.ps1
- set JAVA_HOME=%ProgramFiles%\Java\jdk%JDK%
Expand Down
9 changes: 8 additions & 1 deletion pljava-api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020 Tada AB and other contributors, as listed below.
* Copyright (c) 2020-2023 Tada AB and other contributors, as listed below.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the The BSD 3-Clause License
Expand All @@ -21,14 +21,21 @@
requires transitive java.compiler;

exports org.postgresql.pljava;
exports org.postgresql.pljava.adt;
exports org.postgresql.pljava.adt.spi;
exports org.postgresql.pljava.annotation;
exports org.postgresql.pljava.model;
exports org.postgresql.pljava.sqlgen;

exports org.postgresql.pljava.annotation.processing
to org.postgresql.pljava.internal;

uses org.postgresql.pljava.Adapter.Service;

uses org.postgresql.pljava.Session;

uses org.postgresql.pljava.model.CatalogObject.Factory;

provides javax.annotation.processing.Processor
with org.postgresql.pljava.annotation.processing.DDRProcessor;
}
Loading
Loading