1.1
Table Of Contents
- Contents
- About the SQLFire User's Guide
- Supported Configurations and System Requirements
- Getting Started with vFabric SQLFire
- Managing Your Data in vFabric SQLFire
- Designing vFabric SQLFire Databases
- Using Server Groups to Manage Data
- Partitioning Tables
- Replicating Tables
- Estimating Memory Requirements
- Using Disk Stores to Persist Data
- Exporting and Importing Data with vFabric SQLFire
- Using Table Functions to Import Data as a SQLFire Tables
- Developing Applications with SQLFire
- Starting SQLFire Servers with the FabricServer Interface
- Developing Java Clients and Peers
- Configuring SQLFire as a JDBC Datasource
- Storing and Loading JAR Files in SQLFire
- Developing ADO.NET Client Applications
- About the ADO.NET Driver
- ADO.NET Driver Classes
- Installing and Using the ADO.NET driver
- Connecting to SQLFire with the ADO.NET Driver
- Managing Connections
- Executing SQL Commands
- Working with Result Sets
- Storing a Table
- Storing Multiple Tables
- Specifying Command Parameters with SQLFParameter
- Updating Row Data
- Adding Rows to a Table
- Managing SQLFire Transactions
- Performing Batch Updates
- Generic Coding with the SQLFire ADO.NET Driver
- Using SQLFire.NET Designer
- Understanding the Data Consistency Model
- Using Distributed Transactions in Your Applications
- Using Data-Aware Stored Procedures
- Using the Procedure Provider API
- Using the Custom Result Processor API
- Programming User-Defined Types
- Using Result Sets and Cursors
- Caching Data with vFabric SQLFire
- Deploying vFabric SQLFire
- SQLFire Deployment Models
- Steps to Plan and Configure a Deployment
- Configuring Discovery Mechanisms
- Starting and Configuring SQLFire Servers
- Configuring Multi-site (WAN) Deployments
- Configuring Authentication and Authorization
- Configuring User Authentication
- User Names in Authentication and Authorization
- Configuring User Authorization
- Configuring Network Encryption and Authentication with SSL/TLS
- Managing and Monitoring vFabric SQLFire
- Configuring and Using SQLFire Log Files
- Querying SQLFire System Tables and Indexes
- Evaluating Query Plans and Query Statistics
- Overriding Optimizer Choices
- Evaluating System and Application Performance
- Using Java Management Extensions (JMX)
- Best Practices for Tuning Performance
- Detecting and Handling Network Segmentation ("Split Brain")
- vFabric SQLFire Reference
- Configuration Properties
- JDBC API
- Mapping java.sql.Types to SQL Types
- java.sql.BatchUpdateException Class
- java.sql.Connection Interface
- java.sql.DatabaseMetaData Interface
- java.sql.Driver Interface
- java.sql.DriverManager.getConnection Method
- java.sql.PreparedStatement Interface
- java.sql.ResultSet Interface
- java.sql.SavePoint Class
- java.sql.SQLException Class
- java.sql.Statement Class
- javax.sql.XADataSource
- sqlf Launcher Commands
- sqlf backup
- sqlf compact-all-disk-stores
- sqlf compact-disk-store
- sqlf encrypt-password
- sqlf install-jar
- sqlf list-missing-disk-stores
- sqlf locator
- sqlf Logging Support
- sqlf merge-logs
- sqlf remove-jar
- sqlf replace-jar
- sqlf revoke-missing-disk-store
- sqlf server
- sqlf show-disk-store-metadata
- sqlf shut-down-all
- sqlf stats
- sqlf upgrade-disk-store
- sqlf validate-disk-store
- sqlf version
- sqlf write-data-dtd-to-file
- sqlf write-data-to-db
- sqlf write-data-to-xml
- sqlf write-schema-to-db
- sqlf write-schema-to-sql
- sqlf write-schema-to-xml
- sqlf Interactive Commands
- absolute
- after last
- async
- autocommit
- before first
- close
- commit
- connect
- connect client
- connect peer
- describe
- disconnect
- driver
- elapsedtime
- execute
- exit
- first
- get scroll insensitive cursor
- GetCurrentRowNumber
- help
- last
- LocalizedDisplay
- MaximumDisplayWidth
- next
- prepare
- previous
- protocol
- relative
- remove
- rollback
- run
- set connection
- show
- wait for
- SQLFire API
- SQL Language Reference
- Keywords and Identifiers
- SQL Statements
- ALTER TABLE
- CALL
- CREATE Statements
- DECLARE GLOBAL TEMPORARY TABLE
- DELETE
- EXPLAIN
- DROP statements
- GRANT
- INSERT
- REVOKE
- SELECT
- SET ISOLATION
- SET SCHEMA
- TRUNCATE TABLE
- UPDATE
- SQL Queries
- SQL Clauses
- SQL Expressions
- JOIN Operations
- Built-in Functions
- Standard Built-in Functions
- Aggregates (set functions)
- ABS or ABSVAL function
- ACOS function
- ASIN function
- ATAN function
- ATAN2 function
- AVG function
- BIGINT function
- CASE expressions
- CAST function
- CEIL or CEILING function
- CHAR function
- COALESCE function
- Concatenation operator
- COS function
- COSH function
- COT function
- COUNT function
- COUNT(*) function
- CURRENT DATE function
- CURRENT_DATE function
- CURRENT ISOLATION function
- CURRENT_ROLE function
- CURRENT SCHEMA function
- CURRENT TIME function
- CURRENT_TIME function
- CURRENT TIMESTAMP function
- CURRENT_TIMESTAMP function
- CURRENT_USER function
- DATE function
- DAY function
- DEGREES function
- DOUBLE function
- EXP function
- FLOOR function
- HOUR function
- INTEGER function
- LCASE or LOWER function
- LENGTH function
- LN or LOG function
- LOG10 function
- LOCATE function
- LTRIM function
- MAX function
- MIN function
- MINUTE function
- MOD function
- MONTH function
- NULLIF expressions
- PI function
- RADIANS function
- RANDOM function
- RAND function
- RTRIM function
- SECOND function
- SESSION_USER function
- SIGN function
- SIN function
- SINH function
- SMALLINT function
- SQRT function
- SUBSTR function
- SUM function
- TAN function
- TANH function
- TIME function
- TIMESTAMP function
- TRIM function
- UCASE or UPPER function
- USER function
- VARCHAR function
- XMLEXISTS operator
- XMLPARSE operator
- XMLQUERY operator
- XMLSERIALIZE operator
- YEAR function
- SQLFire Built-in Functions
- Standard Built-in Functions
- Built-in System Procedures
- Standard Built-in Procedures
- SYSCS_UTIL.EMPTY_STATEMENT_CACHE
- SYSCS_UTIL.EXPORT_QUERY
- SYSCS_UTIL.EXPORT_TABLE
- SYSCS_UTIL.IMPORT_DATA
- SYSCS_UTIL.IMPORT_DATA_EX
- SYSCS_UTIL.IMPORT_DATA_LOBS_FROM_EXTFILE system procedure
- SYSCS_UTIL.IMPORT_TABLE
- SYSCS_UTIL.IMPORT_TABLE_EX
- SYSCS_UTIL.IMPORT_TABLE_LOBS_FROM_EXTFILE
- SYSCS_UTIL.SET_EXPLAIN_CONNECTION
- SYSCS_UTIL.SET_STATISTICS_TIMING
- JAR Installation Procedures
- Callback Configuration Procedures
- Heap Eviction Configuration Procedures
- WAN Configuration Procedures
- Standard Built-in Procedures
- Data Types
- SQL Standards Conformance
- System Tables
- ASYNCEVENTLISTENERS
- GATEWAYRECEIVERS
- GATEWAYSENDERS
- INDEXES
- JARS
- MEMBERS
- MEMORYANALYTICS
- STATEMENTPLANS
- SYSALIASES
- SYSCHECKS
- SYSCOLPERMS
- SYSCOLUMNS
- SYSCONGLOMERATES
- SYSCONSTRAINTS
- SYSDEPENDS
- SYSDISKSTORES
- SYSFILES
- SYSFOREIGNKEYS
- SYSKEYS
- SYSROLES
- SYSROUTINEPERMS
- SYSSCHEMAS
- SYSSTATEMENTS
- SYSSTATISTICS
- SYSTABLEPERMS
- SYSTABLES
- SYSTRIGGERS
- SYSVIEWS
- Exception Messages and SQL States
- ADO.NET Driver Reference
- SQLFire Data Types in ADO.NET
- VMware.Data.SQLFire.BatchUpdateException
- VMWare.Data.SQLFire.SQLFClientConnection
- VMware.Data.SQLFire.SQLFCommand
- VMware.Data.SQLFire.SQLFCommandBuilder
- VMware.Data.SQLFire.SQLFType
- VMware.Data.SQLFire.SQLFDataAdapter
- VMware.Data.SQLFire.SQLFDataReader
- VMware.Data.SQLFire.SQLFException
- VMware.Data.SQLFire.SQLFParameter
- VMware.Data.SQLFire.SQLFParameterCollection
- VMware.Data.SQLFire.SQLFTransaction
- vFabric SQLFire Limitations
- Troubleshooting Common Problems
- vFabric SQLFire Glossary
- Index
If a user with read-only access attempts to write to the system, SQLException 08004 - connection refused
is returned.
Set User Permissions for Database Objects in SQL Standard Authorization
When the SQL standard authorization mode is enabled, object owners can use the GRANT and REVOKE SQL
statements to set the user permissions for specific database objects or for specific SQL actions.
The SQL standard authorization mode is a SQL2003 compatible access control system. You enable the SQL
standard authorization mode by setting the sqlfire.sql-authorization property to TRUE.
While SQLFire has a simpler database access mode which can be set to provide users with full, read-only, or no
access authorization, this simpler access mode is less appropriate for most client-server database configurations.
When users or applications issue SQL statements directly against the database, the SQL authorization mode
provides a more precise mechanism to limit the actions that users can take on the database.
• GRANT and REVOKE Privileges on page 249
• Set Public and Individual User Privileges on page 249
• Set Permissions on Views, Triggers, and Constraints on page 250
GRANT and REVOKE Privileges
The GRANT statement is used to grant specific permissions to users. The REVOKE statement is used to revoke
permissions. The grant and revoke privileges are:
• DELETE
• EXECUTE
• INSERT
• SELECT
• REFERENCES
• TRIGGER
• UPDATE
When a table, view, function, or procedure is created, the person that creates the object is referred to as the owner
of the object. Only the object owner and the SQLFire Member JVM Owner on page 246 have full privileges on
the object. No other users have privileges on the object until the object owner grants privileges to them.
Set Public and Individual User Privileges
The object owner can grant and revoke privileges for specific users or for all users. The keyword PUBLIC is
used to specify all users. When PUBLIC is specified, the privileges affect all current and future users. The
privileges granted and revoked to PUBLIC and to individual users are independent. For example, a SELECT
privilege on table t is granted to both PUBLIC and to the user harry. The SELECT privilege is later revoked
from user harry, but user harry has access to table t through the PUBLIC privilege.
Exception: When you create a view, trigger, or constraint, SQLFire first checks to determine if you have
the required privileges at the user-level. If you have the user-level privileges, the object is created and is
dependent on that user-level privilege. If you do not have the required privileges at the user-level, SQLFire
checks to determine if you have the required privileges at the PUBLIC level. If you have the PUBLIC
level privileges, the object is created and is dependent on that PUBLIC level privilege. After the object
is created, if the privilege on which the object depends on is revoked, the object is automatically dropped.
SQLFire does not try to determine if you have other privileges that can replace the privileges that are
being revoked.
User zhi creates table t1 and grants SELECT privileges to user harry on table t1.
User zhi grants SELECT privileges to PUBLIC on table t1. User harry creates view
Example 1
v1 with the statement SELECT * from zhi.t1. The view depends on the user-level
249
Configuring Authentication and Authorization