| OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1650] | 
			Mon, 20 February 2023 15:55   | 
		 
		
			
				
				
				
					
						  
						МП
						 Сообщений: 889 Зарегистрирован: August 2022  Географическое положение: бурятский тун...
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		Здравствуйте, ВСЕ! 
 
Допиливаем наш внутренний форк IBX на предмет поддержки ftGuid (и до кучи ftBytes, ftVarBytes). 
(навеяно топиком https://www.sqlru.net/index.php/t/228/) 
Если делать это посредством классического ISC_API, то после препарирования запроса приходится ещё лезь в системные таблицы для определения чарсета поля на предмет OCTETS. 
А это лишние раундтрипы. Не критично, но на тухлом канале неприятно. 
В новомодном OO API у интерфейса IMessageMetadata, который призван заменить XSQLDA/XSQLVAR, есть метод getCharSet. 
В связи с чем вопрос: 
порождает ли этот метод обращения к серверу (к тем же системным таблицам), или же имеет всё готовое унутри, на блюдечке с голубой каёмочкой?
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1654 является ответом на сообщение #1653] | 
			Mon, 20 February 2023 17:20    | 
		 
		
			
				
				
				
					
						  
						МП
						 Сообщений: 889 Зарегистрирован: August 2022  Географическое положение: бурятский тун...
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		Dmitry KovalenkoКодовая страница CHAR/VARCHAR хранится в младшем байте XSQLVAR::sqlsubtype. Это работает начиная с IB4.0. 
SQL> create table OCTABLE(OCT CHAR(12) CHARACTER SET OCTETS);
SQL> set SQLDA_DISPLAY ON;
SQL> select OCT from OCTABLE;
INPUT message field count: 0
OUTPUT message field count: 1
01: sqltype: 452 TEXT Nullable scale: 0 subtype: 0 len: 12 charset: 1 OCTETS
  :  name: OCT  alias: OCT
  : table: OCTABLE  owner: MASTER  
isql мухлюет? 
 
зы: касаемо чарсетов БЛОБОВ я помню твой пост в "старом" форуме.
		
		
		[Обновления: Mon, 20 February 2023 17:22] Известить модератора  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1676 является ответом на сообщение #1668] | 
			Wed, 22 February 2023 18:16    | 
		 
		
			
				
				
				
					
						  
						МП
						 Сообщений: 889 Зарегистрирован: August 2022  Географическое положение: бурятский тун...
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		sim_84 писал(а) Tue, 21 February 2023 20:16Цитата:isql таки "мудит". 
isql сейчас использует OO API. И выводит не классический SQLDA, а именно метаданные входных и выходных сообщений. ну и нахера наёбывать наивных программеров? 
XSQLDA не смотрят юзеры зелёные. 
так зачем же?!  
это ж ведь очень и очень! 
Да! Да! 
Но... нет! 
©
		
		
		[Обновления: Wed, 22 February 2023 18:17] Известить модератора  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 |