History | View | Annotate | Download (110 KB)
Revert "Revert "Allowing storing GPGK raster layer styles to DB""
This reverts commit 9d8a72256893bd31a51d85927e9abd9cdb5eed29.
Add QgsRectangle::setNull(), deprecating setMinimal()
Revert "Allowing storing GPGK raster layer styles to DB"
Introduce Qgis::ProviderStyleStorageCapabilities
Use the static method for type parsing
MSSQL: fix ZM types select plus unreported M metadata detection
Fix #53633
Plus fixes unreported 'M' detection issue when reading type frommetadata (geometry_columns table)
Moved the parsing logic to a single static method.
MSSQL: fix geom type detection when no metadata are used
Fix #53614
thread_local all const QRegularExpression objects
Replace QgsDebugMsg(...) with QgsDebugError(...) and ensure itis ONLY used for error message reporting
Everything else gets bumped to QgsDebugMsg(..., >= 2)
Fix MSSQL PrimaryKey in geometry table
Promote QgsWkbTypes enums to enum class, move to Qgis
replace translatio from debug output and typo fixes
Move QgsMapLayerType enum to Qgis.LayerType (#51874)
For consistency with other enums
mssql provider: don't double 'quote' (fixes #50914) (#50915)
Optionally load all stored styles from DB with correct names.
Fixes #37434
Funded by: Ministère des Forêts, de la Faune et des Parcs - Québec
Use "MS SQL Server" for user facing texts
Update core and gui to use QgsVariantUtils::isNull
Add icon to QgsProviderMetada
Add QgsProviderMetadata::supportedLayerTypes() so that we canquery the layer types supported by a data provider
More macros for oracle and mmsql
Some more work on oracle and mssql
[mssql] Fix identity column types have a forced not null constraintbut not a complimentary defaultValueClause
This causes issues with any table using a identity column, as a useris forced to populate these columns themselves in order to createfeatures, yet the value will be discarded when the feature is saved...
[api] Don't use widgets in QgsProviderMetadata::saveStyle implementations
This is not safe to do -- it causes a crash if the api is used ina background thread
Fixes #46954Fixes #46914
[mssql] Add layer styles tests, minor fixes for layer style handling
[api] Add QgsProviderMetadata method to test whether a style witha specified ID already exists
[mssql] Use correct capitalisation for queries involving INFORMATION_SCHEMAtables, or queries will not run on case-sensitive databases
Fixes #46907
[mssql] Fix detection of primary key, likely other issues too
Calling QSqlQuery::clear() also resets the QSqlQuery::setForwardOnlyflag, so we need to ensure that we set this after every timewe clear the query.
[mssql] Fix inserting features when pk attribute name contains special chars
Fixes #42290
Copy shared data post-layer-clone
QString fixups
Dirty save points so that undo/redo works correctly + tests
[feature] Transactions in MSSQL provider
const ALL the things
Use clang-tidy const correctness fixit to add const to allvariables which it can
Remove nonsense debug message
[mssql] use unique constraint info from db to set field ConstraintUnique
Update featureCount() methods to return long long for Win64 compatibility
[mssql] use nullable info from db to set field ConstraintNotNull
Move QgsVectorLayerExporter.ExportError to Qgis and promote to enumclass
This avoids an ugly include of qgsvectorlayerexporter.h inqgsproviderregistry.h/qgsprovidermetadata.h, which in turntriggers an inclusion of qgsvectorlayer.h and a bunch ofother heavy dependencies.
fix MSSQL extent in geometry table (#42684)
More QRegularExpression in providers
fix translation string
keep layer valid if geometry_columns extent/pkey not valid
Improve mssql loading with predefined extent/pkey
Mark some QgsProviderMetadata methods as const
QStringLiteral -> QLatin1String changes generated by scripts/qstringfixup.sh --all
Merge branch 'master' into mssqldefaultvalues
Implemented test for method QgsMssqlProvider::defaultValue
Implemented method QgsMssqlProvider::defaultValue
MSSQL and DB2: Use trust datasource config flag
Trust layer metadata propagation
The trust flag at the projetc level is only used to read vector layer extent from xml, not from provider.
This flag was not available at the vector layer and data provider level.
We propose a new QgsMapLayer reading flag to propagate the trust layer metadata prohect's read flag an d a new provider options to trust datasource config....
Use zero to represent not applicable precision
The documentation for QgsField states that zero should be used foran unset precision, but the database providers use -1 in some placesfor that purpose.
Fixes #38360
Guard for options null (other providers)
Guard for options null
Add static nativeTypes and remove ugly workaround
Browser table: skip fields conversion + UX & tests
The reason for skipConvertFields is that the providersare not smart enough to recognize if a field is alredycompatible and they narrow down all fields anywayto stay on the safe side.
Fixing all providers would be nice but it's definitely...
[mssql] Compile make_datetime, make_date, make_time
Allows efficient use of SQL server tables along with temporal mode
Fix mssql provider returns garbage values for min/max/uniquevalues on time fields
Even less chatty
Correctly decode password when decoding postgres/mssql uris
MSSQL connections API initial implementation
Rip off a band aid, and deprecate all "proj4" calls from the API
Alias these across to new "proj" methods, which don't include theversion number.
[mssql] Speed up loading of larger views (fixes #27618)
The extent estimation was taking a long time for views because we can't usespatial index statistics - the code was doing full scan of the view. Now wetry to scan just 1% of the rows to get a good estimate. If that fails...
[mssql] Move GUI code to new files + remove legacy data item calls
Pass uri in createProvider() as a reference, not a pointer
Remove description() from QgsProviderGuiMetadata - it is not needed there
Revert API break and move WidgetMode back to QgsProviderRegistry
[QEP 149] Introduce static data providers [API BREAK]
- adds QgsProviderGuiRegistry and QgsProviderGuiMetadata- adds QgsProjectStorageGuiRegistry- requires providerMetadataFactory for dynamic data providers- requires providerMetadataGuiFactory for dynamic data providers (GUI only)...
Fix writing geometries with M values, adding tests for Z/M/ZM geometries
Fix indentation
Fix creating layers with curve geometries
Apply 'm' prefix for class member variables instead of the hungarian notations.
Strip nullptr inequality check
Apply lower case to member functions for the mssql driver
Rework MSSQL parser to support v2 geometries (fixes #22041)
Remove unrequired ;
and make clang-tidy a bit more smiley
Kill them Q_FOREACH
[mssql] More sensible srid when adding CRS to MS SQL database
The spatial_ref_sys table has srid column with ID of CRS entries.I believe the IDs can be arbitrary, however it has been a good habitto use EPSG number for srid (at least in GDAL - and the same thing...
[mssql] Fix inserting features into tables with an after insert trigger attached
Fixes #20592
[mssql] Fix import of layers with invalid geometries (fixes #20122)
This essentially reverts 62f4534
Rationale:- even valid geometries according to GEOS may be considered as invalid by MS SQL so there is no way of knowing that a geometry may be fail to be added...
[mssql] Do not expect that SRIDs are equivalent to postgis SRIDs
There is no direct relationship between postgis SRIDs and SRIDs used in any other database.
If you imported data with GDAL, things may work, because GDAL prefers to use equivalent SRIDsto EPSG IDs / PostGIS SRIDs....
[mssql] Use output instead of IDENT_CURRENT to retrieve newly added primary keys
It's safer, works with non-identity columns, and potentially allowsus to optimise in future and bulk insert features instead ofone by one
[mssql] Fix incorrect layer extents after modifying layers
[mssql] For consistency with other providers deleteFeatures should return true to an empty list
[mssql] Ensure provider rejects features with incorrect geometry type