提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 联系我们获取数据库技术支持!
  Email:

以下官方手册为SAP IQ 16.0 SP03中文版:

  1. SAP Sybase IQ 简介
  2. 新功能摘要
  3. IQ 发行公告(linux)
  4. IQ 快速入门(unix)
  5. 安装和配置指南(linux)
  6. 管理:备份、恢复和数据恢复
  7. 管理:数据库
  8. SAP Sybase IQ 错误消息
  9. 管理:全球化
  10. IQ 许可选项指南
  11. 管理:装载管理
  12. IQ 迁移
  13. 管理:Multiplex
  14. 性能和调优指南
  15. IQ 编程
  16. 参考:构件块、表和过程
  17. 参考:语句和选项
  18. 管理:内存行级版本控制
  19. 管理:空间数据
  20. IQ 非结构化数据分析
  21. 用户定义的函数
  22. 管理:用户管理和安全
  23. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

常规数据库选项

常规数据库选项是指除 Transact-SQL 兼容性选项和 Interactive SQL 选项之外的所有选 项类。


另请参见

• Transact-SQL 兼容性选项 (第 508 页)

• Interactive SQL 选项 (第 509 页)

• AFFINITY_AUTOEXCLUDE_TIMEOUT 选项 (第 511 页)

• AGGREGATION_PREFERENCE 选项 (第 511 页)

• ALLOW_SNAPSHOT_VERSIONING 选项 (第 513 页)

• ANSI_UPDATE_CONSTRAINTS 选项 (第 516 页)

• ALLOW_READ_CLIENT_FILE 选项 (第 518 页)

• ASE_BINARY_DISPLAY 选项 (第 518 页)

• ASE_FUNCTION_BEHAVIOR 选项 (第 519 页)

• AUDITING 选项 [database] (第 520 页)

• BASE_TABLES_IN_RLV_STORE 选项 (第 520 页)

• BIT_VECTOR_PINNABLE_CACHE_PERCENT 选项 (第 521 页)

• BLOCKING 选项 (第 522 页)

• BLOCKING_TIMEOUT 选项 (第 522 页)

• BT_PREFETCH_MAX_MISS 选项 (第 523 页)

• BT_PREFETCH_SIZE 选项 (第 524 页)

• BTREE_PAGE_SPLIT_PAD_PERCENT 选项 (第 524 页)

• CACHE_AFFINITY_PERCENT 选项 (第 525 页)

• CACHE_PARTITIONS 选项 (第 526 页)


• CHECKPOINT_TIME 选项 (第 527 页)

• CIS_ROWSET_SIZE 选项 (第 528 页)

• CONVERSION_MODE 选项 (第 530 页)

• CONVERT_VARCHAR_TO_1242 选项 (第 536 页)

• COOPERATIVE_COMMIT_TIMEOUT 选项 (第 537 页)

• COOPERATIVE_COMMITS 选项 (第 538 页)

• CREATE_HG_WITH_EXACT_DISTINCTS (第 538 页)

• CURSOR_WINDOW_ROWS 选项 (第 540 页)

• DATE_FIRST_DAY_OF_WEEK 选项 (第 541 页)

• DATE_FORMAT 选项 (第 542 页)

• DATE_ORDER 选项 (第 544 页)

• DBCC_LOG_PROGRESS 选项 (第 544 页)

• DBCC_PINNABLE_CACHE_PERCENT 选项 (第 545 页)

• DEBUG_MESSAGES 选项 (第 546 页)

• DEDICATED_TASK 选项 (第 546 页)

• DEFAULT_DBSPACE 选项 (第 547 页)

• DEFAULT_DISK_STRIPING 选项 (第 548 页)

• DEFAULT_HAVING_SELECTIVITY_PPM 选项 (第 549 页)

• DEFAULT_KB_PER_STRIPE 选项 (第 550 页)

• DEFAULT_LIKE_MATCH_SELECTIVITY_PPM 选项 (第 551 页)

• DEFAULT_LIKE_RANGE_SELECTIVITY_PPM 选项 (第 552 页)

• DEFAULT_PROXY_TABLE_ROW_COUNT 选项 (第 553 页)

• DEFAULT_TABLE_UDF_ROW_COUNT 选项 (第 553 页)

• DELAYED_COMMIT_TIMEOUT 选项 (第 554 页)

• DELAYED_COMMITS 选项 (第 554 页)

• DISABLE_RI_CHECK 选项 (第 555 页)

• DQP_ENABLED 选项 (第 556 页)

• DQP_ENABLED_OVER_NETWORK 选项 (第 556 页)

• EARLY_PREDICATE_EXECUTION 选项 (第 557 页)

• ENABLE_ASYNC_IO 选项 (第 558 页)

• ENABLE_LOB_VARIABLES 选项 (第 559 页)

• EXTENDED_JOIN_SYNTAX 选项 (第 559 页)

• FLOATING_POINT_ACCUMULATOR 选项 (第 560 页)

• FORCE_DROP 选项 (第 561 页)

• FORCE_NO_SCROLL_CURSORS 选项 (第 561 页)

• FORCE_UPDATABLE_CURSORS 选项 (第 562 页)

• FP_LOOKUP_SIZE 选项 (第 563 页)

• FP_LOOKUP_SIZE_PPM 选项 (第 564 页)


• FP_NBIT_AUTOSIZE_LIMIT 选项 (第 564 页)

• FP_NBIT_ENFORCE_LIMITS 选项 (第 566 页)

• FP_NBIT_IQ15_COMPATIBILITY 选项 (第 567 页)

• FP_NBIT_LOOKUP_MB 选项 (第 568 页)

• FP_NBIT_ROLLOVER_MAX_MB 选项 (第 569 页)

• FP_PREDICATE_WORKUNIT_PAGES 选项 (第 571 页)

• FPL_EXPRESSION_MEMORY_KB 选项 (第 571 页)

• GARRAY_FILL_FACTOR_PERCENT 选项 (第 572 页)

• GARRAY_INSERT_PREFETCH_SIZE 选项 (第 572 页)

• GARRAY_PAGE_SPLIT_PAD_PERCENT 选项 (第 573 页)

• GARRAY_RO_PREFETCH_SIZE 选项 (第 574 页)

• HASH_PINNABLE_CACHE_PERCENT 选项 (第 574 页)

• HASH_THRASHING_PERCENT 选项 (第 575 页)

• HG_DELETE_METHOD 选项 (第 576 页)

• HG_SEARCH_RANGE 选项 (第 576 页)

• HTTP_SESSION_TIMEOUT 选项 (第 577 页)

• IDENTITY_ENFORCE_UNIQUENESS 选项 (第 578 页)

• IDENTITY_INSERT 选项 (第 578 页)

• IN_SUBQUERY_PREFERENCE 选项 (第 579 页)

• INDEX_ADVISOR 选项 (第 580 页)

• INDEX_ADVISOR_MAX_ROWS 选项 (第 582 页)

• INDEX_PREFERENCE 选项 (第 583 页)

• INFER_SUBQUERY_PREDICATES 选项 (第 584 页)

• IQGOVERN_MAX_PRIORITY 选项 (第 585 页)

• IQGOVERN_PRIORITY 选项 (第 585 页)

• IQGOVERN_PRIORITY_TIME 选项 (第 586 页)

• ISOLATION_LEVEL 选项 (第 587 页)

• JAVA_LOCATION 选项 (第 587 页)

• JAVA_VM_OPTIONS 选项 (第 588 页)

• JOIN_EXPANSION_FACTOR 选项 (第 588 页)

• JOIN_OPTIMIZATION 选项 (第 589 页)

• JOIN_PREFERENCE 选项 (第 590 页)

• JOIN_SIMPLIFICATION_THRESHOLD 选项 (第 592 页)

• LF_BITMAP_CACHE_KB 选项 (第 593 页)

• LOAD_ZEROLENGTH_ASNULL 选项 (第 594 页)

• LOG_CONNECT 选项 (第 594 页)

• LOG_CURSOR_OPERATIONS 选项 (第 595 页)

• LOG_DEADLOCKS 选项 (第 595 页)


• LOGIN_MODE 选项 (第 596 页)

• LOGIN_PROCEDURE 选项 (第 597 页)

• MAIN_RESERVED_DBSPACE_MB 选项 (第 597 页)

• MAX_CARTESIAN_RESULT 选项 (第 598 页)

• MAX_CLIENT_NUMERIC_PRECISION 选项 (第 599 页)

• MAX_CLIENT_NUMERIC_SCALE 选项 (第 599 页)

• MAX_CUBE_RESULT 选项 (第 600 页)

• MAX_CURSOR_COUNT 选项 (第 601 页)

• MAX_HASH_ROWS 选项 (第 602 页)

• MAX_IQ_THREADS_PER_CONNECTION 选项 (第 602 页)

• MAX_IQ_THREADS_PER_TEAM 选项 (第 603 页)

• MAX_JOIN_ENUMERATION 选项 (第 603 页)

• MAX_PARTITIONED_HASH_MB 选项 (第 604 页)

• MAX_PREFIX_PER_CONTAINS_PHRASE 选项 (第 605 页)

• MAX_QUERY_PARALLELISM 选项 (第 605 页)

• MAX_QUERY_TIME 选项 (第 606 页)

• MAX_STATEMENT_COUNT 选项 (第 606 页)

• MAX_TEMP_SPACE_PER_CONNECTION 选项 (第 607 页)

• MINIMIZE_STORAGE 选项 (第 608 页)

• MIN_PASSWORD_LENGTH 选项 (第 609 页)

• MIN_ROLE_ADMINS 选项 (第 610 页)

• MONITOR_OUTPUT_DIRECTORY 选项 (第 610 页)

• MPX_AUTOEXCLUDE_TIMEOUT 选项 (第 611 页)

• MPX_HEARTBEAT_FREQUENCY 选项 (第 612 页)

• MPX_IDLE_CONNECTION_TIMEOUT 选项 (第 612 页)

• MPX_LIVENESS_TIMEOUT 选项 (第 613 页)

• MPX_MAX_CONNECTION_POOL_SIZE 选项 (第 613 页)

• MPX_MAX_UNUSED_POOL_SIZE 选项 (第 614 页)

• MPX_WORK_UNIT_TIMEOUT 选项 (第 614 页)

• NOEXEC 选项 (第 616 页)

• NON_ANSI_NULL_VARCHAR 选项 (第 616 页)

• NOTIFY_MODULUS 选项 (第 618 页)

• ODBC_DISTINGUISH_CHAR_AND_VARCHAR 选项 (第 618 页)

• ON_CHARSET_CONVERSION_FAILURE 选项 (第 619 页)

• OS_FILE_CACHE_BUFFERING 选项 (第 621 页)

• OS_FILE_CACHE_BUFFERING_TEMPDB 选项 (第 622 页)

• POST_LOGIN_PROCEDURE 选项 (第 623 页)

• PRECISION 选项 (第 624 页)


• PREFETCH 选项 (第 625 页)

• PREFETCH_BUFFER_LIMIT 选项 (第 625 页)

• PREFETCH_BUFFER_PERCENT 选项 (第 626 页)

• PREFETCH_GARRAY_PERCENT 选项 (第 626 页)

• PREFETCH_SORT_PERCENT 选项 (第 627 页)

• PRESERVE_SOURCE_FORMAT 选项 [database] (第 628 页)

• QUERY_DETAIL 选项 (第 628 页)

• QUERY_NAME 选项 (第 629 页)

• QUERY_PLAN 选项 (第 630 页)

• QUERY_PLAN_AFTER_RUN 选项 (第 630 页)

• QUERY_PLAN_AS_HTML 选项 (第 631 页)

• QUERY_PLAN_AS_HTML_DIRECTORY 选项 (第 633 页)

• QUERY_PLAN_MIN_TIME 选项 (第 634 页)

• QUERY_PLAN_TEXT_ACCESS 选项 (第 634 页)

• QUERY_PLAN_TEXT_CACHING 选项 (第 635 页)

• QUERY_ROWS_RETURNED_LIMIT 选项 (第 636 页)

• QUERY_TEMP_SPACE_LIMIT 选项 (第 636 页)

• QUERY_TIMING 选项 (第 637 页)

• RECOVERY_TIME 选项 (第 639 页)

• RESERVED_KEYWORDS 选项 (第 639 页)

• RETURN_DATE_TIME_AS_STRING 选项 (第 640 页)

• REVERT_TO_V15_OPTIMIZER 选项 (第 640 页)

• ROUND_TO_EVEN 选项 (第 641 页)

• ROW_COUNT 选项 (第 642 页)

• RV_AUTO_MERGE_EVAL_INTERVAL 选项 (第 643 页)

• RV_MERGE_NODE_MEMSIZE 选项 (第 644 页)

• RV_MERGE_TABLE_MEMPERCENT 选项 (第 644 页)

• RV_MERGE_TABLE_NUMROWS 选项 (第 645 页)

• RV_RESERVED_DBSPACE_MB 选项 (第 645 页)

• SCALE 选项 (第 646 页)

• SNAPSHOT_VERSIONING 选项 (第 647 页)

• SIGNIFICANTDIGITSFORDOUBLEEQUALITY 选项 (第 647 页)

• SORT_COLLATION 选项 (第 648 页)

• SORT_PINNABLE_CACHE_PERCENT 选项 (第 649 页)

• SUBQUERY_CACHING_PREFERENCE 选项 (第 652 页)

• SUBQUERY_FLATTENING_PERCENT 选项 (第 653 页)

• SUBQUERY_FLATTENING_PREFERENCE 选项 (第 654 页)

• SUBQUERY_PLACEMENT_PREFERENCE 选项 (第 655 页)


• SUPPRESS_TDS_DEBUGGING 选项 (第 656 页)

• SWEEPER_THREADS_PERCENT 选项 (第 657 页)

• TDS_EMPTY_STRING_IS_NULL 选项 [database] (第 657 页)

• TEMP_EXTRACT_APPEND 选项 (第 658 页)

• TEMP_EXTRACT_BINARY 选项 (第 658 页)

• TEMP_EXTRACT_COLUMN_DELIMITER 选项 (第 659 页)

• TEMP_EXTRACT_DIRECTORY 选项 (第 660 页)

• TEMP_EXTRACT_ESCAPE_QUOTES 选项 (第 661 页)

• TEMP_EXTRACT_NAMEn 选项 (第 662 页)

• TEMP_EXTRACT_NULL_AS_EMPTY 选项 (第 663 页)

• TEMP_EXTRACT_NULL_AS_ZERO 选项 (第 664 页)

• TEMP_EXTRACT_QUOTE 选项 (第 665 页)

• TEMP_EXTRACT_QUOTES 选项 (第 666 页)

• TEMP_EXTRACT_QUOTES_ALL 选项 (第 666 页)

• TEMP_EXTRACT_ROW_DELIMITER 选项 (第 667 页)

• TEMP_EXTRACT_SIZEn 选项 (第 668 页)

• TEMP_EXTRACT_SWAP 选项 (第 669 页)

• TEMP_RESERVED_DBSPACE_MB 选项 (第 670 页)

• TEMP_SPACE_LIMIT_CHECK 选项 (第 670 页)

• TEXT_DELETE_METHOD 选项 (第 671 页)

• TIME_FORMAT 选项 (第 672 页)

• TIMESTAMP_FORMAT 选项 (第 673 页)

• TOP_NSORT_CUTOFF_PAGES 选项 (第 674 页)

• TRIM_PARTIAL_MBC 选项 (第 675 页)

• TRUSTED_CERTIFICATES_FILE 选项 (第 675 页)

• USER_RESOURCE_RESERVATION 选项 (第 676 页)

• VERIFY_PASSWORD_FUNCTION 选项 (第 677 页)

• WASH_AREA_BUFFERS_PERCENT 选项 (第 679 页)

• WAIT_FOR_COMMIT 选项 (第 680 页)

• WD_DELETE_METHOD 选项 (第 681 页)


 



--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


-------------------------------------------------------------------------------------------

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


-------------------------------------------------------------------------------------------

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------